Среди методов тестирования выделяют три основных:
· White box
· Black box
· Grey box
White box (Тестирование методом белого ящика, иногда называют прозрачным ящиком)
На вход подаем тест кейс, смотрим внутренний алгоритм и получаем данные на выходе .
Тестированием белого ящика обычно занимаются разработчики(Так как это тестирование кода).
Black box (Тестирование методом черного ящика)
Проверяется функциональность приложения, не заглядывая в его внутренние структуры или механизмы.
Grey box (Серый ящик или полупрозрачный)
Метод, когда частично известны внутренние алгоритмы системы.
В каждом из этих методов есть свои виды тестирования:
· Функциональное тестирование
· Нефункциональное тестирование
· Тестирование связанное с изменениями
Функциональное тестирование – это тестирование ПО с целью проверки реализации функциональных требований, то есть способности ПО в определенных условиях решать задачи, нужные пользователям.
Функциональные требования определяют, что именно делает ПО, какие задачи оно решает.
Подвиды функционального тестирования:
Ø Проверка функций ПО
Ø Тестирование безопасности
Ø Тестирование взаимодействия (интеграция)
Проводится проверка слаженного взаимодействия модулей или компонент
Ø Негативное тестирование
В нефункциональное тестирование выделяют несколько видов:
Ø Нагрузочное тестирование
Ø Тестирование стабильности и надежности
Ø Тест установки/удаления
Ø Юзабилити тест
Ø Тест на отказ и на восстановление
Ø Конфигурационное тестирование
В нагрузочном тестировании существуют подвиды: Load , Performance и Stress
· Нагрузочное тестирование (Load)
· Нагрузочное тестирование измеряет время отклика, когда приложение подвергается большему числу пользователей. Обычно начинается с малых чисел и постепенно увеличивается за определенный период времени, пока не достигнет желаемой нагрузки на систему, а затем замедляется.
· Тестирование производительности (Performance)
· Измеряет время отклика приложения с ожидаемым числом пользователей. Целью этого является получение данных о том, что приложение работает в нормальных условиях.
· Stress тестирование
· Стресс-тестирование или тестирование на выдержку подобно нагрузочному тестированию, но мы возобновляем нагрузку на сервер в течение длительного периода, скажем, на 1 час.
· Цель стресс-тестирования состоит в том, чтобы гарантировать, что при постоянной нагрузке в течение длительного времени серверы не срываются, хотя и работают медленно.
. Тестирование стабильности и надежности (Stability / Reliability Testing)– это проверка работоспособности приложения при длительном (многочасовом) тестировании со средним уровнем нагрузки. Время выполнения операций может играть в данном виде тестирования второстепенную роль. При этом на первое место выходит отсутствие утечек памяти, перезапуском серверов под нагрузкой и другие аспекты, влияющие именно на стабильность работы.
Юзабилити тестирование –тестирование системы на удобство использования. Долгий и сложный процесс вытачивания интерфейса, удобство, сбор обратной связи.
Проверяется интерфейс, дизайн, удобство и т.д.
Конфигурационное тестирование – специальный вид тестирования, направленный на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и т.д.)
Цели:
· Определить оптимальную конфигурацию оборудования, обеспечивающую требуемые характеристики производительности и времени реакции тестируемой системы.
· Проверить объект тестирования на совместимость с объявленным в спецификации оборудованием, операционными системами и программными продуктами третьих фирм.
Связанное с изменениями проверка, что после внесения изменений ничего не сломалось и программа работает, так как должна.
Первый подвид тестирования связанного с изменениями то дымовое тестирование (Получаем на вход новый релиз, запускаем его и смотрим «задымится» оно или нет). То есть это проверка основного функционала после запуска.
Понятие дымовое тестирование пришло с первых ЭВМ, когда устройство втыкали в розетку и смотрели, пойдет дым или нет. И термин «задымится» перешел в тестирование.
Следующий подвид это санитарное тестирование .
После исправления ошибок в приложении проверяем что исправленные баги исправлены и не появилось новых. Смотрим насколько хорошо приложение «подлечили».
Следующий подвид тестирование сборки
Тестирование, направленное на определение соответствия, выпущенной версии, критериям качества для начала тестирования.
Последний вид это регрессивное тестирование.
Проверка всего имеющегося функционала по всем тестам.
Основной этап в тестировании, когда проверяется все.
Существует выражение: «На регресс, как на праздник».