По истории информатики на тему
Санкт Петербургский государственный университет информационных технологий механики и оптикиРеферат По истории информатики на тему“История развития методологии тестирования при разработке программного обеспечения”Санкт-Петербург 2009 гОглавлениеВведениеЗа последние десятилетия компьютерные системы и выполняемое на них программное обеспечение проникло во все области человеческой деятельности. Распространение программных систем достигло такой стадии, когда мы впадаем во все большую зависимость от успешной разработки и доставки программного обеспечения. По мере возрастания ставок на рынке программного обеспечения, все отчетливей вырисовывается потребность разработки большего числа программных продуктов за меньшие промежутки времени. Это обстоятельство предъявляет повышенные требования к разработчикам и тестировщикам программного обеспечения не только в плане ускоренного производства программных продуктов, но и в плане обеспечения должного уровня их качества.Понятие тестированияТестировать можно все: работу программы качество ее кода и понятность комментариев быстродействие устойчивость под большой нагрузкой расход ресурсов (памяти, диска, потери этих ресурсов) взаимодействие с другими программами стабильность работы возможность работы на других платформах удобство интерфейса документацию к программе (смысловые и грамматические ошибки, понятность и полноту) работу через сеть, работу аппаратного обеспечения и т.п. Тестирование – процесс выявления фактов расхождений с требованиями (ошибок). Этот процесс заключается в проверке соответствия программного продукта или сайта заявленным характеристикам и требованиям, требованиям эксплуатации в различных окружениях, с различными нагрузками, требованиям по безопасности, требованиям по эргономике и удобству использования. В зависимости от направленности тестирования, проверяется та или иная особенность приложения или веб-сайта. Как правило, процесс тестирования документируется в виде тестового плана и тест-кейсов. Тестовый план описывает стратегию тестирования, методы и средства тестирования, порядок тестирования и другие его особенности. Тест-кейсы описывают последовательные пошаговые операции проверки функционала программы или веб-сайта. Это минимальные элементарные операции сверки для каждой функции или элемента приложения. Как правило, на фазе тестирования осуществляется и исправление идентифицированных ошибок, включающее:локализацию ошибок нахождение причин ошибок корректировку программы. Тестирование разделяют на статическое и динамическое:Статическое тестирование выявляет неверные конструкции или неверные отношения объектов программы (ошибки формального задания) формальными методами анализа без выполнения тестируемой программы. Динамическое тестирование осуществляет выявление ошибок на выполняющейся программе. Тестирование заканчивается, когда выполнилось или "прошло" успешно достаточное количество тестов в соответствии с выбранным критерием тестирования. Тестирование решает несколько основных задач: Дает уверенность в качестве конечного продукта, подтверждает что все заявленные функциональные требования реализованы, приложение им соответствует и не имеет ошибок в программном коде; Подтверждает, что приложение способно выполняться во всех заявленных режимах и на всех поддерживаемых ОС или Web-браузерах корректно; Гарантирует, что хранимые и обрабатываемые данные надежно защищены от постороннего доступа и "взлома"; Определяет, какая максимальная нагрузка на сервер, локальную сеть, БД может быть корректно обработана приложением; Позволяет убедиться в том, что пользователь может "интуитивно" использовать ваш продукт или услугу не путаясь в сложных переплетениях интерфейсов. Эволюция тестированияНа ранних стадиях тестирование представляло собой довольно примитивный процесс, и совсем не соответствовало выполнению тех задач, которые были для него поставлены, а именно: повышение качества путем покрытия максимальной функциональности продукта, уменьшение времени и снижение затрат на тестирование. На сегодняшний день тестирование оставило позади два этапа своего развития. На первом этапе тестирование представляло собой малопонятную область. Оно являлось лишь малооплачиваемым дополнением к процессу разработки, стартовой точкой для новичков, стремящихся повысить уровень своих знаний и достичь звания разработчика. Существующие инструменты и методы тестирования предоставляли возможность для приобретения навыков автоматизации, однако они были дорогостоящими, сложными и неэффективными для достижения этих потребностей. На этом этапе исполнительное...