Научная статья на тему 'АНАЛИЗ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ВНЕДРЕНИЯ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ ПРИ РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ'

АНАЛИЗ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ВНЕДРЕНИЯ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ ПРИ РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
368
42
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ / ЭФФЕКТИВНОСТЬ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ / ROI / ВОЗВРАТ ИНВЕСТИЦИЙ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Масалимов Т.Р., Сайфуллина С.Ф.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ANALYSIS OF THE ECONOMIC EFFICIENCY OF AUTOMATED TESTING IMPLEMENTATION IN SOFTWARE DEVELOPMENT

The article considers the main factors influencing the effectiveness of the implementation of automated testing in software development teams. A method is proposed for assessing the need to automate manual testing (test cases) based on checklists and a decision tree previously presented in other works. Factors related to the availability of specialists necessary for automation, their qualifications and the availability of automation tools in the company were added to the checklist and decision tree. Also, a method for assessing the economic efficiency of introducing test automation based on the analysis of the return of investment ratio is presented.

Текст научной работы на тему «АНАЛИЗ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ВНЕДРЕНИЯ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ ПРИ РАЗРАБОТКЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

электронный научно-экономическии журнал

Анализ экономической эффективности внедрения автоматизированного тестирования при разработке программного обеспечения / Analysis of the economic efficiency of automated testing implementation in software development Т.Р. Масалимов, С.Ф. Сайфуллина / T.R. Masalimov, S.F. Sayfullina

DOI: 10.17747/2311-7184-2023-3-68-76 УДК 004.413.2

стр 68

Анализ экономической эффективности внедрения автоматизированного тестирования при разработке программного обеспечения

Масалимов Т.Р, магистрант, Уфимский государственный нефтяной технический университет (Уфа, Россия).

ORCID: 0009-0001-2922-7925 mstimur941@gmail.com

Сайфуллина С.Ф., к.э.н., доцент, Уфимский государственный нефтяной технический университет (Уфа, Россия).

ORCID: 0000-0002-5425-102X sofia-ufa@yandex.ru

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

Ключевые слова: тестирование программного обеспечения, автоматизация тестирования программного обеспечения, эффективность автоматизации тестирования, ROI, возврат инвестиций.

Analysis of the economic efficiency of automated testing implementation in software development

Masalimov T.R., master's student, Ufa State Petroleum Technological University (Ufa, Russia).

ORCID: 0009-0001-2922-7925 mstimur941@gmail.com

Sayfullina S.F., сand. sci. (econ.), associate professor, Ufa State Petroleum Technological University (Ufa, Russia).

ORCID: 0000-0002-5425-102X

sofia-ufa@yandex.ru

Abstract. The article considers the main factors influencing the effectiveness of the implementation of automated testing in software development teams. A method is proposed for assessing the need to automate manual testing (test cases) based on checklists and a decision tree previously presented in other works. Factors related to the availability of specialists necessary for automation, their qualifications and the availability of automation tools in the company were added to the checklist and decision tree. Also, a method for assessing the economic efficiency of introducing test automation based on the analysis of the return of investment ratio is presented. Keywords: software testing, software test automation, software test automation efficiency, ROI, return of investment.

Введение

Автоматизированное тестирование программного обеспечения - это набор действий для облегчения обнаружения и оценки свойств рабочего продукта, подлежащего тестированию, использующий инструменты, роботов и другие механизмы автоматического выполнения тестов [8]. Так же, как и в производстве, автоматизация тестирования в процессе разработки программного обеспечения позволяет избавить человека (специалиста по тестированию) от большого количества рутинной работы и несет ряд преимуществ при правильном использовании.

Преимущества автоматизации тестирования:

- автономность: тесты выполняются автоматически без вмешательства человека; они могут запускаться по расписанию или реагируя на определенные события;

- скорость: автотесты выполняются намного быстрее, чем проверки, осуществляемые человеком;

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

