Qa специалисты: QA Engineer — что это за профессия и как стать QA инженером

Зачем нужны тестировщики и кто такие QA-специалисты / Skillbox Media

#статьи

  • 8

Зачем в команде тестировщик, если проверить продукт могут сами программисты и менеджеры? Оказывается, всё не так однозначно.

Vkontakte

Twitter

Telegram

Скопировать ссылку

 vlada_maestro / shutterstock

Александр Романов

За последние 17 лет прошёл весь путь от начинающего программиста до CTO в крупных проектах. Специализируюсь на стартапах и работе с удалёнными командами.

Начем с того, что QA-инженер — одна из самых недооценённых профессий в нашей индустрии. Зарплаты тестировщиков обычно намного меньше, чем зарплаты программистов. Соответственно, эта сфера меньше привлекает талантливых людей. А если уж они и попадают в неё, то стремятся как можно быстрее продвинуться в разработку или управление проектами, чтобы зарабатывать больше.

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

Чтобы понять эту мысль, давайте разберём, как в теории должен происходить процесс разработки.

  • Идеальный product-manager создает максимально детализированный спек продукта и передаёт его идеальному дизайнеру.
  • Идеальный дизайнер, в свою очередь, рисует продуманные до мельчайших деталей UI- и UX-мокапы.
  • Техлид компании распределяет работу между разработчиками.
  • Идеальные разработчики в кратчайшие сроки (и, разумеется, без багов) имплементируют спек, тщательно проверяя и документируя свой код.
  • Идеальные QA-инженеры пишут тест-план на основе детального спека и сверяются с UI-диаграммами, полученными от дизайнера.
  • Проверка продукта становится тривиальной задачей и он выходит в продакшн.

Если это описание вызвало у вас слёзы умиления, то я с вами. Потому что хороших продюсеров вообще очень мало, а тех, кто способен написать детальный спек, — единицы. Программисты редко видят картину настолько, чтобы уже на стадии имплементации замечать в спеках ошибки. Особенно если они не находятся внутри одного конкретного модуля, над которым сейчас работают.

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

Тестировщики должны понимать систему в целом. Зачастую они единственные люди в организации, которые на это способны. По мере увеличения сложности продукта задача становится всё более и более трудоёмкой. Время проведения полной регрессии продукта растет экспоненциально с количеством взаимосвязанных модулей. Изменения в одной из частей системы могут непредсказуемым образом отразиться на поведении остальных.

Для понимания всех этих взаимосвязей, без которого легко пропустить в продакшн серьёзные баги, требуются время, знания, внимание и опыт. Со временем у QA вырабатывается интуиция, которая необходима, поскольку полная проверка всех возможных сценариев слишком трудоёмка и иногда попросту невозможна. Это означает, что работа тестировщика не может быть ограничена механическим исполнением тест-плана.

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

От редакции: На наш взгляд не стоит говорить о QA-специалистах как о некой единой группе. Во-первых, в сложных проектах обычно есть системный архитектор, который видит проект в целом. А во-вторых, у тестировщиков может быть разный уровень задач. Часто тестирование сводится к прогону типовых и небольшого количества нетиповых пользовательских сценариев. Понятно, что занимающиеся этим специалисты не будут стоить дорого. Но такого шаблонного тестирования зачастую достаточно (особенно для обновляющихся продуктов, а не создаваемых с нуля) либо оно снимает основной объём проблем. Нам кажется, что потому профессия и не становится более заметной на рынке, что основной объём задач тестирования покрывается, так сказать, «минимальными версиями специалистов».

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

Это очень важный момент. Если в организации нет QA-отдела, для того чтобы понять, как ведёт себя конкретный элемент системы, надо найти разработчика, который его писал, и надеяться на то, что он помнит, что и как он делал пару месяцев назад. Это в том случае, если он всё ещё работает в компании.

