http://hawkhouse.ru/wp-content/uploads/2017/06/26-06-17-hawkhouse2-1.jpg		

Какие факторы влияют на эффективность автоматизированного тестирования

captcha

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

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

Слово эксперту компании Hawk House Integration Алексею Ломаеву: «Необходимо понимать, что в подавляющем большинстве случаев IT-компании выбирают вовсе не между автоматизацией определенных действий и выполнением их вручную. Они делают выбор между автоматизацией тестирования и отказом от тестов вообще.

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

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

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

Специфика оценки эффективности автоматизированного тестирования

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

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

Цех Западно-Сибирского металлургического комбината

Использование ROI – прерогатива бизнеса, работающего в отраслях с четкими индикаторами эффективности

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

Скорость тестирования

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

Возможность запускать тесты моментально и в любое время

События в сфере информационных технологий развиваются с молниеносной скоростью – необходимость срочно внести изменения в продукт может возникнуть в самый неподходящий момент. Быстро собрать при возникновении форс-мажорных обстоятельств команду тестировщиков – непростая задача.

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

Возможность исключить влияние человеческого фактора

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

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

Матч Гарри Каспарова и шахматного компьютера Deep Blue

Машина не ведает усталости, приводящей к увеличению числа ошибок. Именно это обстоятельство, по собственному признанию Гарри Каспарова, в наибольшей мере давило на него в ходе исторического противостояния с шахматным компьютером Deep Blue

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

Чтобы сэкономить, сначала нужно потратить

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

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

К слову, поиск квалифицированного сотрудника на эту должность может сам по себе стать проблемой. Эксперт Hawk House Integration поясняет: «Специалист по автоматизированному тестированию должен обладать глубокими знаниями как в области разработки программного обеспечения, так и в сфере проведения тестов. Загвоздка в том, что программисты в массе своей не слишком интересуются вопросами окончательной доводки софта. Тестировщики и тест-аналитики, в свою очередь, не горят желанием углубляться в дебри программирования.

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

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

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

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

Подводя итог

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

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