Анализ экономической эффективности внедрения автоматизированного тестирования при разработке программного обеспечения / Analysis of the economic efficiency of automated testing implementation in software development Т.Р. Масалимов, С.Ф. Сайфуллина / T.R. Masalimov, S.F. Sayfullina

- масштаб: автотесты позволяют сымитировать действия большого количества пользователей, взаимодействующих с программой; нагрузочные и стресс-тесты преимущественно являются автоматизированными;

- экономия времени: освобождение специалистов по тестированию от рутинных проверок;

- экономия средств: сокращение затрат на ручное тестирование и повышение качества программного продукта за счет своевременного выявления дефектов в результате грамотного сочетания ручного и автоматизированного тестирования;

- точность и повторяемость: результаты автотестирования детерминированы, проверки проводятся полностью и точно так, как описано в сценарии [1]. Автотесты в отличие от человека постоянно выполняют одни и те же действия; это исключает появление ошибок, которые могут возникнуть у специалиста по тестированию в результате невнимательности.

Ограничения автотестирования:

- необходимость поддержки: нужно следить, чтобы тесты были в актуальном состоянии; большинство компаний сталкиваются с необходимостью внесения исправлений в код автотестов после изменений в используемых технологиях или разрабатываемом программном обеспечении [2].

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

- жесткие условия проверок: автотест проверяет только то, что описано в его коде; в отличие от человека он не обнаружит даже очень явную ошибку, если такое поведение не было заложено в его сценарий;

- сложность реализации для некоторых тестов: некоторые типы тестирования сложно автоматизировать - юзабилити, иХ-тестирование, работа с видео или изображениями, инсталляционное тестирование.

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

Учитывая вышеописанные проблемы, необходимо более подробно рассмотреть метод анализа целесообразности внедрения автоматизированного тестирования в компании или команде с определенным сроком разработки ПО.

Согласно исследованию [4], при анализе необходимости и эффективности автоматизации тестирования специалисты по обеспечению качества в разных IT-компаниях могут ориентироваться на некоторые основные факторы, которые разделены на следующие категории: связанные с тестируемой системой, связанные с тест-кейсом, связанные с инструментом тестирования, связанные с людьми и организацией. Исследование возможности автоматизации тестов на основе подобных факторов было рассмотрено в работе [7], где был предложен метод, использующий дерево принятия решений. В финальном варианте предложенного метода автор не включает в оценку факторы, связанные с квалификацией специалистов по тестированию и доступностью необходимых инструментов. При этом такие факторы оказывают значительное влияние на процесс автоматизации и способны стать узким местом или вовсе могут блокировать весь процесс автоматизации. В сравнительном исследовании [3] авторы приходят к выводу, что при всех достоинствах автоматизации специалисты по автотестированию должны обладать обширными навыками для использования подходящих инструментов, а также пониманием предметной области тестируемой системы. Выводы из исследования [10] содержат информацию о том, что проекты по автоматизации тестирования требуют работы опытных специалистов, обладающих навыками программирования, использования инструментов автоматизации, а также знаниями в области тестирования, включая опыт работы с тестируемой системой. В работе [9] по результатам опроса отмечается, что среди факторов, которые мешают развитию тестирования, фигурирует недостаточное количество квалифицированных специалистов и подходящих инструментов. Согласно результатам опроса, проведенного в [5], 62,1% респондентов (специалистов по тестированию) используют инструменты автоматизированного тестирования в повседневной работе. Применение таких инструментов, как правило, не требует специфических знаний или навыков. Но в случае отсутствия возможности их использования в компании по каким-либо причинам простая задача тестирования может стать в разы сложнее и потребует больших усилий и времени от тестировщиков. В то же время подбор необходимого инструмента автотестирования - это отдельная задача, зависящая от таких факторов, как тип используемого метода тестирования, тип тестируемой системы, стоимость и временные ограничения, навыки специалиста по тестированию [3]. Поэтому фактор наличия квалифицированного специалиста (Q2) и фактор наличия подходящего для решаемой задачи инструмента (Q4) достаточно тесно связаны.

