Перед тем как внедрять автоматизированное тестирование нам необходимо предварительно рассчитать его будущую эффективность. Для этого необходимо воспользоваться методикой и формулами из статьи Как рассчитать эффективность автоматизации тестирования (ROI) и окупаемость. Если расчёты нам показывают, что автоматизация тестирования окупится, то внедряем её. После того как внедрили автоматизацию тестирования необходимо через определённое время провести очередные расчёты, чтобы подтвердить или опровергнуть наши ранние предположения, а также принять решение о дальнейших действиях. В данной статье мы с вами и рассмотрим методику расчёта эффективности автоматизированного тестирования по итогам внедрения.

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

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

Нам необходимо рассчитать следующий показатель:

Дэкономия-период — денежные средства, которые компания сэкономила или заработала благодаря внедрению автоматизированного тестирования.

Данные для расчётов

Время реализации (внедрения автоматизации) — 12 месяцев. Для примера период выбран произвольно. В вашем случае необходимо будет период выбирать тот, который вы затратили на автоматизацию тестирования. Если вы внедряете автоматизацию тестирования 7 месяцев, с начала найма автоматизатора или с начала привлечения подрядчиков на работы, то у вас период будет равен 7 месяцев и т.д.

Формулы расчёта

Дэкономия-период = Дэкономия-месяц-1 + Дэкономия-месяц-2 + … + Дэкономия-месяц-N, где

  • Д экономия-месяц-1, Д экономия-месяц-2, …, Д экономия-месяц-N — экономия в определённый месяц внедрения автоматизации тестирования.

Дэкономия-месяц = (Д1 + Д2 + … + ДN) — Дзатраты, где

  • Д1, Д2, …, ДN — различные категории денежных затрат или прибылей компании, которые компания экономит или зарабатывает благодаря внедрению автоматизации тестирования.
  • Дзатраты — все возможные затраты на реализацию и поддержку автоматизированного тестирования (лицензии, оборудование, ФОТ автоматизатора, затраты на подрядчиков и т.д.).

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

В нашем случае мы будем использовать формулу:

Дэкономия-месяц = Дрт + Дспециалисты — Дзатраты, где

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

Дзатраты = Датфот + Длицензии + Доборудование + Дподрядфот, где

  • Датфот — затраты в месяц на специалиста по автоматизированному тестированию (средний ФОТ с учётом всех налогов и премий). Для расчётов примем 2500 денежные единицы.
  • Длицензии — стоимость лицензий на ПО, используемое в написании автотестов и т.д.
  • Доборудование — стоимость оборудования, используемого в автоматизации, к примеру, сервера для запуска автотестов, рабочая станция для работы на ней автоматизатора и т.д.
  • Дподрядфот — стоимость услуг подрядчика, если он привлекается к работам в рамках автоматизации тестирования.

Могут быть дополнительные статьи затрат и все их необходимо учесть.

Дрт = Врт * (Дртфот/21/8/60), где

  • Врт — время, которое могло быть потрачено специалистами по ручному тестированию на выполнение тестов, которые сейчас выполняются автоматически. Далее любое время будет считаться в формулах в минутах (можно в часах).
  • Дртфот — затраты в месяц на специалиста по ручному тестированию (средний ФОТ с учётом всех налогов и премий). Для расчётов примем за 1500 денежных единиц в месяц.
  • 21 — среднее количество рабочих дней в месяце;
  • 8 рабочих часов в день;
  • 60 минут в 1 часе.

Врт = Втест * Ктест, где

  • Втест — время выполнения одного теста вручную. Для расчётов примем за 15 минут на один тест.
  • Ктест — количество тестов, которое необходимо провести в месяц. Здесь необходимо учесть, что если у нас 100 тестов и в месяц выходит 4 релиза, на которых надо проверить по 100 тестов, то общее количество тестов в месяц = 400 шт.

Ктест = Катест * Крелиз, где

  • Катест — количество автотестов готовых к запуску на начало рассчитываемого месяца. Для расчётов примем, что ежемесячно создаётся дополнительно по 100 автотестов.
  • Крелиз — количество выпускаемых релизов в месяц или требуемое количество запусков полного набора автотестов в месяц. Для расчётов примем за 4 релиза в месяц.

Дспециалисты = Дподдержка + Дбизпользователь, где

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

Дподдержка = Кдефект * Кинцидент * Втехраб * (Дтехфот/21/8/60), где

  • Кдефект — количество дефектов, которые были найдены автоматизированными тестами в ПО. Необходимо получить эти данные через выгрузку из ваших систем учёта. Для расчётов примем, что ежемесячно у нас автотесты находят по 2 дефекта.
  • Кинцидент — среднее количество проблем/инцидентов, которые создают пользователи на 1 дефект в продуктивной среде. Необходимо получить эти данные через выгрузку из ваших систем учёта. Среднее количество инцидентов на 1 дефект в каждой компании разное. У кого-то может быть больше, у кого-то меньше, у кого-то эти данные не фиксируются. Для расчётов примем, что на 1 появившийся дефект в промышленной эксплуатации у нас пользователи создают 15 инцидентов.
  • Втехраб — среднее время, затрачиваемое техподдержкой на работу с одним инцидентом и доведением его до закрытия. Необходимо получить эти данные через выгрузку из ваших систем учёта. Для примера примем его за 800 минут.
  • Дтехфот — затраты в месяц на специалиста техподдержки (средний ФОТ с учётом всех налогов и премий). Для расчётов примем за 1000 денежных единиц в месяц.

Дбизпользователь = Кдефект * Кинцидент * Вбизраб * (Дбизфот/21/8/60), где

  • Вбизраб — среднее время, затрачиваемое бизнес-пользователем на работу с одним инцидентом. Необходимо получить эти данные через выгрузку из ваших систем учёта. Для примера примем его за 30 минут (10 минут в попытке разобраться с проблемой и понять, что функционал не работает, 10 минут на заведение инцидента, 10 минут на переписку с поддержкой и уточнения).
  • Дбизфот— затраты в месяц на бизнес-пользователя, который в случае попадания в промышленную эксплуатацию дефектов будет тратить время на заведение и работу с инцидентами (средний ФОТ с учётом всех налогов и премий). Для расчётов примем за 1000 денежных единиц в месяц.

Расчёты

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

Эффективность автоматизированного тестирования по итогам внедрения

Скачать таблицу расчёта эффективность автоматизированного тестирования.

Есть одно важное НО…

У нас расчёт учитывает экономию ФОТ специалистов по ручному тестировании, а также экономию на выявляемых дефектах, которые автотесты отлавливают и которые могли попасть к пользователям. Есть ли тут несоответствия? Есть. Рассмотрим подробнее.

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

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

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

Учитывая всё вышесказанное, необходимо в будущем учитывать, что, проводя расчёты некорректно одновременно учитывать оба эффекта от внедрения автоматизированного тестирования, требуется выбирать один из эффектов.

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