Назад к списку

Как оптимизировать человеческие ресурсы в процессе тестирования?

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

Ручное тестирование является самым базовым и играет ключевую роль в обеспечении качества ПО. У него есть ряд преимуществ. При ручном подходе задействуется интуиция и творческое мышление специалиста: человеческий фактор помогает обнаруживать нестандартные ошибки и проблемы, которые автоматизированные скрипты могут пропустить. Также стоит отметить гибкость и адаптивность, так как специалист, проводящий тестирование, может оперативно реагировать на изменения в приложении и корректировать сценарии уже в процессе самого тестирования.
Однако у мануального метода есть и существенные недостатки. Прежде всего, это высокая ресурсоемкость, так как выполнение тест-кейсов вручную требует значительных временных затрат и человеческих ресурсов. С увеличением масштаба проекта или частоты регрессионных проверок ручное тестирование становится плохо масштабируемым.
Таким образом, полностью ручной подход часто оказывается узким местом, замедляющим выпуск релизов и требующим все больших ресурсозатрат по мере роста продукта.
Автоматизированное тестирование как один из вариантов призвано решить многие из этих проблем. Основное преимущество автоматизации – резкий рост скорости и эффективности тестирования. Автотесты выполняются значительно быстрее, чем их проходит человек. На основе многочисленных исследований данного вопроса можно сделать вывод, что в среднем автоматизированный сценарий отрабатывает примерно в пять раз быстрее, чем эквивалентный ему ручной.
Кроме того, автоматизация обеспечивает высокую повторяемость процессов тестирования. Разработанный тестовый скрипт можно запускать многократно и параллельно без дополнительных затрат времени, уделяя больше внимания параллельным задачам. Еще один существенный плюс – это надежность: при автоматизированном выполнении исключается человеческий фактор, поэтому снижается вероятность пропустить ошибку из-за усталости или невнимательности. Все это повышает качество проверки разрабатываемого продукта и оптимизирует временные и человеческие ресурсы.
Тем не менее, несмотря на все преимущества, автоматизированное тестирование также имеет свои недостатки. В качестве самого главного можно выделить высокие начальные затраты времени на создание автоматизированной инфраструктуры и написание тестов. От специалистов требуются специальная квалификация, знание языков программирования, что, в свою очередь, ведет к увеличению издержек на персонал. Кроме того, автотесты нуждаются в регулярном сопровождении: при изменении частей приложения, покрытых автотестами, их тестовые сценарии требуют обновления, иначе это приведет к ложным сбоям.
Также автоматизация либо невозможна, либо ограничена в ситуациях, требующих человеческого понимания и творческого подхода. Например, это может быть ситуация, связанная с оценкой удобства пользовательского интерфейса или проведения исследовательского тестирования, где нужны интуиция и опыт специалиста.
Автоматизация не может полностью заменить ручной подход во всех аспектах обеспечения качества, но значительно оптимизирует основную его часть.
При грамотном подходе в крупных и динамически развивающихся проектах автоматизация способствует более рациональному использованию человеческих ресурсов в процессе обеспечения качества. Важно подчеркнуть, что полностью отказаться от участия человека невозможно, а синергия автоматизированных и ручных методов дает наилучший результат. Тем не менее практика показывает, что автоматизация эффективно высвобождает человеческие ресурсы для решения более приоритетных задач, тем самым оптимизируя процесс тестирования в целом.
Илья Кубарев, эксперт по качеству программного обеспечения 
Поиск по сайту