Таким образом, для оценки целесообразности автоматизации тестирования необходимо также принять во внимание вышеописанные факторы. Новизна исследования заключается в дополнении предложенного чек-листа факторами, связанными с наличием Automation QA инженеров (AQA специалистов) в компании, их квалификацией и доступностью инструментов тестирования (группы Q2-Q5). Кроме этого, в предложенный метод включена

1. Метод оценки целесообразности

электронный научно-экономический журнал стр 70

Анализ экономической эффективности внедрения автоматизированного тестирования при разработке программного обеспечения / Analysis of the economic efficiency of automated testing implementation in software development Т.Р. Масалимов, С.Ф. Сайфуллина / T.R. Masalimov, S.F. Sayfullina

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

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

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

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

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

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

Таблица 1. Чек-лист для оценки эффективности при внедрении автоматизированного тестирования

№ Описание Оценка

Q1 (7 баллов)

1 Тестируемая система или ее целевые компоненты в будущем не претерпят серьезных изменений

2 Интерфейс взаимодействия с тестируемой системой вряд ли изменится, или изменения не будут существенными

3 Результаты тестов детерминированы

4 Результаты тестов не требуют решения человека

5 Тесты надежны, не приводят к большому количеству ложных срабатываний

6 Результаты тестов легко анализировать автоматически

7 Отсутствует возможность ошибочной оценки результатов тестов / вероятность ошибок при выполнении тестов низкая

Q2 (1 балл)

8 Наши инженеры по тестированию обладают достаточными навыками для автоматизации выбранной группы тестов 1

9 Мы можем позволить себе обучение автоматизации наших инженеров по тестированию или нанять сотрудников, обладающих нужными компетенциями 1

Q3 (1 балл)

10 В компании доступны подходящие тестовые инструменты или альтернативы 1

Q4 (1 балл)

11 Мы экспериментировали с инструментом автоматизации тестирования, который планируем использовать, и получили положительные результаты 1

12 Мы уже успешно использовали или внедряли инструмент в компании, имеем опыт работы с ним 1

Q5 (1 балл)

13 Наши инженеры имеют опыт работы с выбранным инструментом, но он еще не использовался в компании 1

14 Мы можем позволить обучение наших инженеров использованию выбранного инструмента 1

электронный научно-экономический журнал стр 71

Анализ экономической эффективности внедрения автоматизированного тестирования при разработке программного обеспечения / Analysis of the economic efffciency of automated testing implementation in software development Т.Р. Масалимов, С.Ф. Сайфуллина / T.R. Masalimov, S.F. Sayfullina

Таблица 1 - продолжение

№ Описание Оценка

Q6 (1 балл)

15 Автоматизация тестированию имеет экономический эффект 1

Q7 (4 балла)

16 Тестируемая система имеет решающее значения для бизнеса

17 Тест охватывает наиболее важные функции

18 Тест, вероятнее всего, выявит зоны повышенного риска

19 Необходимо частое регрессионное тестирование

20 Для тестируемой системы планируется/характерно большое количество сборок и релизов

Q8 (3 балла)

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

22 Автоматизация тестирования не потребует больших усилий по обслуживанию 1

23 Есть необходимая инфраструктура для запуска автотестов / мы можем выстроить необходимую инфраструктуру 1

Q9 (3 балла)

24 У нас есть возможность влиять или контролировать изменения в тестируемой системе 1

25 Наш процесс разработки программного обеспечения требует автоматизации тестирования для эффективного функционирования, например гибких методологий (Agile, DevOps) 1

26 Тестировщики могут совершать ошибки при выполнении и оценке ручных тестов, необходима повышенная бдительность при проверке 1

