Лекция №13Тестирование ПО
Тестирование — один из основных этапов разработки ПО, решающий две задачи:
- выяснить, соответствует ли программный продукт ожиданиям заказчика и конечных пользователей (процесс валидации);
- устранить содержащиеся в программной системе ошибки (поиск дефектов).
В рамках классических моделей жизненного цикла тестирование следует за конструированием. В более современных подходах (например, в гибкой методологии разработки) тестирование происходит одновременно с конструированием; оно помогает уточнить и/или выявить требования к программной системе. Существует даже подход к разработке ПО, при котором тесты пишутся до (а не после) основного кода — test-driven development.
Выделяют три фазы тестирования ПО:
- тестирование при разработке, направленное, прежде всего, на устранение дефектов ПО;
- тестирование выпусков, предназначенное для проверки корректности всей системы в целом;
- пользовательское тестирование, целью которого является проверка работоспособности системы в окружении пользователя.
Различным фазам тестирования соответствуют различные методы и инструменты. Например, при разработке имеет смысл тестировать элементарные составляющие программной системы, такие как методы или функции при помощи модульного тестирования. Тестирование выпусков сосредоточено на проверке сценариев использования ПО и нефункциональных требований (например, производительности). Наконец, при помощи альфа-тестирования, бета-тестирования и других видов пользовательского тестирования делается вывод, соответствует ли программная система ожиданиям пользователей и готов ли заказчик оплатить ее стоимость.