Когда люди скачивают приложение или заходят на веб-сайт, они ожидают от программы определенного качества: удобно пользоваться, стабильно и быстро работает. Чтобы клиенты не ушли к конкурентам из-за того, что приложение «выкидывает на авторизацию» каждые 15 минут, разработчики стараются выпускать максимально качественные продукты.
Каждая компания определяет для себя стандарты качества и решает, насколько законченный продукт планирует выпускать в продакшн. В зависимости от потребностей и бюджета для поддержания стандартов нанимают QC-, QA-инженеров или тестировщиков.
Например, на одном из наших аутстаф-проектов работают два QA-инженера. Они участвуют во всех этапах разработки: от написания технического задания до релиза. Подробнее про проект в другой статье.
Здесь рассказываем, чем отличаются QC-, QA-инженеры и тестировщики. В конце статьи — сравнительные таблички, которые помогут понять, какой специалист нужен на проекте.
Чем занимается тестировщик
С первого раза написать программу, которая работает на 100% без багов, практически невозможно, поэтому перед релизом целого продукта или обновления функции тестируют.
Тестирование — завершающий этап разработки, перед релизом.
Тестировщики занимаются только проверкой функций. В остальные процессы разработки не вникают, причины ошибок не анализируют. Обычно они проверяют пользовательские сценарии по готовым чек-листам и ищут несоответствия между тем, что реализовали разработчики и что было в требованиях заказчика.
Например, нужно проверить лендинг с формой для обратной связи. Тестировщик полностью имитирует действия пользователя: заходит на сайт, пишет в форму e-mail, имя и нажимает «отправить». Если форма работает как должна, отмечает в чек-листе, что тест пройден. Если форма не работает или работает не так, как написано в требованиях, отмечает, что тест не пройден. Тестировщик не проверяет, что отвечает сервер, просто описывает шаги воспроизведения ошибки в баг-репорте.
В отделе по обеспечению качества тестировщик — новичок в профессии. У него нет глубоких технических знаний и нужна помощь опытного наставника. Уровня знаний тестировщика хватает для проектов-прототипов, где достаточно добиться уровня MVP. Для проверки гипотезы нет необходимости тратить бюджет на квалифицированных QC- и QA-инженеров.
В компаниях, где нет тестировщика, его роль может временно исполнять любой из сотрудников, который хорошо знает требования к продукту. Прототипы или фичи для внутреннего пользования нередко тестируют сотрудники, которые заказывали разработку.
Чем занимаются QC-инженеры
QC — это контроль качества. QC engineer, как и тестировщик, подключается к проекту, когда разработка завершена. Он проверяет, что продукт получился таким, как хотел заказчик.
У QC больше знаний и навыков, чем у тестировщика: он сам составляет чек-листы, может проанализировать ответ сервера. Это самостоятельный и нередко опытный сотрудник, которому не требуется наставник.
Задачи инженера по контролю качества:
- составляет чек-листы и тест-кейсы на основе требований, которые написал аналитик;
- тестирует продукт на соответствие требованиям;
- иногда проводит регрессионное тестирование — если это нужно на проекте и если у QC достаточно знаний;
- иногда анализирует причины ошибок через логи сервера — зависит от уровня: junior или middle;
- может проводить проверки с помощью автотестов — если позволяет квалификация, умеет запускать автотесты и анализировать результат;
- создает отчеты об ошибках — баг-репорты.
Основная задача QC — тестировать, поэтому их часто называют QC-тестировщиками.
Если в процессе тестирования QC находит баги, он оформляет баг-репорт и возвращает задачу разработчику. После исправления снова тестирует и, если все корректно, передает в релиз.
Чем занимаются QA-инженеры
QA — обеспечение качества. QA engineer — специалист, который помогает выпускать качественный продукт. Он участвует во всех этапах работы над проектом: аналитика, разработка, тестирование, проверка функций в проде, помощь техподдержке в нахождении причин багов.
Задачи инженера по обеспечению качества:
- анализирует требования и дает рекомендации аналитику;
- пишет документацию по проекту: план тестирования, чек-листы, тест-кейсы, составляет отчеты по итогам проверок;
- проверяет новые функции на соответствие требованиям заказчика и ожиданиям пользователей;
- проводит регрессионное тестирование всего сервиса, чтобы убедиться, что новые функции никак не поменяли работу других разделов;
- проводит проверки с помощью автотестов. Некоторые QA могут писать несложные автотесты самостоятельно;
- если находят ошибки, ставят задачи на доработку программистам;
- после релиза дополнительно тестируют обновления в проде — среде с реальными, не тестовыми данными;
- ищут причины ошибок, когда пользователи обращаются с проблемой в техподдержку.
Частично работа QA совпадает с QC. Например, QA тоже тестирует фичу на соответствие требованиям заказчика. Обычно QA проводит больше тестов, чем QC, — не только функциональные, но и нефункциональные, хорошо умеет тестировать бэк.
Какие еще тесты проводят QA, мы подробно описали в статье «Как QA-инженеры тестируют системы в OrbitSoft».
Когда на проекте нужен тестировщик, QA, а когда — QC
QC знает и может больше, чем тестировщик. А QA — еще больше, чем QC. Но это не означает, что всем нужны только QA. Для разных проектов нужны разные специалисты.
Тестировщик, как правило, новичок в профессии, которому нужен наставник. QA, QC — специалисты одного уровня, но с разным набором навыков. Свою работу middle QC знает хорошо, но выполнить задачи сверх этого не сможет. Например, QC вряд ли сможет заметить ошибку в логике на этапе проектирования. Не все QC умеют запускать автотесты.
Кто нужен на проекте, зависит от комбинации факторов: тип проекта, стандарты качества, бюджет.
Обязанности разных специалистов по качеству
Как понять, какой специалист по качеству нужен на проекте
Вывод: тестировщик, QA или QC — зависит от задачи
- Если продукт сложный и аналитикам, разработчикам, техподдержке нужна помощь, нанимайте QA.
- Если продукт несложный и достаточно контролировать соответствие документации, нанимайте тестировщика или QC.
- Если проект уровня MVP или для внутреннего пользования, привлекайте к тестированию сотрудников.
- Если задач больше чем на одного сотрудника, проанализируйте и наймите нескольких специалистов разного уровня. Лучше пригласить в проект QA и 2 тестировщиков, чем 8 тестировщиков: QA подстрахует разработчиков и аналитиков, тестировщики с опытным наставником через год станут QC.
Чтобы сэкономить время и деньги на самостоятельный подбор кадров, рассмотрите аутстаф. В OrbitSoft есть тестировщики, QC- и QA-инженеры для проектов любого масштаба.
Telegram
WhatsApp
+7 499 321-59-32
contact@orbitsoft.com