Для отслеживания статуса заказа — авторизируйтесь
Введите код, который был выслан на почту Введите код с SMS, который был выслан на номер
 
Код действителен в течение 5 минут Код с sms действителен в течение 5 минут
Вы уверены, что хотите выйти?
Сеанс завершен
На главную
Чем занимается 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-летним опытом разработки
 
Ещё статьи
Экспертки о том, как оценивают кандидатов на нетехнических интервью
Часть 2. Работа с записями: вставка, чтение, изменение и удаление