27 У нас есть организационная и высшая управленческая поддержка для автоматизации тестирования 1

Q10 (1 балл)

28 Время жизни тестов высокое

29 Большое количество тестов, похожих друг на друга

30 Большинство тестов из группы требует больших объемов данных

31 Тестируемая система - это продукт с длительным жизненным циклом и большим сроком разработки

32 Тесты необходимо запускать в нескольких аппаратных и программных средах и конфигурациях

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

34 Выбранную группу тестов можно отнести к Бтоке-тестам или тестам сборки

35 Выбранную группу тестов можно повторно использовать как часть других тестов

Представленный чек-лист используется совместно с блок-схемой (рис. 1) для принятия решения по автоматизации выбранных тестов.

2. Оценка экономической эффективности

Для ответа на вопрос Q6 «Автоматизация тестирования имеет экономический эффект» рекомендуется использовать расчет возврата инвестиций (ROI). Для этого используется простая формула расчета ROI:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

= Прибыль ™ Инвестиции

ROIm при этом рассчитывается на определенный период времени. Этот период лучше принять равным периоду разработки программного обеспечения.

Прибылью будем считать сэкономленные на ручном тестировании деньги (Sman), а также эффект от снижения дефектов в разрабатываемом ПО (Spmd).

Прибыль = Sm + Su о

5па= СлюКппя оПГ1 '

где C±v - средняя стоимость исправления бага на этапе разработки (руб.);

Kprod - коэффициент стоимости дефекта, обнаруженного в продуктивной среде; показывает, во сколько раз дороже будет стоить исправление ошибки в продуктивной среде по сравнению с этапом разработки; Nprod - среднее количество багов, обнаруженных в продуктивной среде за аналогичный период; Dpod - процент выявляемых автотестами багов (дефекты, не попавшие в продуктивную среду) (%).

электронный научно-экономическии журнал

Анализ экономической эффективности внедрения автоматизированного тестирования при разработке программного обеспечения / Analysis of the economic efficiency of automated testing implementation in software development Т.Р. Масалимов, С.Ф. Сайфуллина / T.R. Masalimov, S.F. Sayfullina

Рис. 1. Схема для принятия решения о внедрении автоматизации тестирования

где t

S = (t N -1 , ) N W

man 4 man t analyze r m<

- среднее время на выполнение теста вручную (ч);

N, - общее количество тестов (тест-кейсов);

analyze

время на анализ результатов автоматизированного запуска тестов (ч);

N - среднее количество прогонов тест-плана за установленный период; Wman - средняя заработная плата специалиста по тестированию (руб./ч).

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

Инвестиции = I +I.. +I . +I, ,

' auto inj soft learny

где Iuto - затраты на работу специалиста по автоматизированному тестированию (руб.); Innf - инвестиции в инфраструктуру (руб.);

I - инвестиции в программное обеспечение и инструменты тестирования (руб.);

soft

I,

инвестиции в обучение специалистов по тестированию (руб.).

I , = C t w ,,

auto auto autoy

где Cuto - временные затраты на автоматизацию тестов (ч);

Wautto - средняя заработная плата специалиста по автоматизированному тестированию (руб./ч).

Cauto ^fr 'dev Nt) ^maint

где tfr - время на разработку или внедрение фреймворка/платформы/инструмента автотестирования (ч); tdev - среднее время на автоматизацию теста (ч); Nt — общее количество тестов (тест-кейсов); t - время на обслуживание автоматизированных тестов (ч).

tmain

F

'■ ¿/ix-ZVi-A/r yog-,

где fi - среднее время на исправление ошибок автотеста и его актуализацию (ч); Nt - общее количество тестов (тест-кейсов);

Nr - среднее количество прогонов тест-плана за установленный период; F - средний процент автотестов, требующих обслуживания после каждого запуска (%).

