Тестировщик — это специалист по обеспечению качества, деятельность которого направлена на улучшение процесса разработки ПО, предотвращение дефектов и выявление ошибок в работе продукта.
По данным ДОУ, среднему украинскому QA-инженеру 26 лет. Он имеет опыт работы от полугода (джуниор) до 5 лет (сеньор) и получает зарплату $600-2700.
Задачи и обязанности
Основная задача QA — обеспечение качества. QA-инженер фокусирует внимание на процессах разработки ПО, улучшает их, предотвращает появление дефектов и проблем (Makes sure you are doing the right things, the right way).
Процесс обеспечения качества состоит из таких этапов:
- проверка требований к продукту;
- оценка рисков;
- планирование идей по улучшению качества продукта;
- планирование тестирования;
- анализ результатов тестирования;
Внутри процесса QA выделяют процесс Quality Control — контроль качества продукта. QC-специалисты анализируют результаты тестирования и отвечают за выявление и уничтожение дефектов в продукте (Makes sure the results of what you have done is what you expected).
Еще более узкая специальность в рамках QA/QC — тестировщик ПО, который проверяет готовый продукт на наличие ошибок (багов) и несоответствие требованиям, и затем документирует найденные дефекты и пути их воспроизведения. Тестирование — это один из этапов обеспечения и контроля качества.
Есть 4 основные роли:
- Test Analyst — занимается статическим тестированием требований: проверяет, насколько они полны, однозначны, непротиворечивы etc;
- Test Designer — создает набор тестов на базе требований, планирует конфигурации, необходимые для тестирования;
- Test Executor — выполняет заранее подготовленные тесты, документирует найденные ошибки и шаги их воспроизведения;
- Test Manager — скорее управленец, чем инженер. Планирует и контролирует работы, связанные с тестированием: оценки сроков, работу над планом-графиком, контроль покрытия требований тестами, постановку задач членам команды, коммуникацию со стейкхолдерами).
«QA должен точно понимать, в какой момент за дело возьмется тестировщик, и успеть подготовить к этому времени план тестирования, тестовую документацию, тестовое окружение».
«Тестировщик знает, как система работает, где она не работает, и где работает не так, как задумано. Он умеет определить, чем вызвана ошибка, или хотя бы знает, где это искать. Чем тестировщик опытней, тем более тяжелой и интересной ему кажется работа».
В Украине различия между должностями QA и тестировщика смазаны, и на практике это одно и то же. Хотя теоретически тестировщик тестирует продукт как результат, а QA работает над обеспечением процессов, которые могут повысить качество ПО в целом.
«Если бы мы говорили о медицине, то QA занимались бы профилактикой, а тестировщики — диагностикой. Но так сложилось, что эти две разные профессии стали синонимами. Даже в тест-планах для иностранных заказчиков тестировщиков записывают как QA Engineers»
В круг обязанностей QA-инженера входит:
- Анализ и уточнение требований с заказчиком или бизнес-аналитиками;
- Планирование процесса тестирования;
- Написание тест-кейсов (сценариев тестирования);
- Тестирование функционала;
- Идентификация проблемных мест, внесение их в трэкинговую систему;
- Обсуждение фиксов с разработчиками;
- Отслеживание жизненного цикла ошибок;
- Ре-тест починенных дефектов;
- Анализ тестирования;
- Оптимизация процесса тестирования;
- Анализ процессов работы в команде;
- Улучшение процессов;
- Ведение тестовой документации.
Типичный рабочий день QA-специалиста включает в себя:
- Написание тест-кейсов, тестирование, документирование ошибок (в зависимости от фазы проекта);
- Проверка баг-трекинговой системы на предмет появления исправленных ошибок;
- Стенд-ап митинги;
- Изучение требований, их уточнение у заказчика;
- Активное общение с разработчиками;
- Оформление тестовой документации.