Кем быть: мануальным тестировщиком или автоматизатором?

28 февраля 2020
Автоматизатор или ручной тестировщик

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

И всё чаще перед желающими освоить новую профессию в области QA встаёт вопрос о том, какое же направление является более перспективным. Предлагаем поговорить об этом в нашей новой статье.

Какое оно, тестирование ПО?

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

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

Оба подхода имеют свои слабые и сильные стороны. Хотя автоматизированное тестирование как полноправное направление QA сформировалось действительно позже, нельзя называть этот подход более совершенным или универсальным.

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

Автоматизация тестирования

Автоматизированное тестирование служит частью этапа обеспечения качества при разработке ПО. В рамках этого подхода для проведения и проверки результатов теста используются программные средства.

Автоматизатор тестирования

Первые подходы к автоматизации были сформулированы в 1980-х годах в книге Фредерика Брукса «Мифический человеко-месяц», где автор рассуждает о возможностях модульного тестирования.

Сейчас автоматизация уже не кажется чем-то сложным или невозможным, ведь её преимущества широко используются многими компаниями для оценки качества ПО. О них подробнее.

  • Высокая точность

Корректно составленные автотесты при оценке показателей точности показывают близкие к 100% результаты. Дело в том, что качество тестов не привязано ко дню недели, времени суток или усталости инженера, чья внимательность снижается при продолжительном проведении однотипных проверок.

  • Автоматизация запуска

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

  • Сокращение рутинных задач

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

  • Повторяемость

Так как автотесты создаются для упрощения типовых проверок, уже готовые скрипты могут дорабатываться или заново использоваться на проекте или для оценки качества других программных продуктов. Удобно.

Хотя все эти факторы убедительно говорят в пользу повсеместного внедрения автоматизации, стоит учитывать и слабые стороны подхода.

К примеру, автотесты отлично справляются с типичными и простыми проверками в рамках функционального тестирования, когда происходит оценка точности работы программного обеспечения. Но для тестирования безопасности этот метод не всегда подходит. На некоторых проектах для тестировщика важно найти нетривиальный способ «взлома» системы безопасности, а с этим роботы пока справиться эффективно не могут. И ещё несколько ограничений, которые стоит учитывать.

  • UX

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

  • Затраты времени

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

  • Ошибочная уверенность

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

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

Ручное тестирование

Истоки тестирования, каким мы знаем его сегодня, стоит искать в 1960-х. Программы в то время чаще всего создавались для нужд министерства обороны или научных исследований. Тестирование таких программ проводилось очень строго, все тестовые процедуры записывались. Ставка делалась на «исчерпывающее» тестирование, которое проводится с использованием всех возможных входных данных.

Профессия автоматизатора

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

  • Скорость проведения тестов

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

  • Исследовательское тестирование

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

  • Юзабилити

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

  • Гибкость

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

  • Стоимость

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

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

Итоги

Эти подходы активно применяются при проведении тестирования программных продуктов, имеют преимущества и недостатки, которые взаимно дополняют друг друга.

К автоматизации чаще прибегают, когда:

  • проект становится больше, а исследовать приходится всё больше сложных систем;
  • продукт существует в нескольких версиях, которые необходимо оперативно тестировать;
  • требуется проведение большого числа однотипных проверок.

Ручное тестирование поможет, если:

  • необходимо срочно оценить несколько нововведений;
  • важно оценить не только возможности программного продукта, но и юзабилити;
  • при тестировании необходимо найти дефект за пределами стандартных проверок.

Что всё это значит для желающего начать карьеру в области тестирования?

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

Это интересная область IT, в которой есть место и для рутины, и для проявления креативности. Мануальный тестировщик может развиваться в разных направлениях, и автоматизация тестирования является одной из возможностей для карьеры.

На курсах по автоматизации тестирования QA Academy студентов учат создавать скрипты, писать код для ускорения проверок. Это требует от соискателя определённых навыков, потому перейти в автоматизацию без базовых знаний из области QA будет практически невозможно.

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

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

Стартовать в новой и перспективной профессии вам поможет QA Academy. Наши опытные преподаватели помогут вам освоить азы ручного и автоматизированного тестирования. Выбирайте курс и записывайтесь на занятия онлайн, чтобы уже через несколько месяцев начать карьеру в IT.