Если коэффициент ROIm для оценки экономической эффективности больше 1, то можно сделать вывод о целесообразности автоматизация с экономической точки зрения. В таком случае в вопросе Q6 представленного чек-листа будет выставлен 1 балл и можно будет перейти к следующей группе вопросов Q7. В противном случае можно сделать вывод о том, что автоматизация тестов за установленный период не принесет финансовой выгоды компании. Это не значит, что однозначно стоит отказаться от нее (возможно, существуют более весомые аргументы в пользу автоматизации в частных случаях). Тем не менее в общем случае автоматизировать тесты при отсутствии экономического эффекта для бизнеса не рекомендуется.

В дополнение к ROIm можно проанализировать ROIt по времени выполнения тестов. Хотя этот показатель не фигурирует в чек-листе, рекомендуется рассчитать его, особенно для проектов со сравнительно небольшим сроком разработки. ROIt по времени выполнения позволит оценить эффективность вложенных в автоматизацию трудозатрат. ROIt < 1 говорит о том, что затраченное на автоматизацию время больше, чем время на выполнение ручного тестирования за установленный срок.

ROI = -J-,

где S - сэкономленное время; avi0

C , - временные затраты на автоматизацию тестов за установленный период (ч);

стр 72

электронный научно-экономическии журнал

Анализ экономической эффективности внедрения автоматизированного тестирования при разработке программного обеспечения / Analysis of the economic efficiency of automated testing implementation in software development Т.Р. Масалимов, С.Ф. Сайфуллина / T.R. Masalimov, S.F. Sayfullina

где t

S = (t

4 m<

- время на выполнение теста вручную (ч);

t

,) N N,

'o' t r

tauto - время на выполнение автоматизированного теста; Nt - общее количество тестов (тест-кейсов);

Nr - среднее количество прогонов тест-плана за установленный период.

С , = f + (t. N) + t .,

auto Jr v dev t' maint

стр 73

3. Использование метода анализа экономической эффективности на примере ООО «Газпромнефть-ЦР»

Описанные методы были использованы для оценки целесообразности автоматизации ручных тестов на одном из проектов, разрабатывающих программное обеспечение в компании «Газпромнефть-ЦР». Была проанализирована возможность автоматизации одной группы тестов, связанных с проверкой корректного отображения различных элементов графического интерфейса пользователя (GUI). Набор содержит пять тестов, каждый выполняется около 3 мин. Тесты достаточно сложны для автоматизации, так как требуют взаимодействия с элементами графического интерфейса и анализа изображений. Для этого некоторое время было потрачено на изучение возможных инструментов и вариантов автоматизации, а также на разработку фреймворка.

Эффект от автоматизации рассчитывается для четырех месяцев. В качестве величины заработной платы было выбрано медианное значение по соответствующим предложениям на рынке труда (для специалиста по тестированию - около 110 тыс. руб., для специалиста по автоматизированному тестированию - около 170 тыс. руб.). Необходимые исходные данные представлены в табл. 2.

Таблица 2. Исходные данные для оценки

Показатель Единица измерения Значение Описание

руб. 2000

Kprod 30

ед. 12 В среднем обнаруживается 2-3 дефекта в месяц

DDprod % 90 Целевой показатель

t man ч 0,05 Около 3 мин.

N ед. 5

^atah'ze ч 0,03 Около 2 мин.

N ед. 8 2 регрессионные проверки в месяц

W man руб./ч 625

1 f mt руб. 0 Дополнительные затраты на инфраструктуру не предусматриваются

руб. 0 Дополнительные затраты на ПО не предусматриваются

^lerna руб. 0 Дополнительные затраты на обучение не предусматриваются

W t auto руб./ч 966

ч 480 Разработка фреймворка включает также время на исследование инструментов

^dev ч 80

^fix ч 0,25 Около 15 мин.

F % 20 Предположительно, каждый пятый запуск необходимо обновлять данные

для тестов

t , auto ч 0,07

SUa — Ctai-Knn

