Что это за человек
Инженер по тестированию — это человек, который отвечает за качество написанных в компании программ. Его задача в том, чтобы находить ошибки в софте, доносить их до разработчиков, проверять их исправление и делать так, чтобы весь процесс был максимально быстрым, простым и эффективным.
По-другому можно сказать так: задача тестировщика — чтобы в заданных условиях продукт работал заданным образом. Например, чтобы кнопки нажимались, пиццы заказывались, звонилки звонили, а сообщения доставлялись.
Условно есть два этапа тестирования:
- Тестирование на этапе разработки софта. Инженеры делают так, чтобы прямо в процессе написания кода все функции, модули и фрагменты работали корректно. Обычно этот этап называют QA, Quality Assurance.
- Тестирование готового продукта — когда проверяют, как всё работает вместе, проходя по этому продукту всевозможные пути. Эту часть принято называть тестированием.
А есть пример такой работы?
О да:
- Мы сделали примитивный калькулятор на JavaScript.
- И вот как мы его обтестировали самым простым способом (потому что проект простой).
Ещё почитайте историю студента «Практикума» Богдана Овсиюка. Он работал в пограничной службе, а теперь тестирует ПО и рад.
Почему разработчики не могут тестировать сами?
В маленьких проектах разработчики тестируют сами. Но как только над одним продуктом начинают работать несколько человек, тестировщики становятся необходимыми. Например:
Рассогласование требований. У разных людей может быть разное представление о том, как должен работать продукт. Тестировщик соберёт все эти представления и согласует их между собой. Часто это же делает продуктовый менеджер — тогда тестировщик работает с ним.
Высокая сложность продукта. У продукта могут быть десятки и сотни сценариев использования. А каждый сценарий нужно протестировать в нескольких вариантах, чтобы убедиться, что всё работает. Для этого нужны свободные руки и голова.
Нужно автоматизировать. Чтобы тестирование было быстрым и надёжным, его автоматизируют с помощью множества инструментов. Разработчик и так загружен, поэтому ему нужна отдельная голова, которая будет всё налаживать.
Нужна документация. Если ошибка найдена, её нужно зафиксировать и донести до разработчиков. Это существенная часть работы тестировщика.
Много дел. Если у вас софт на нескольких платформах, предназначен для нескольких устройств, у него много языковых версий и т. д. — это большой фронт работы.
В целом тестировщик — это просто ещё одна свободная голова в команде разработки, на которую можно перегрузить всю тестировочную суету. Когда в команде есть такая голова, разработка идёт быстрее, разработчикам легче, а ошибок меньше.
Что должен уметь тестировщик?
В основе у тестировщика должны быть внимание и здравый смысл. Остальному можно научиться:
Описывать баги — то есть формулировать найденные ошибки так, чтобы разработчики могли их воспроизвести, найти проблему и исправить. Это важнейший навык.
Использовать системы автоматического тестирования: Selenium, Katalon, UFT, RFT, TestComplete и другие. Какой конкретно инструмент — зависит от технологического стека компании.
Использовать трекеры задач или багов — Jira, YouTrack, Mantis, Redmine и т. д. Это простые инструменты, просто нужна привычка.
Выстраивать методически верное исследование — дело в том, что чем сложнее продукт, тем больше сценариев в нём нужно проверить. Чтобы ничего не упустить, нужно заниматься дизайном исследования, то есть правильно придумывать все пути тестирования, все параметры и задачи.
Что развивать, чтобы расти?
Хороший тестировщик может развиваться в двух направлениях параллельно: прокачивать технические навыки и гуманитарные.
Технические навыки — понимание ООП, архитектуры софта, основ информатики, веба, всевозможных платформ и протоколов. По сути, чем ближе тестировщик по навыкам к разработчикам, тем он сильнее и эффективнее. Тестировщик с хорошим техническим багажом может стать разработчиком.
Гуманитарные навыки — общение с разработчиками, организация и управление процессом тестирования, понимание методик проектной работы. В итоге тестировщик-гуманитарий становится руководителем группы тестирования или даже продакт-менеджером (если будет развиваться в областях аналитики и бизнеса).
Сколько можно зарабатывать
Мы делали обзор зарплат тестировщика. Вот главное:
- Ручное тестирование — 50—60 тысяч рублей в месяц.
- Автоматическое тестирование — 110—130 тысяч рублей в месяц.
- Руководитель тестирования — 150 тысяч и далее.
Почему говорят, что тестировщик — это простой вход в ИТ?
Считается, что для начала работы тестировщиком достаточно очень небольшой базы: описывать баги и тыкать кнопки в «Джире». Это справедливо, потому что компаниям нужны ручные тестировщики, и устроиться на такую позицию реально даже без знания языков программирования. Путь от первой попытки до первой зарплаты в тестировании довольно короткий.
Но это только вход. Чтобы вырасти с 50 тысяч до 100, нужно будет изучать дисциплину и инструменты тестирования.
Где учиться
Самостоятельно учиться тестированию довольно просто: вам нужны сырые программы и команды программистов, которые должны эти программы доделывать.
Из самостоятельного можно:
- Прочитать любые книги по тестированию.
- Поизучать технологии, которыми пользуются тестировщики.
- Поучаствовать в программах бета-тестирования игр или приложений.
Но это всё долго и тяжело. Более приближённый к жизни вариант — полноценные курсы профессионального образования, например Яндекс Практикум. За 4 месяца обучения с нуля можно получить новую профессию и устроиться на работу в любую компанию, которая пишет код.
Если пока не решили окончательно, становиться тестировщиком или нет, пройдите первые 20 часов курса бесплатно.