Далеко не все компании, которые разрабатывают ПО, имеют в своем штате QA-инженеров. Как такое может быть и кто в таком случае следит за качеством продукта? Эту функцию, как правило, выполняют сами разработчики, иногда к ним подключаются другие сотрудники, иногда даже сам директор, чтобы «поискать ошибки». С нашей точки зрения такой подход – неправильный в своей сути, и сейчас мы расскажем почему и зачем же нужны тестировщики ПО.
Кто такие тестировщики и за что они отвечают?
Начнем с того, что QA-инженер — это специалист, который имеет определенные знания и навыки, которые помогают ему СИСТЕМНО и ПЛАНОМЕРНО искать проблемы в готовом продукте. QA умеет находить ошибки, анализирует условия их появления, систематизирует и передает в отдел разработки отчет о тестировании, по которому программисты могут максимально быстро и эффективно внести правки в свой код.
Тестировщики должны понимать, как устроены все компоненты программы, и использовать специализированные инструменты, чтобы эффективно их проверять, а кроме того они должны уметь создавать ситуации, которые потенциально могут возникнуть в процессе эксплуатации, и о которых могли не подумать программисты. Для этого требуется понимание технологий тестирования, умение составлять сценарии и предвидеть потенциальные проблемы.
Есть еще один важный нюанс – тестировщик следит за тем, чтобы функционал был удобный для пользователя, и чтобы программа соответствовала существующим стандартам. Нужно уметь отрабатывать разные с точки зрения пользователя сценария.
Как видите, тестировщик не «просто тыкает на кнопки и ждет, когда вылезет ошибка», он систематически ищет их, анализирует работу программы.
Виды тестирования – ручное и автоматизированное.
Есть два принципиальных подхода в этом процессе, которые дополняют друг друга и при умелом использовании дают оптимальный результат: ручное и автоматизированное тестирование.
- Ручное тестирование – это процесс взаимодействия тестировщика с тестируемым программным продуктом для поиска багов. Он взаимодействует с ПО напрямую, и сравнивает ожидаемый результат с реальным, оставляя свои рекомендации по улучшению. Среди плюсов – возможность получить реальный UX и UI фидбек от реального человека, который использует ПО. Ручное тестирование лучше подходит для небольших проектов. Но у него есть и существенные недостатки: это и человеческий фактор, (ошибку могут и не заметить), низкое быстродействие и резко растущие расходы при росте проекта. Со всем этим поможет справится автоматизированное тестирование.
- Автоматизированное тестирование — это написание специального кода, который имитирует действия с программой и многократный прогон тестируемой программы. Автоматизированное тестирование позволяет выиграть в скорости и сэкономить деньги – автоматический тест намного быстрее проведет 1000 однотипных действий и не пропустит ошибку, если она есть. Правда и этот подход не идеален: автоматический тест не выявит ошибки, если она выходит за рамки его сценария, и никак не учитывает реальный пользовательский опыт.
Именно поэтому идеальное решение – совместить ручное и автоматическое тестирование, чтобы воспользоваться преимуществами и обойти недостатки каждого из них.
Где работают тестировщики?
QA-инженеры работают в компаниях, которые занимаются разработкой любого программного обеспечения. Правда, это больше относится к средним и крупным компаниям (в маленькой компании эти функции может выполнять сам разработчик, хоть это и не очень хороший вариант, который сказывается в конечном счете на качестве готового продукта). QA-инженеров могут привлекать и на аутсорсинговой основе под конкретный проект.
Soft skills QA-инженера
Как и у любой другой специалист, QA, должен иметь определенные soft skills.
- Аналитическое мышление. Это – один из важнейших навыков тестировщика, ведь в основе его работы – анализ программного продукта.
- Коммуникация. Не будем забывать, что тестировщик – все-таки командный игрок, поэтому ему придется взаимодействовать с разными людьми: разработчики, менеджер проекта, UX/UI дизайнеры и пр.
- Скрупулезность. Внимание к деталям и аккуратность помогают QA находить критические ошибки, поэтому это тоже – must have.
- Умение четко излагать информацию. Если вы не умеете ясно и структурировано описывать выявленные проблемы с программой – хорошим тестировщиком вам не стать.
- Планирование. Умение составить план и четко ему следовать позволят всей команде уложиться в срок и выдать продукт желаемого качества.
- Стремление к знаниям. Прогресс не стоит на месте, и QA в этом отношении – не исключение. Желание и умение постоянно учиться позволят не отставать от трендов в этой области.
Зарплатная вилка тестировщиков
Что касается заработка тестировщиков, то в зависимости от квалификации, опыта работы и направления (ручной и автоматизированный), вилка зарплат тестировщиков в США выглядит примерно так:
Инженер ручного тестирования – от 70 до 100 тысяч долларов в год.
Инженер автоматизированного тестирования – от 115 тысяч в год.
Итак, если вас интересует позиция QA-инженера, и у вас нет ни опыт ни знаний – не беда. Вы можете легко начать с курса от Careerist и получить стартовые знания или продвинуть свой уровень. Удачи вам!