D\ |Г.

Пи цд = 2000-30 12 0,9 = 648000 руб. S = (t N -1 , ) N W = (0,05-5 - 0,03) -8-625 = 1100 руб.

man * man t anatyze' r man v ' ' '

Прибыль = Sm + 5nn= 1100 + 648000 = 649000 руб.

í»* = tfljfjfr-^ = 0,25 • 1 • 8 • 0,2 = 0,4 4.

C o = t. + (td N) + t = 480 + (80-1) + 0,4 = 560,4 ч.

auto jr v dev t' maint v ' '

I = C W = 560,4-966 = 541 346,4 руб.

auto auto auto

Инвестиции = I + I, + I. + I = 541 346,4 руб.

auto mj soj tearn ' 1 J

электронный научно-экономическии журнал

Анализ экономической эффективности внедрения автоматизированного тестирования при разработке программного обеспечения / Analysis of the economic efficiency of automated testing implementation in software development Т.Р. Масалимов, С.Ф. Сайфуллина / T.R. Masalimov, S.F. Sayfullina

ROL =

Прибыль

649 000

«1,2

Инвестиции 541346,4

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

S = (t -1 t) NN = (0,25 - 0,07) -1-8 = 1,44 ч.

v man auto/ t r 4■ ' ' '

ROlt < 1, что говорит о крайне неэффективном результате с точки зрения потраченного на автоматизацию времени. ROIm > 1 - можно сделать вывод о том, что автоматизация данного теста экономически целесообразна. Эффект от автоматизации достигается преимущественно за счет снижения затрат на исправление дефектов в будущем.

Анализ по факторам из чек-листа представлен в табл. 3.

Таблица 3. Результаты ответов по чек-листу для автоматизации тест-кейса в одной из команд разработки в компании «Газпромнефть-ЦР»

стр 74

№ Описание Оценка

Q1 (7 баллов)

1 Тестируемая система или ее целевые компоненты в будущем не претерпят серьезных изменений

2 Интерфейс взаимодействия с тестируемой системой вряд ли изменится или изменения не будут существенными

3 Результаты тестов детерминированы

4 Результаты тестов не требуют решения человека

5 Тесты надежны, не приводят к большому количеству ложных срабатываний

6 Результаты тестов легко анализировать автоматически

7 Отсутствует возможность ошибочной оценки результатов тестов / вероятность ошибок при выполнении тестов низкая

Q2 (1 балл)

8 Наши инженеры по тестированию обладают достаточными навыками для автоматизации выбранной группы тестов 0

9 Мы можем позволить себе обучение автоматизации наших инженеров по тестированию или нанять сотрудников, обладающих нужными компетенциями 1

Q3 (1 балл)

10 В компании доступны подходящие тестовые инструменты или альтернативы 1

Q4 (1 балл)

11 Мы экспериментировали с инструментом автоматизации тестирования, который планируем использовать, и получили положительные результаты 0

12 Мы уже успешно использовали или внедряли инструмент в компании, имеем опыт работы с ним 0

Q5 (1 балл)

13 Наши инженеры имеют опыт работы с выбранным инструментом, но он еще не использовался в компании 0

14 Мы можем позволить обучение наших инженеров использованию выбранного инструмента 1

Q6 (1 балл)

15 Автоматизация тестирования имеет экономический эффект 1

Q7 (4 балла)

16 Тестируемая система имеет решающее значение для бизнеса 1

17 Тест охватывает наиболее важные функции 0

18 Тест, вероятнее всего, выявит зоны повышенного риска 0

19 Необходимо частое регрессионное тестирование 1

20 Для тестируемой системы планируется/характерно большое количество сборок и релизов 1

Q8 (3 балла)

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

22 Автоматизация тестирования не потребует больших усилий по обслуживанию 1

23 Есть необходимая инфраструктура для запуска автотестов / мы можем выстроить необходимую инфраструктуру 1