От редакции: Отметим, что чаще всего документация, независимо от этапа разработки, пишется на основе кода, а тесты — уже на основе документации. Далее, в зависимости от уровня компетентности тестировщиков, документация может пополняться. Утверждать, что тестировщик берёт код, тестирует и на основе своих опытов пишет доки, — всё же слишком категорично.С утверждением «если нет QA, то и не понять, как ведёт себя элемент» тоже можно поспорить. Правила разработки требуют, чтобы программисты комментировали и документировали код. Если код не задокументирован — проблема не в отсутствии QA-службы, а в том, что весь процесс разработки построен криво и неуправляемо.

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

Но и это ещё не всё. Тестировщик обязан заметить, если каким-то функционалом неудобно пользоваться. Что он непонятен или не соответствует существующим стандартам. Нужно уметь думать как пользователь и смотреть на продукт его глазами и свободно ориентироваться в предметной области продукта.

У тестировщика должно быть отличное понимание процессов в организации, чтобы знать, к кому обратиться с вопросом и кому перевести баг. И, конечно, умение эффективно общаться с разработчиками и продактами, с каждым говоря на его языке.

Если бы Супермен работал в IT, он был бы тестировщиком.

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

Это неправильно. Тестировщикам требуется непоколебимый авторитет: когда они что-то говорят, все должны внимательно слушать и немедленно исполнять. QA-специалисты должны влиять на процессы и присутствовать на всех совещаниях на стадиях планирования и разработки. К их мнению стоит прислушиваться на всех этапах проектирования.

От редакции: Приведённый пример — в большей степени о взаимодействии отделов. Так будет происходить в любой организации, где есть деление на отделы с внутренней приоритезацией задач. Руководитель отдела расставил очередность, а тут приходит запрос от другого отдела. Никто не возьмётся за чужую задачу, пока руководитель не внесёт её в список задач отдела.То есть решение не столько в том, чтобы тестировщик напрямую ставил задачи программистам, сколько в том, чтобы урегулировать это на уровне процессов: передачи информации от отдела к отделу и приоритезации, которая оговаривается заранее. Потому что хотелки тестировщиков не всегда критически важные.

«У нас все проверяют продукт, даже CEO занимается этим», — часто слышу я. Прекрасно! Но CEO не всегда может правильно открыть баг в системе, перепроверить его, когда он будет закрыт, и проследить, что именно входит в каждый конкретный релиз. Разработчики сами проверяют свой код? Несомненно, так и должно быть. Но просить программиста найти то, о чём он не подумал на стадии написания кода, — по меньшей мере чересчур оптимистично. У вас автоматизированы QA-процессы? Прекрасно. Это может упростить жизнь тестировщику, но никакое автотестирование не сможет заменить человека.

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

Читайте также:

Vkontakte

Twitter

Telegram

Скопировать ссылку

Профессия Инженер по тестированию

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

Узнать про курс


Учись бесплатно:
вебинары по&nbspпрограммированию, маркетингу и&nbspдизайну.

Участвовать

Научитесь: Профессия Инженер по тестированию
Узнать больше

Количество доменов из зоны .ru уменьшилось до уровня ниже 5 млн
19 янв 2023

Число хакерских атак на российские компании выросло в три раза
17 янв 2023

Минцифры готовит пакет мер по возвращению уехавших из России IT-специалистов
13 янв 2023

Понравилась статья?

Да

Разница между тестированием, контролем и обеспечением качества |

Тестирование и обеспечение качества (Quality Assurance, QA) для многих «братья-близнецы», отличить которые друг от друга может только специалист IT-сферы. Несмотря на их взаимосвязь, это совершенно разные термины. Кроме того, их нельзя путать с третьим понятием – контролем качества (Quality Control, QC).

В сегодняшней статье мы расскажем подробнее о каждом из вышеперечисленных видов деятельности и окончательно расставим все точки над i в этом вопросе.

Тестирование vs. обеспечение качества

Так в чем же различие между этими понятиями и почему тестировщиков часто называют специалистами в сфере QA?

