Еще лет десять назад профессию тестировщика ПО в России не воспринимали всерьез. Программисты либо самостоятельно искали ошибки в своем коде, либо в фирме имелся студент на полставки, который просто нажимал разные кнопки и смотрел, не глючит ли программа.
В наши дни процесс тестирования охватывает все стадии разработки ПО. Его можно разделить на три уровня:
- Собственно тестирование готовой программы на предмет правильного выполнения функций. Обычно этим занимаются новички.
- Quality Control («контроль качества»). Тестирование конечного продукта более высокого уровня, когда проверяют программный код, дизайн, безопасность, юзабилити и т. д.
- Quality Assurance («обеспечение качества»). Самый высокий уровень тестирования, контроль самого процесса создания и внедрения продукта. Например, разработка новых стандартов при написании ПО, внедрение нового ПО для разработчиков и т. д.
В небольших компаниях нет четкого разграничения между уровнями тестирования, все специалисты в той или иной степени занимаются этими вопросами. Из-за этого у них нет карьерного роста, а работа в отделе тестирования воспринимается как первая ступенька на пути к тому, чтобы стать, например, разработчиком.
В крупных компаниях тестировщики ПО делятся по специализациям (QC-специалист, QC-специалист), уровням (junior, middle, senior, lead) и даже направлениям (безопасность, юзабилити и т. д.) Карьерный рост присутствует как в вертикальном направлении (от новичка до начальника отдела), так и в горизонтальном (участие в более интересных проектах).
Основным недостатком карьеры является отсутствие ВУЗов, обучающих этой профессии. С другой стороны, имея любое высшее образование (не обязательно IT), можно пройти ряд курсов повышения квалификации (в том числе онлайн) и попытаться попасть на стажировку в крупную компанию. В начале карьеры зарплата тестера вряд ли будет большой, но хорошие специалисты по заработкам могут посоревноваться с программистами.
Что должен знать и уметь тестировщик программного обеспечения
- Владеть языками программирования, используемыми при создании тестируемого ПО, хотя бы на базовом уровне.
- Владеть IT-терминологией.
- Уметь пользоваться многочисленными приложениями и сервисами для тестирования и отладки ПО, составлять алгоритмы для автоматизированной проверки функционала.
- Уметь грамотно составлять тест-кейсы (алгоритмы тестирования) и отчеты о проделанной работе.
- Владеть коммуникативными навыками, так как придется много общаться и с коллегами, и с заказчика.
- Быть усидчивым и внимательным к мелочам.