Каждый программист, который только делает первые шаги в профессии, неизбежно сталкивается с понятием «тестирование кода».
Интуитивно понятно, что это процедура, направленная на поиск ошибок, несоответствия заявленных данных и исполняемых, оценку функциональности программы.
Однако, что конкретно подразумевается под тестированием, какие существуют виды и надо ли вам постигать эту непростую науку?
На этой фотографии мы можем увидеть все виды тестирования ПО, разделенные по категориям:
Остановимся на наиболее популярных:
-
Функциональное тестирование - когда тестируется приложение целиком.
-
Нефункциональное тестирование - проверка на соответствие нефункциональным требованиям: удобство, маштабируемость, производительность, безопасность, надежность.
-
Модульное / юнит-тестирование – проверка корректной работы одной функции, одной задачи. Этот вид тестирования могут выполнять сами разработчики.
-
Интеграционное (Integration) – проверка взаимодействия между несколькими единицами ПО.
-
Системное - конечная обкатка вашего приложения. Как правило выполняется в ручном режиме «научного тыка».
-
Нагрузочные (Load) – тестирование максимального количества запросов, которые вы тянете. Миллион запросов по 1 мегабайту.
-
Стресс – какой самый большой или самый сложный реквест. 1 файл на максильное количество мегабайт
-
Альфа тестирование:
-
Регресс - оценка работоспособности уже проверенного кода после внедрения в него изменений. Актуально для динамических систем, где появление новых данных может реально повлиять на работоспособность всего кода. Такой тест нужен нам чтобы посмотреть не сломал ли ты другие важные фичи.
-
Смок (smoke) (встречаются названия дымное тестирование, intake test , build verification test) - маленький тест похожий на интеграционный чтобы быстро прогнать перед выкладкой в продакшн
-
2.4.5 Tests Theme Folder | Back To iOSWiki Contents | 2.4.5.2 Driven Development Theme