Понятие тестирования программного обеспечения
В учебной литературе, например [1-4], даны различные определения для термина «тестирование программного обеспечения». Обобщив их, можно привести следующее определение:
Тестирование – это один из видов деятельности в процессе разработки программного обеспечения (ПО), заключающийся в проверке соответствия между реальными результатами выполнения программы, полученными на конечном множестве исходных данных, и ожидаемыми, заранее известными результатами (называемыми эталонными).
Целью такой проверки является установление соответствия поведения программы, ее свойств и характеристик требованиям.
В ходе тестирования осуществляется контролируемое выполнение программы для выявления в ней дефектов (т.е. фактов расхождения с требованиями). Тестирование направлено на минимизацию количества дефектов в программе.
Задача тестирования – определение условий, при которых проявляются дефекты системы, и протоколирование этих условий. В процесс тестирования обычно не входит выявление конкретных дефектных участков программного кода и никогда не входит исправление дефектов – это задача отладки, которая выполняется по результатам тестирования системы.
Отладка – процесс нахождения ошибок, являющихся причинами дефектов в программе, и исправления этих ошибок. Отладка начинается после того, как в ходе тестирования были обнаружены дефекты.
Тестирование является одним из наиболее устоявшихся способов обеспечения качества разработки ПО и входит в набор эффективных средств современной системы обеспечения качества программного продукта.
Чтобы избежать путаницы, необходимо также определить понятия «верификация» и «валидация», связанные с тестированием ПО.
Верификация – процесс, направленный на проверку степени соответствия разрабатываемой программной системы требованиям. Понятие «верификация ПО» является более общим, чем «тестирование ПО». Процесс тестирования является составной частью процесса верификации.
Валидация – это проверка соответствия программной системы ожиданиям заказчика. Целью валидации является доказательство того, что в результате разработки системы достигнуты те цели, которые планировали достичь благодаря ее использованию.
Термины «тестирование», «верификация» и «валидация» означают разные уровни проверки корректности работы программной системы.
Проведенное тестирование само по себе не может гарантировать полного отсутствия дефектов в ПО. Однако, в сочетании с другими процессами в рамках верификации и валидации (например, направленными на устранение противоречивости и неполноты проектной документации), грамотно организованное тестирование дает гарантию того, что система удовлетворяет требованиям во всех предусмотренных ситуациях.
Дата добавления: 2021-04-21; просмотров: 398;