Чем занимается QA Engineer

Чем занимается QA Engineer

Как тестировать баги.

Любое программное обеспечение, сайт или приложение требует проверки качества перед запуском в релиз. Это связано с тем, что программисты не всегда понимают, как пользователь будет взаимодействовать с продуктом, а также не могут предусмотреть все нестандартные ситуации в его работе. Тогда на помощь приходит Quality Assurance Engineer (QA).

Вместе с Ириной Петренко, QA Lead в Billie и лекторкой курса QA Manual, и Тарасом Карпенко, Software Developer в NewStore Inс и лектором курса QA Automation, разбираемся, на что обращать внимание, чтобы стать QA.

Тестируем как пользователь

Ирина: «Задача QA — быть амбассадором качества в ежедневной работе команды. Роль QA не ограничивается фазой тестирования, он должен очень хорошо знать продукт и поддерживать команду критическим взглядом на систему, с которой работает.

QA должен помочь команде доставить качественный продукт конечному пользователю».

Ключевой скил QA — умение писать документацию. Виды документации:

  • спецификация — техническое описание продукта;
  • test plan — общий план по тестированию продукта;
  • checklist — список функционала, который нужно проверить;
  • test case — описание действий для проверки отдельных функций продукта;
  • use case — сценарии взаимодействия с продуктом;
  • баг-репорт — описание бага и шагов, которые его вызвали.

QA готовит и передает отчеты разработчикам, а те вносят правки. После — еще раз проверяют сценарии, которые вызвали ошибку. И так до тех пор, пока продукт не будет отвечать требованиям. Чтобы понимать готовность продукта, нужно иметь четкие аcceptance сriteria — критерии, которым должен соответствовать конечный продукт. Acceptance criteria не могут быть двоякими и описывают только успешный или провальный результат. Например, функция восстановления пароля пользователя или сбрасывает его, или нет.

Ирина: «В работе QA важнее всего гибкость и критичность мышления, умение находить нестандартные кейсы. Не забываем про внимание к деталям, дотошность и стрессоустойчивость. Также важно уметь дебажить и работать с базами данных. Если вы талантливый QA, но не можете понять, почему происходит ошибка, и донести это разработчику, работать будет сложнее».

Виды QA

Тестировать продукт можно как вручную — manual, так и с помощью кода — automation. В первом случае QA должен повторять действия, которые может совершить пользователь. В случае с automation QA пишется код (тесты), который покрывает определенный функционал продукта и работает без участия человека.

Плюсы QA automation:

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

Тарас: «Автоматизация лучше справляется с любым видом тестирования, где можно четко описать требования:

  • тестирование отдельных модулей;
  • функциональное UI End-to-End тестирование всего приложения;
  • тестирование производительности;
  • тестирование поведения на разных платформах».

Ирина: «Масштабируемость и тестирование производительности — то, что не проверяется вручную. Ручное тестирование проигрывает автоматическому по времени и надежности при повторяемости. Тестирование технически сложных сценариев предпочтительно автоматизировать».

Если мы говорим про технические навыки, то QA automation должен знать язык программирования (например, Java или Python), разбираться в тестовых фреймворках (Selenium), уметь работать с базами данных и системами контроля версий (Git).

Тарас: «Для QA automation важнее всего:

  • уметь составлять тестовые сценарии. Встречаются тесты, которые выполняют множество действий, но не приносят пользы.
  • уметь находить общий язык с техническими и нетехническими специалистами.
  • учить новые инструменты. Например, компании могут использовать разные инструменты сборки (Maven или Gradle).
  • уметь строить эффективные алгоритмы. Чем больше в компании тестов, тем дольше они выполняются. Поэтому время каждого теста критично.»

Разработка без manual QA

Автоматизированное тестирование не может полностью заменить ручное. QA automation повышает стоимость разработки и специалиста, так как автоматизатор должен знать больше, чем мануальщик. Проблема еще в том, что автотесты не могут покрыть все потребности продукта и не получится стать QA automation, не имея опыта QA manual.

Ирина: «Незаменимость ручного тестирования — в его “человечности”. Exploratory testing, UX testing — это то, что нельзя автоматизировать. Продукты с пользовательским интерфейсом невозможно полностью покрыть автотестами».

Тарас: «Встречаются компании, в которых QA manual выполняют всю работу над acceptance criteria, пишут тестовые сценарии, согласуют их. QA automation только переводят тестовые сценарии в программный код. Но таких компаний все меньше. С приходом Agile в разработку все чаще требуются Agile QA. Чаще всего это 1–2 QA на команду из 5–8 разработчиков. QA занимается всем, вплоть до анализа результатов автоматизированных тестов. Опыт QA manual — must have».

курс по теме: PHP-разработчик с нуля до PRO
Вячеслав Епанча Senior PHP Developer в Laba с 6-летним опытом разработки
 
Ещё статьи
Платформи для волонтерів, пошук житла, корисні карти та ігри.