Основы тестирования программного обеспечения



             

Уменьшение объема тестируемой программы - часть 2


Для теста 1 рис. 12.1 для функции Equation остаточная программа выглядит так, как показано в Табл. 13.1. Нумерация строк оставлена такой же, как в исходной программе. Таким образом, можно заметить, что были удалены строки 6 и 7, которые не затрагиваются тестом 1 в ходе его выполнения, а также строки 3 и 8, содержащие вычисление предикатов, которые в ходе выполнения теста всегда истинны. Запуск теста на полной измененной программе и на остаточной программе приводит к активизации одних и тех же операторов, поэтому выигрыша во времени получить не удается, однако за счет сокращения объема программы уменьшается время компиляции. Для нашего примера этот выигрыш незначителен и не оправдывает затрат на анализ, необходимый для уменьшения объема. Таким образом, рассмотренная технология рекомендуется к применению, прежде всего, в случаях, когда стоимость компиляции относительно высока.

Таблица 13.1. Остаточная программа№Строка кода
1 double Equation(int Print, float A, float B, float C, float& X1, float& X2) {
2 float D = B * B - 4.0 * A * C;
4 X1 = (-B + sqrt(D)) / 2.0 / A;
5 X2 = (-B - sqrt(D)) / 2.0 / A;
9 printf("Solution: %f, %f\n", X1, X2);
10 return D;
11 }

Сведения о методике уменьшения объема тестируемой программы приведены в Табл. 13.2.

Таблица 13.2. Результаты применения методики уменьшения объемаХарактеристикаИзменение в результате применения методики
Время компиляции тестируемой программыУменьшается
Время выполнения тестируемой программыНе изменяется
Время работы метода отбораУвеличивается
Риск пропуска ошибокУвеличивается
Результаты применения методики на практикеОтрицательные



Содержание  Назад  Вперед