Обеспечение качества, в сравнении с тестированием, является более широким понятием. QA помогает оценить правильность протекания технологических процессов на всех этапах разработки ПО для обеспечения его высокого качества.

Кроме тестирования, QA также включает в себя контроль качества, который отвечает за соблюдение предъявляемых к системе требований. Если представить все три термина в виде иерархии, то тестирование окажется частью QC, а QC – частью QA.

Таким образом, тестирование заключается в большей степени в проверке работоспособности программного продукта и поиске дефектов, в то время как для QA важно также обеспечить соблюдение стандартов и предотвратить появление ошибок и багов в ПО.

Обобщим:

  1. Тестировщик работает с продуктом как с результатом (т. е. он предполагает, что именно эта версия ПО попадёт в руки конечного пользователя).
  2. QA-инженер работает с продуктом, который находится в процессе создания (т. е. у ПО ещё нет конечной версии).

Зачастую профессии тестировщика ПО и QA-инженера воспринимаются тождественно, однако в выполняемых специалистами задачах существует ряд отличий.

Особенности обеспечения качества

Процесс QA включает в себя подготовку плана тестирования, планирование и проведение тестирования, а также управление его результатами. Это помогает определить требования как для разработки ПО, так и для проверки его качества.

В обязанности QA-инженера зачастую входят:

  • детализация требований к системе;
  • подготовка тестов и сам процесс тестирования;
  • поиск и фиксирование дефектов;
  • контроль исправления багов;
  • документирование дефектов.

В работе QA-инженера также очень много коммуникации, в том числе с заказчиком. Но не стоит пугаться. В зависимости от компании и проекта часть обязанностей QA-инженер может разделять с бизнес-аналитиками, техническими писателями или тестировщиками, поэтому одна из отличительных черт процесса QA – вовлечённость всей проектной команды.

Исходя из этого, соотношение работы QA-инженера по планированию и по тестированию может сильно отличаться.

Что нужно знать о контроле качества?

В QA существует более узкая специализация – это контроль качества. Специалисты этой сферы занимаются анализом результатов тестирования и ликвидацией обнаруженных дефектов. Процедура QC позволяет обеспечить соответствие программного продукта определённому набору критериев и требований, установленных на этапе обеспечения качества.

По сравнению с QA контроль качества требует больше времени и может быть выполнен только после этапа обеспечения качества.

Чтобы процесс контроля качества прошёл максимально эффективно, на проекте нужно:

  • установить требования и стандарты;
  • определить перечень мероприятий по контролю качества;
  • собрать реальные данные и проанализировать их.

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

Таким образом, основная задача контроля качества – предоставлять информацию о текущем качестве программного продукта на всех этапах разработки.

Что же тогда делает тестировщик?

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

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

Сейчас в большинстве случаев специалисты начинают свою карьеру в IT именно с позиции junior-тестировщика. Это одна из самых лёгких и быстрых точек входа, особенно после прохождения курсов по тестированию ПО. Именно junior-специалисты тестируют разработку по готовым сценариям, в то время как их middle- и senior-коллеги ответственны за разработку планов и тест-кейсов.

Подведём итог

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

Пока не изобрели способ, как создать идеальное ПО, но изобрели методы, которые позволяют свести вероятность ошибок к минимуму и предотвратить их появление. Именно такими методами и являются обеспечение качества, контроль качества и тестирование.

Специалист по обеспечению качества Образец должностной инструкции

Образец должностной инструкции специалиста по обеспечению качества

Несмотря на то, что многие предприятия приходят и уходят, приверженность [Компании X] качеству позволила нам стать лидером в своей отрасли. Мы ищем опытного специалиста по обеспечению качества, который может опираться на эту хорошую репутацию с непоколебимой приверженностью тщательному производству. Идеальный кандидат — исключительно организованный, методичный профессионал, обладающий опытом, необходимым для того, чтобы вывести наши продукты на новый уровень точности, надежности и безопасности. Специалисту будет поручено разработать полную программу контроля качества, которая не только гарантирует качество продукции, но и способствует формированию культуры, в которой активно участвуют все сотрудники.

