QA engineer, с чего начать?

С чего начать джуниору? Что он должен знать, что уметь, где приобрести необходимые навыки и практику? Как начать построение карьеры в тестировании?


Что же такое QA?

QA (от англ. quality assurance) — обеспечение качества. QA - это довольно абстрактное понятие. Но в основном этот процесс имеет две цели:

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

QA - это обеспечение качества продукта, причем, в идеальном случае, на всех этапах разработки. Но в первую очередь это понятие конечно же включает в себя тестирование.

Функциональное тестирование.

В большинстве случаев самое первое, с чем придется столкнуться QA Engineer'у это функциональное тестирование: написание тестов по задачам и прохождение этих тестов., прохождение уже написанных, апдейт, заведение багов и прочее. В этом случае QA Engineer - тестировщик. Для этого самое важное - хорошо работающая голова, умение читать задачи и задавать правильные вопросы: "А что если так? А если этак?".
В зависимости от технологии тестировщику могут понадобятся дополнительные специфические навыки. Web разработка, разработка мобильных приложений, ПО: в каждой технологии свои подводные камни.
Но, процесс обеспечения качества не заканчивается на функциональном тестировании, поэтому понятие QA шире, чем тестирование. Здесь мы уходим от банальных тестов по функциональным требованиям и переходим к анализу требований и документации (поиск узких мест в требованиях и реализации), юзабилити тестирование (поиск "косяков" в интерфейсах и функциональности), тестирование производительности и прочее.

Автоматизированное тестирование.

Автоматизация тестирования - отдельная часть. Здесь от компании к компании все по-разному, и роль автотестера может начинаться с "тестера который научился использовать тестовый фреймворк" и заканчиваться "полноценным разработчиком, который автоматизирует то, что ему говорят тестировщики". Требования отличаются соответственно.

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

Что в итоге?

QA-инженер - это тестировщик, который вышел в своей работе за рамки тестирования. QA-инженер работает над качеством продукта не только в плане "требования выполнены - к продакшену готовы", а старается делать продукт лучше во всех отношениях. В первую очередь - для бизнеса, во вторую - для пользователя, в третью - для тех, кто этот продукт делает.
Следовательно, путь QA лучше всего начинать именно с тестирования (кстати говоря, в России понятия QA и тестирования почти всегда тождественны в умах нетестировщиков).

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

  • Способность и желание разбираться в том, как это (продукт\фича\пр) работает сейчас, и как это должно работать.
  • Так же стоит приготовиться много говорить "нет, так не пойдет" менеджерам и разработчикам.
  • Ну и вообще, смириться с тем, что другие стороны процесса очень часто готовы действовать в ущерб качеству.

Требования к джуниору.

  1. Представление о процессе разработки: этапы, когда нужно начинать тестировать и все такое.
  2. Представление о написании тестов: что представляет из себя тест-план, тест-сьют, тест-кейс, тест-степ, Definition of Done, ожидаемый результат и т.д.
  3. Представление о том, что такое дефект: Severity и Priority дефекты, какие бывают дефекты, из чего состоит описание дефекта, и т.д.
  4. Хотя бы общее представление о тест-дизайне: что это такое, зачем нужено, какие есть практики.
  5. Базовые навыки (SQL - селект, апдейт, работа с несколькими таблицами).

Дополнительную литературу, касающуюся всех этих навыков и технологий можно найти здесь: https://proglib.io/p/qa-books/

А ещё, конечно, нужно, чтобы человек умел думать. Будьте готовы к задачкам на логику и к задачкам типа "Есть окно с кнопкой, посылает запрос: напиши тесткейсы" или "Протестируй карандаш".

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Junior Python developer
Казань, от 30000 RUB до 70000 RUB
Data Engineer
от 150000 RUB до 360000 RUB

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