четверг, 23 мая 2013 г.

Экономическая выгода от автоматизации тестирования

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

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

      2. Необходимо разбить функциональность системы на небольшие функциональные модули. Разбиение должно быть как можно более детальным – чем меньше подмодули, тем оптимальнее будет оценено покрытие автотестами.

      3. Для каждого из модулей оценивается время как на ручное тестирование, так и на автоматизированное:
            Tdev - время, необходимое для разработки автоматического теста.
            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. При определении необходимости автоматизации тестирования дополнительно могут учитываться следующие факторы:
  • Возможность использования уже имеющихся инструментов для автоматизации, а также разработанных ранее автотестов, так как это может значительно снизить трудозатраты.
  • Необходимость включения автоматизации отчетности (отчета о тестировании).
  • По-возможности, создаваемые заново тесты на данном этапе тестирования, должны иметь возможность применения в дальнейшем на других этапах тестирования.

Комментариев нет:

Отправить комментарий