QA представляет собой процесс, предназначенный контролировать и обеспечивать качество продукта. Достигается это благодаря тест-кейсам, применяемых на всех этапах разработки. Производится подобное тестирование вручную и занимает большое количество времени, то вопрос об автоматизации неизбежен. В чем заключаются особенности Automation QA?n
«Плюсы» автотестов
Специалисты считают, что наиболее оптимальный вариант проверить разрабатываемый код – это написать автотесты. Именно они представляют подходящий инструмент, помогающий улучшить качество разрабатываемой программы. Такой способ предоставляет ряд преимуществ перед ручным тестированием:n
- быстроту обратной связи;
- проверки сущности на большой выборке и высокой скорости;
- уверенность в завершении процесса проверки.
К тому же не нужно учитывать, когда пишутся подобные автотесты: перед разработкой кода либо после. Это удобно, так как код дорабатывается, а благодаря таким тестам, пропадает боязнь поломать уже существующую функциональность.n
Уровни тестов и категории тестирования
QA-отделу в этом случае удобно руководствоваться Testing Quadrants, который позволяет разбить виды тестирования на 4 категории, в зависимости от уровня тестов и объекта проверки.nn1- тестируется реализация продукта, создается страховочная сеть для команды разработчиков (модульные и интеграционные тесты низкого уровня, полностью автоматизированные).nn2 — тестируются бизнес-функции программного продукта, с последующим созданием страховочной сети для команды разработчиков (например, Examples и Story Tests).nn3 — тестируются бизнес-функций программного продукта, критичные для восприятия пользователя. К ним относят высокоуровневые тесты для:n
- различных исследований;
- сложных сценариев применения готового программного продукта;
- юзабилити (удобство использования);
- альфа-/бета- тестирования.
4 – тестируется реализация программного продукта, критичная для его восприятия будущими пользователями. Понадобиться использование специальных инструментов, которые пишутся в зависимости от индивидуальных характеристик определенного проекта. Сюда входят тесты:n
- нагрузочные;
- на производительность;
- на надежность системы.
Первые два уровня автоматизации тестирования находятся полностью в компетенции команды разработчиков. Это объясняется простотой создания автотестов. Высокоуровневыми тестами занимается QA-отдел, а инфраструктурой для них — DevOps-отдел.n
QA-отдел и его обязанности
QA-отдел, чтобы проконтролировать качество программного продукта, выполняет определенные обязанности. К ним следует отнести:n
- формирование Examples и Story Tests на этапе общения разработчиков с бизнесменами;
- оформление и проведение тестов высокого уровня для исследований, сложных сценариев;
- тестирование юзабилити;
- обратная связь с пользователями.
Также функцией QA-отдела считается помощь команде разработчиков. Но это касается только автотестов низкого уровня.n
Автоматизация QA, CD, CI, обращайтесь [email protected]