Цели этой роли

  • Интерпретация, развитие и соблюдение стандартов обеспечения качества компании
  • Обработка жалоб и несоответствий с помощью систем учета и отслеживания, включая анализ основных причин и корректирующие действия
  • Документирование деятельности по обеспечению качества с внутренней отчетностью и аудитом
  • Разработка усовершенствованных стандартов производства и проектирования, а также создание протоколов испытаний для внедрения во всех направлениях обслуживания
  • Выявление потребностей в обучении и принятие мер для обеспечения соответствия требованиям в масштабах всей компании
  • Постоянное обучение новым решениям, технологиям и навыкам

Обязанности

  • Планирование, выполнение и контроль проверки и тестирования продукции на предмет качества и соответствия спецификациям и результаты
  • Содействовать операциям, отслеживая, документируя и сообщая уровни качества, а также ключевые показатели эффективности в области корпоративной социальной ответственности, охраны окружающей среды, здоровья и безопасности
  • Изучение сообщений о проблемах с качеством продукции и обеспечение решения в соответствии с руководящими принципами компании и нормативными требованиями
  • Разработка или обновление процедур сбора, расследования и документирования жалоб на продукцию
  • Мониторинг процедур управления рисками, ведение журналов проблем и отчет о проблемах менеджерам и разработчикам продуктов
  • Обеспечить обучение и поддержку членов группы обеспечения качества, которые охватывают системы, политики, процедуры и основные процессы

Требуемые навыки и квалификация

  • Глубокие знания терминологии, методов и инструментов обеспечения качества
  • Превосходные навыки работы с компьютером, включая управление базами данных
  • Отличные аналитические навыки, навыки решения проблем и принятия решений лучшие практики тестирования, контроля версий и управления дефектами
  • Профессиональная сертификация, например Six Sigma, CQE или CQA

Предпочтительные навыки и квалификация

  • Степень бакалавра (или ее эквивалент) в соответствующей области
  • Понимание методологии Agile/Scrum и того, как в ней функционирует QA
  • Свободное владение несколькими языками

Хотите узнать больше о наших кадровых решениях? Поможем:

Связаться с отделом продаж

Продукты

Решения

Ресурсы

Клиенты

Поговорите с нашими представителями Talent Solutions. Мы рады помочь.

Образец должностной инструкции специалиста по обеспечению качества

 

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

В обязанности специалиста по обеспечению качества входит:

  • Подготовка и внедрение политик и процедур обеспечения качества
  • Проведение плановых проверок и тестов качества
  • Выявление и решение проблем рабочего процесса и производства

Краткое описание работы

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

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

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

Обязанности

  • Обеспечение соблюдения стандартов и правил техники безопасности
  • Обращайтесь и обсуждайте проблемы и предлагаемые решения с начальством
  • Документирование деятельности по обеспечению качества и создание аудиторских отчетов
  • Дайте рекомендации по улучшению
  • Создание учебных материалов и руководств по эксплуатации

Требования и навыки

  • Подтвержденный опыт работы специалистом по обеспечению качества или аналогичной должности
  • Практические знания инструментов, методов и концепций обеспечения качества
  • Уверенное знание соответствующих нормативных стандартов
  • Хорошие коммуникативные навыки, как устные, так и письменные
  • Отличные навыки сбора и анализа данных
  • Особое внимание к деталям
  • Соответствующее обучение и/или сертификаты специалиста по обеспечению качества

Часто задаваемые вопросы

Чем занимается специалист по обеспечению качества?

Специалист по обеспечению качества гарантирует, что конечный продукт соответствует стандартам качества организации, прежде чем продукт или услуга будет доставлена ​​клиенту.

Каковы обязанности и ответственность специалиста по обеспечению качества?

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

Что делает хорошего специалиста по обеспечению качества?

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

С кем работает специалист по обеспечению качества?

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