Поделиться:

Виды тестирования программного обеспечения

Найти уязвимости, неработающие функции или алгоритмы, приводящие к ошибкам раньше, чем их найдут пользователи, а также убедиться, что приложение способно работать в заданных условиях, помогут тесты. Выделяют разные типы проверок, и не все они равноценны. Но каждая часть разработки, от написания функции до внедрения приложения в новую среду, должна быть протестирована.

Автоматическое или ручное тестирование

Убедиться в том, что все опции работают правильно и что каждая кнопка приложения на месте, может человек. Тесты в ручном режиме затратны, но могут показать неочевидные проблемы.
Автоматическое тестирование выполняется компьютером. Его проще запускать каждый раз после внесения правок в код.

Разновидности тестов

По типу тесты делят на:
   
 Модульные. Низкоуровневая проверка отдельных функций, структур данных, подключенных модулей. Самый нетребовательный к ресурсам и просто выполняемый вариант тестов.
   
 Интеграционные. Так называют тестирование модулей и сервисов, которые должны работать вместе. Проверка невозможна без запуска приложения, а потому такие тесты более затратны.
   
 Функциональные. На этом этапе проверяют соответствие бизнес- требованиям: насколько реализуем запрос в определенных условиях. В отличие от интеграционного, здесь важен результат, а не только возможность отправить и принять запрос.
   
 Сквозные. Повторив действия пользователя, можно узнать, сталкивается ли он с проблемами, будет ли выполнен его запрос. Это достаточно дорогие тесты. Рекомендуется проводить больше низкоуровневых проверок и подготовить несколько сценариев для подобных испытаний.
   
 Приемочные. Проверки, отвечает ли продукт требованиям заказчика. Может быть протестировано сразу несколько функций: реакция приложения на действия пользователя, потребность в ресурсах и производительность системы при работе.
   
 Оценка производительности. Оценить, способно ли приложение работать в системе, не превышает ли нагрузка допустимую по ТЗ, поможет этот вид тестов. Показывает время отклика после запроса к базе данных, где содержится большой объем информации, или множество запросов за небольшой промежуток времени. По результатам можно судить о соответствии требованиям, указанным в задании, и стабильности работы при повышенном трафике.
   
 Smoke-тесты. Скоростная проверка основных функций приложения. Она проводится быстро, обычно, запускается после новой сборки или развертывания. После успешного завершения smoke-тестов можно начинать более затратные по времени и ресурсам проверки.

Автоматизация тестов

Для современных языков программирования разработаны специальные модули, которые помогут писать и запускать тесты. Часть проверок может быть осуществлена запуском скриптов из терминала. Также можно использовать специальные серверы, например Bamboo, которые помогут отслеживать, соответствует ли программа всем требованиям после каждой сборки.

Читать статью Когда в компании нужен тестировщик
Тестировщик — недооцененная профессия, к которой не все компании проявляют интерес даже в IT-секторе.…