Профессия: инженер по тестированию, QA

Профессия: инженер по тестированию, QA

Путеводитель для начинающих

Что это за человек

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

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

Условно есть два этапа тестирования: 

  • Тестирование на этапе разработки софта. Инженеры делают так, чтобы прямо в процессе написания кода все функции, модули и фрагменты работали корректно. Обычно этот этап называют QA, Quality Assurance.
  • Тестирование готового продукта — когда проверяют, как всё работает вместе, проходя по этому продукту всевозможные пути. Эту часть принято называть тестированием.

Профессия: инженер по тестированию, QA

А есть пример такой работы?

О да:

  1. Мы сделали примитивный калькулятор на JavaScript.
  2. И вот как мы его обтестировали самым простым способом (потому что проект простой).

Ещё почитайте историю студента «Практикума» Богдана Овсиюка. Он работал в пограничной службе, а теперь тестирует ПО и рад.

Почему разработчики не могут тестировать сами?

В маленьких проектах разработчики тестируют сами. Но как только над одним продуктом начинают работать несколько человек, тестировщики становятся необходимыми. Например: 

Рассогласование требований. У разных людей может быть разное представление о том, как должен работать продукт. Тестировщик соберёт все эти представления и согласует их между собой. Часто это же делает продуктовый менеджер — тогда тестировщик работает с ним. 

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

Нужно автоматизировать. Чтобы тестирование было быстрым и надёжным, его автоматизируют с помощью множества инструментов. Разработчик и так загружен, поэтому ему нужна отдельная голова, которая будет всё налаживать. 

Нужна документация. Если ошибка найдена, её нужно зафиксировать и донести до разработчиков. Это существенная часть работы тестировщика. 

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

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

Что должен уметь тестировщик?

В основе у тестировщика должны быть внимание и здравый смысл. Остальному можно научиться:

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

Использовать системы автоматического тестирования: Selenium, Katalon, UFT, RFT, TestComplete и другие. Какой конкретно инструмент — зависит от технологического стека компании. 

Использовать трекеры задач или багов — Jira, YouTrack, Mantis, Redmine и т. д. Это простые инструменты, просто нужна привычка. 

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

Профессия: инженер по тестированию, QA

Что развивать, чтобы расти?

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

Технические навыки — понимание ООП, архитектуры софта, основ информатики, веба, всевозможных платформ и протоколов. По сути, чем ближе тестировщик по навыкам к разработчикам, тем он сильнее и эффективнее. Тестировщик с хорошим техническим багажом может стать разработчиком. 

Гуманитарные навыки — общение с разработчиками, организация и управление процессом тестирования, понимание методик проектной работы. В итоге тестировщик-гуманитарий становится руководителем группы тестирования или даже продакт-менеджером (если будет развиваться в областях аналитики и бизнеса). 

Сколько можно зарабатывать

Мы делали обзор зарплат тестировщика. Вот главное:

  • Ручное тестирование — 50—60 тысяч рублей в месяц.
  • Автоматическое тестирование — 110—130 тысяч рублей в месяц.
  • Руководитель тестирования — 150 тысяч и далее.

Почему говорят, что тестировщик — это простой вход в ИТ?

Считается, что для начала работы тестировщиком достаточно очень небольшой базы: описывать баги и тыкать кнопки в «Джире». Это справедливо, потому что компаниям нужны ручные тестировщики, и устроиться на такую позицию реально даже без знания языков программирования. Путь от первой попытки до первой зарплаты в тестировании довольно короткий. 

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

Профессия: инженер по тестированию, QA

Где учиться

Самостоятельно учиться тестированию довольно просто: вам нужны сырые программы и команды программистов, которые должны эти программы доделывать.

Из самостоятельного можно:

Но это всё долго и тяжело. Более приближённый к жизни вариант — полноценные курсы профессионального образования, например Яндекс Практикум. За 4 месяца обучения с нуля можно получить новую профессию и устроиться на работу в любую компанию, которая пишет код.

Если пока не решили окончательно, становиться тестировщиком или нет, пройдите первые 20 часов курса бесплатно.