Что такое тестирование ветвей?

Тестирование ветвей – это тип тестирования “белого ящика”, который используется для проверки всех возможных ветвей в графе потока управления программы. Во время этого тестирования каждая ветвь в коде выполняется хотя бы один раз.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туторилов, задач по автоматизации и книг по QA.

Зачем нужно тестирование ветвей?

Тестирование ветвей необходимо потому, что:

  • Оно гарантирует, что ни одна ветвь в коде не приведет к аномальному поведению программы.
  • Оно обеспечивает проверку всех веток кода.
  • Оно максимально увеличивает тестовое покрытие кода программы.

Расчет тестирования ветвей

Тестирование ветвей программы осуществляется путем вычисления метрики, называемой покрытие ветвей. Покрытие ветвей – это отношение количества покрытых ветвей к их общему количеству. Это значение рассчитывается по следующей формуле:

Пример

Рассмотрим приведенный ниже фрагмент кода, который представляет собой простую программу для нахождения максимума двух чисел:

int a = 2;
int b = 5;
if(a>b){
  cout<<"a is max";
}else{
  cout<<"b is max";
}

Граф потока управления

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

Тестирование ветвей

Ветви

Ветви в приведенном выше графе потока управления – это A, B, C, D, E, F и G.

Покрытие ветвей

Для максимального покрытия ветвей берем путь:

Путь 1 = 1A-2B-3C-4D-5F-7

  • Покрытые ветви = A, B, C, D, F
  • Непокрытые ветви = E, G

Покрытие ветвей для Пути 1 будет следующим:

Покрытие ветвей = (количество охваченных ветвей / общее количество ветвей) x 100

Покрытие ветвей = (5 / 7) x 100

Покрытие ветвей = 71%

Ветви E и G в Пути 1 не охвачены. Чтобы покрыть ветви их, мы выбираем путь:

Путь 2 = 1A-2B-3C-4E-6G-7

  • Покрытые ветви = A, B, C, E, G
  • Непокрытые ветви = D, F

Покрытие ветвей Пути 2 будет следующим:

Охват ветвей = (количество охваченных ветвей / общее количество ветвей) x 100

Покрытие ветвей = (5 / 7) x 100

Покрытие ветвей = 71%

Для 100% покрытия ветвей мы объединяем оба пути, Путь 1 и Путь 2. Финальное тестирование ветвей приведенного выше графа потока управления становится таким:

  • Путь 1 = 1A-2B-3C-4D-5F-7
  • Путь 2 = 1A-2B-3C-4E-6G-7

Перевод статьи Kainat Asif «What is branch testing?».

1 комментарий к “Что такое тестирование ветвей?”

  1. Пингбэк: Большой учебник по тестированию

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *