Особенности профессии тестировщика программного обеспечения

Автор: Парамонова Е.А.

Еще лет десять назад профессию тестировщика ПО в России не воспринимали всерьез. Программисты либо самостоятельно искали ошибки в своем коде, либо в фирме имелся студент на полставки, который просто нажимал разные кнопки и смотрел, не глючит ли программа.

В наши дни процесс тестирования охватывает все стадии разработки ПО. Его можно разделить на три уровня:

  • Собственно тестирование готовой программы на предмет правильного выполнения функций. Обычно этим занимаются новички.
  • Quality Control («контроль качества»). Тестирование конечного продукта более высокого уровня, когда проверяют программный код, дизайн, безопасность, юзабилити и т. д.
  • Quality Assurance («обеспечение качества»). Самый высокий уровень тестирования, контроль самого процесса создания и внедрения продукта. Например, разработка новых стандартов при написании ПО, внедрение нового ПО для разработчиков и т. д.

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

В крупных компаниях тестировщики ПО делятся по специализациям (QC-специалист, QC-специалист), уровням (junior, middle, senior, lead) и даже направлениям (безопасность, юзабилити и т. д.) Карьерный рост присутствует как в вертикальном направлении (от новичка до начальника отдела), так и в горизонтальном (участие в более интересных проектах).

Основным недостатком карьеры является отсутствие ВУЗов, обучающих этой профессии. С другой стороны, имея любое высшее образование (не обязательно IT), можно пройти ряд курсов повышения квалификации (в том числе онлайн) и попытаться попасть на стажировку в крупную компанию. В начале карьеры зарплата тестера вряд ли будет большой, но хорошие специалисты по заработкам могут посоревноваться с программистами.

Что должен знать и уметь тестировщик программного обеспечения

  • Владеть языками программирования, используемыми при создании тестируемого ПО, хотя бы на базовом уровне.
  • Владеть IT-терминологией.
  • Уметь пользоваться многочисленными приложениями и сервисами для тестирования и отладки ПО, составлять алгоритмы для автоматизированной проверки функционала.
  • Уметь грамотно составлять тест-кейсы (алгоритмы тестирования) и отчеты о проделанной работе.
  • Владеть коммуникативными навыками, так как придется много общаться и с коллегами, и с заказчика.
  • Быть усидчивым и внимательным к мелочам.