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

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

Вы идёте в интернет берёте первую попавшуюся формулу и рассчитываете ROI. Далее идёте к руководителю, а в ответ слышите, что вам необходимо просчитать окупаемость и представить финансовое обоснование. И тут вас начинает одолевать отчаяние, ведь вы не математик, чтобы разработать с нуля расчёты и быть уверенным, что они корректны. Пробуете найти в интернете подобные расчёты и… попадаете на данную статью. Надеюсь, вы нашли данную статью с первого раза и вам не пришлось тратить недели на поиски.

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

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

Термины и определения

ROIt — коэффициент возврата инвестиций в разрезе временных затрат. На основании ROIt можно просчитать выгоду от внедрения автоматизации тестирования в разрезе временных затрат.

ROIm — коэффициент возврата инвестиций в разрезе финансовых затрат. На основании ROIm можно просчитать выгоду от внедрения автоматизации тестирования в разрезе финансовых затрат.

ПО — период окупаемости — время, через которое мы выйдем на окупаемость.

Измеряемый период — период времени, в рамках которого мы производим расчёт (месяц, квартал, год и т.д.). В формулах не используется, однако учитывается при определении определённых параметров. К примеру, у вас есть проект, который будет длиться ровно год, и вы хотите рассчитать эффективно ли внедрять автоматизированное тестирование на этот период. В этом случае измеряемый период равен 1 году (12 месяцев).

Введение

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

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

Расчёт ROIt

ROIt = S / I, где

  • S — Экономия.
  • I — Инвестиции.

Экономия (S) — экономия времени за счёт запуска автоматических тестов по сравнению с ручными тестами (минуты).

Инвестиции (I) — общее время, затраченное на создание, запуск и поддержку автоматизации тестирования (минуты).

S = (ВР — ВА) * КТ * КЗ, где

  • ВР — время выполнения одного теста вручную (минуты).
  • ВА — время выполнения одного теста автоматически (минуты).
  • КТ — количество выполняемых тестов (штуки).
  • КЗ — количество запусков тестов за измеряемый период (штуки). К примеру, в месяц вы каждую неделю проводите регрессионное тестирование 4 раза (1 раз в неделю), то за измеряемый период в 12 месяцев у вас будет 48 запусков (12 * 4).

I = ВРП + (ВРА * КТ) + ЗО, где

  • ВРП — время на разработку платформы автоматизации (минуты). Предварительно перед написанием автотестов необходимо разработать под них платформу (фреймворк).
  • ВРА — время разработки одного автотеста (минуты).
  • ЗО — затраты на обслуживание автотеста (минуты) — временные затраты на исследование и исправление неудачного теста, как ложных срабатываний, так и фактических сбоев.

ЗО = ВИ * (КН/100) * КТ * КЗ, где

  • ВИ — время исправления неудачного теста (минуты) — время, затраченное на обнаружение, диагностику и устранение проблемы по одному неудачному тесту.
  • КН — % неудачных тестов за один запуск (%).

ВИ = (ВМ + ВС + ВХ) / 3, где

  • ВМ — минимально время, затраченное когда-либо на исправление теста (минуты).
  • ВС — среднее время, затрачиваемое на исправление теста, т.е. время, которое затрачивается обычно на исправление типичного теста (минуты).
  • ВХ — наихудшее/максимальное время, затраченное когда-либо на исправление теста (минуты).

Расчёт ROIm

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

ROIm = (T * ФОТР) — (I * ФОТА)ЗП, где

  • T — временные затраты на ручное тестирование в измеряемый период (минуты).
  • ФОТР — фонд оплаты труда ручного тестировщика с учётом оклада, премий, налогов (руб./мин.).
  • ФОТА — фонд оплаты труда тестировщика-автоматизатора с учётом оклада, премий, налогов (руб./мин.).
  • ЗП — затраты прочие. Затраты на лицензии, покупка оборудования, аренда серверов и т.д. Необходимо учитывать затраты за весь измеряемый период.

Т = ВР * КТ * КЗ

Расчёт периода окупаемости

Расчёт периода окупаемости (ПО) приведён в приложенной к статье таблице расчёта ROI.

Интерпретация результатов расчётов ROI

ROItРезультатРасшифровка
< 1ПлохоВложенные затраты не окупаются.
= 1ХорошоВложенные затраты окупаются. Автоматизация тестирования выгодна.
> 1ОтличноВложенные затраты окупаются. Автоматизация тестирования весьма выгодна.
ROImРезультатРасшифровка
< 1ПлохоВложенные затраты не окупаются. Мы не экономим на ручном тестировании.
> 1ХорошоВложенные затраты окупаются. Мы экономим на ручном тестировании.

