Тесты классифицируются по уровню тестирования на:
- модульное тестирование – позволяет проверить функционирование отдельно взятого элемента системы (модуля);
- интеграционное тестирование – позволяет проверить взаимодействие между программными компонентами и модулями. Обычно интеграционное тестирование базируется на инкрементальном подходе, т.е. тесты проводятся не по окончании работ, а параллельно с выполнением различных стадий проектирования.
- системное тестирование – подразумевает тестирование всей системы в целом. Данная форма тестирования фокусируется на нефункциональных требованиях, которые должны быть проведены на предшествующих стадиях тестирования модульного или интеграционного. К таким требованиям относят: безопасность, производительность, точность, надежность и т.д.
Классификация тестов по целям
- приемочное тестирование, при котором проверяется поведение системы на предмет удовлетворения требований заказчика;
- установочное тестирование – для проверки возможности инсталляции системы в целевом окружении;
- α и β-тестирование – данные виды тестирования основываются в поиске ошибок и несоответствия при пробном использовании программного средства, при этом α-тестирование – это внутреннее пробное тестирование, а β-тестирование – пробное использование с привлечением отобранных внешних пользователей;
- функциональные тесты (тесты соответствия) – этот вид тестирования используется для проверки соответствия системы предъявляемым к ней в ТЗ или спецификации требованиям;
- достижение оценки надежности – предполагает оценку надежности функционирования программного средства, и идентифицировать основные причины сбоев;
- регрессионное тестирование – предполагает проверку программного средства после внесения модификаций;
- тестирование производительности – предполагает оценку производительности ПС;
- нагрузочное тестирование – данный вид тестирования предполагает увеличение нагрузки проверяемой системы вплоть до предельных заявленных характеристик с тем, чтобы определить стабильность и производительность ПС во всех режимах функционирования;
- сравнительное тестирование предназначено для сравнения характеристик различных версий ПС;
- восстановительные тесты используются для проверки возможности рестарта программной системы в случае неправильного выхода из нее;
- конфигурационное тестирование применяется в том случае, если в программе предусмотрена работа в различных режимах (конфигурациях) с предоставлением различных прав доступа. Данный вид тестов направлен на проверку работоспособности системы в каждом из этих режимов;
- тестирование удобства и простоты использования – предназначено для оценки эргономики, доступности, понятности ПС, а также на оценку его документированности;
- разработка, управляемая тестированием – данный подход является средним между видом тестирования и подходом к разработке ПС и заключается в том, что тесты включается в требования к программному средству и на каждом этапе жизненного цикла проводится тестирование, позволяющее заранее исключить различные ошибки.