электронный научно-экономический журнал стр 75

Анализ экономической эффективности внедрения автоматизированного тестирования при разработке программного обеспечения / Analysis of the economic efficiency of automated testing implementation in software development Т.Р. Масалимов, С.Ф. Сайфуллина / T.R. Masalimov, S.F. Sayfullina

Таблица 3 - продолжение

№ Описание Оценка

Q9 (3 балла)

24 У нас есть возможность влиять или контролировать изменения в тестируемой системе 1

25 Наш процесс разработки программного обеспечения требует автоматизации тестирования для эффективного функционирования, например гибких методологий (Agile, DevOps) 1

26 Тестировщики могут совершать ошибки при выполнении и оценке ручных тестов, необходима повышенная бдительность при проверке 1

27 У нас есть организационная и высшая управленческая поддержка для автоматизации тестирования 0

Q10 (1 балл)

28 Время жизни тестов высокое 1

29 Большое количество тестов, похожих друг на друга 0

30 Большинство тестов из группы требует больших объемов данных 0

31 Тестируемая система - это продукт с длительным жизненным циклом и большим сроком разработки 1

32 Тесты необходимо запускать в нескольких аппаратных и программных средах и конфигурациях 0

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

34 Выбранную группу тестов можно отнести к Бтоке-тестам или тестам сборки 1

35 Выбранную группу тестов можно повторно использовать как часть других тестов 1

Схема принятия решения для полученного чек-листа изображена на рис. 2.

Рис. 2. Схема для принятия решения об автоматизации тест-кейса в компании «Газпромнефть-ЦР»

На рис. 2 зеленым отмечены группы вопросов, набравшие достаточное количество баллов, красным - не набравшие нужного количества.

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

Анализ экономической эффективности внедрения автоматизированного тестирования при разработке программного обеспечения / Analysis of the economic efficiency of automated testing implementation in software development Т.Р. Масалимов, С.Ф. Сайфуллина / T.R. Masalimov, S.F. Sayfullina

Заключение

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

1. Царев Ю.В., Сильянова Е.Ф., Кисельников С.А. Особенности ручного и автоматизированного тестирования программного обеспечения // Вестник науки. 2021. № 6(39). С. 117-121.

2. Ayo A. Research on software testing and effectiveness of automation testing. URL: https://www.researchgate.net/ publication/333203621_Research_on_software_testing_and_effectiveness_of_automation_testing.

3. Bindu Bhargavi S.M., Suma V. A survey of the software test methods and identification of critical success factors for automation // SN Computer Science. 2022. No 449. P. 1-9.

4. Garousi V., Mantyla M. When and what to automate in software testing? A multi-vocal literature review // Information and Software Technology. 2016. No 76. P. 1-38.

5. Kanij T., Merkel R., Grundy J. A preliminary survey of factors affecting software testers // 23rd Australian software engineering conference. 2014.

6. Kumar D., Mishra K. The impacts of test automation on software's cost, quality and time to market // Procedia Computer Science. 2016. No 79. P. 8-15.

7. Lindholm D. Economics of test automation - test case selection for automation. URL: https://liu.diva-portal.org/ smash/get/diva2:1294193/FULLTEXT01.pdf.

8. Software and systems engineering - Software testing - Part 1: General concepts. URL: https://www.iso.org/obp/ ui/#iso:std:iso-iec-ieee:29119:-1:ed-2:v1:en.

9. Toroi T., Raninen A., Vaatainen L. Identifying process improvement targets in test processes: A case study // IEEE International Conference on Software Maintenance. 2013.

10. Wiklund K., Eldh S., Sundmark D., Lundqvist K. Impediments for software test automation: A systematic literature review: Impediments for Software Test Automation // Software Testing Verification and Reliability. 2017. No 27(2).

Использованные источники

i Надоели баннеры? Вы всегда можете отключить рекламу.