Примеры расчётов

В расчётах у нас будет принимать участие выдуманная Система Z. Все таблицы расчётов приложены к статье.

Расчёт №.1

У нас реализация проекта (разработки какого-то ПО) занимает 12 месяцев. Требуется рассчитать выгоду внедрения автоматизации тестирования на проекте с привлечением штатного сотрудника (тестировщика-автоматизатора).

Для расчёта возьмём следующие данные:

ПараметрЗначениеЕдиница измерения
Измеряемый период12месяц
Количество запусков тестов за измеряемый период48штука
Количество выполняемых тестов500штука
Время выполнения одного теста вручную10минута
Время выполнения одного теста автоматически0,5минута
Время написания одного автотеста60минута
Время на разработку платформы автоматизации (в формуле перевести в минуты: {недели} * 40 часов * 60 минут)4неделя
Время исправления неудачного теста40минута
% неудачных тестов за один запуск (их придётся исправлять)5процент
ФОТ ручного тестировщика300 000рубль
ФОТ тестировщика-автоматизатора350 000рубль

В этом случае автоматизация тестирования эффективна:

  • ROIt = 2,6
  • ROIm = 3 914 773 руб. — экономия.
  • ПО = 4 месяца.

Расчёт №.2

Реализация проекта — 6 месяцев. Требуется рассчитать выгоду внедрения автоматизации тестирования на проекте с привлечением подрядчика-автоматизатора за которого мы платим 700 000 руб. в месяц.

Для расчёта возьмём следующие данные:

ПараметрЗначениеЕдиница измерения
Измеряемый период6месяц
Количество запусков тестов за измеряемый период24штука
Количество выполняемых тестов500штука
Время выполнения одного теста вручную10минута
Время выполнения одного теста автоматически0,5минута
Время написания одного автотеста60минута
Время на разработку платформы автоматизации (в формуле перевести в минуты: {недели} * 40 часов * 60 минут)4неделя
Время исправления неудачного теста40минута
% неудачных тестов за один запуск (их придётся исправлять)5процент
ФОТ ручного тестировщика300 000рубль
ФОТ тестировщика-автоматизатора700 000рубль

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

  • ROIt = 1,79
  • ROIm = -806 818 руб. – затраты.
  • ПО = 9 месяцев.

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

Как видим на окупаемость проекта влияют ФОТ и длительность проекта. Если бы проект длился 9 месяцев, то мы бы вышли на 102 000 руб. в плюс и в этом случае внедрение автоматизации тестирования было бы оправдано.

Расчёт №.3

У нас проект на 3 года – отлично, так как чем больше срок, тем больше шансов на окупаемость автоматизации тестирования. Предполагаем, что возьмём в штат новичка тестировщика-автоматизатора, который будет слаб в программировании, медленнее работать и будет допускать много ошибок. При таком раскладе понимаем, что процент неудачных тестов в прогоне увеличится на 25%, время на исправление одного неудачного теста увеличится на 60 минут, время написания одного автотеста увеличится до 80 минут.

Для расчёта возьмём следующие данные:

ПараметрЗначениеЕдиница измерения
Измеряемый период36месяц
Количество запусков тестов за измеряемый период144штука
Количество выполняемых тестов500штука
Время выполнения одного теста вручную10минута
Время выполнения одного теста автоматически0,5минута
Время написания одного автотеста80минута
Время на разработку платформы автоматизации (в формуле перевести в минуты: {недели} * 40 часов * 60 минут)4неделя
Время исправления неудачного теста60минута
% неудачных тестов за один запуск (их придётся исправлять)25процент
ФОТ ручного тестировщика300 000рубль
ФОТ тестировщика-автоматизатора250 000рубль

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

  • ROIt = 0,54
  • ROIm = -2 452 652 руб. – потери за 3 года и в дальнейшем финансовые потери увеличиваются.
  • ПО = бесконечность.

Таблицы расчётов

Скачать шаблон таблицы расчёта ROI автоматизации тестирования и таблицы с примерами расчётов.

Выводы

Внедрение автоматизации тестирования считается эффективным при соблюдении двух условий:

  • ROIt равен или больше 1.
  • ROIm больше 0.

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

Многие считают ROIt забывая о ROIm, который играет ключевую роль для владельцев компаний. Вы можете выигрывать по времени, но терять финансы и иногда весьма ощутимые. На постоянные финансовые потери владельцы и директора компаний не пойдут.

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