Учитывая все возможные преимущества и недостатки автоматизации тестирования, неизбежно возникает вопрос, как же определить необходимость в автоматических тестах с точки зрения выгоды? Для четкого определения параметров автоматизированного тестирования, необходима определённая методика.
При определении необходимости автоматизации может быть предложен следующий алгоритм:
При определении необходимости автоматизации может быть предложен следующий алгоритм:
1. Прежде всего, нужно учитывать, что необходимый набор автотестов должен определяться на этапе планирования, так как от этого напрямую зависят трудозатраты и сроки тестирования и создания проекта в целом.
2. Необходимо разбить функциональность системы на небольшие функциональные модули. Разбиение должно быть как можно более детальным – чем меньше подмодули, тем оптимальнее будет оценено покрытие автотестами.
3. Для каждого из модулей оценивается время как на ручное тестирование, так и на автоматизированное:
2. Необходимо разбить функциональность системы на небольшие функциональные модули. Разбиение должно быть как можно более детальным – чем меньше подмодули, тем оптимальнее будет оценено покрытие автотестами.
3. Для каждого из модулей оценивается время как на ручное тестирование, так и на автоматизированное:
Tdev - время, необходимое для разработки автоматического теста.
Tman – время, затрачиваемое на ручное тестирование.
Tref – среднее время, необходимое для изменения автоматического скрипта после изменения функциональности.
Tref_manual - среднее время, необходимое для изменения автоматического скрипта после изменения функциональности
nregression - относительное количество тестов, прогоняемых без изменений
Ntotal – общее количество итераций тестирования функционала за предполагаемое время жизни функционала (системы).
Тогда для расчета общего количества времени, затрачиваемого на ручное и автоматическое прохождение тестов на всех итерациях жизненного цикла системы, могут быть применены формулы:
Tman – время, затрачиваемое на ручное тестирование.
Tref – среднее время, необходимое для изменения автоматического скрипта после изменения функциональности.
Tref_manual - среднее время, необходимое для изменения автоматического скрипта после изменения функциональности
nregression - относительное количество тестов, прогоняемых без изменений
Ntotal – общее количество итераций тестирования функционала за предполагаемое время жизни функционала (системы).
Тогда для расчета общего количества времени, затрачиваемого на ручное и автоматическое прохождение тестов на всех итерациях жизненного цикла системы, могут быть применены формулы:
Tmanual_total = Ntotal * Tman + Ntotal * (1-nregression)* Tref_manual
Tautomated_total = Tdev + Ntotal *(1- nregression )* Tref
Автоматизация будет выгодной (при использовании бесплатных инструментов тестирования) при выполнении условия
Tmanual_total ≤ Tautomated_total
Для расчёта выгоды автоматизированного тестирования с использованием коммерческих инструментов тестирования, необходимо рассчитать стоимость ручного и автоматизированного тестирования:
∑(Tmanual_total ) – сумма трудозатрат на ручное тестирование частей функционала, которые предполагается тестировать автоматически.
∑(Tmanual_total ) – сумма трудозатрат на автоматическое тестирование частей функционала, которые предполагается тестировать автоматически.
St – себестоимость тестировщика.
Stesting_tool – себестоимость инструмента тестирования
Npart – удельный вес трудозатрат на тестируемый продукт среди продуктов, которые тестируются соотвествующим коммерческим инструментом тестирования.
Расчет стоимости ручного и автоматизированного тестирования производится по формулам:
Cmanual = ∑(Tmanual_total ) * St
Cautomated = ∑(Tautomated_total ) * St + Stesting_tool*Npart
Критерий выгоды автоматизации при использовании коммерческих инструментов тестирования:
Сmanual ≤ Сautomated
4. При определении необходимости автоматизации тестирования дополнительно могут учитываться следующие факторы:
Сmanual ≤ Сautomated
4. При определении необходимости автоматизации тестирования дополнительно могут учитываться следующие факторы:
- Возможность использования уже имеющихся инструментов для автоматизации, а также разработанных ранее автотестов, так как это может значительно снизить трудозатраты.
- Необходимость включения автоматизации отчетности (отчета о тестировании).
- По-возможности, создаваемые заново тесты на данном этапе тестирования, должны иметь возможность применения в дальнейшем на других этапах тестирования.
Комментариев нет:
Отправить комментарий