Вы решили внедрить автоматизированное тестирование в рамках всей компании или же в рамках определённого проекта реализуемого в компании. Вы в предвкушении от выгод, которые сулит вам автоматизированное тестирование. Приходите к руководителю с данной идеей, а в ответ вас просят доказать, что автоматизированное тестирование эффективно в вашем случае.
Вы идёте в интернет берёте первую попавшуюся формулу и рассчитываете 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.