Читать в оригинале

<< Предыдущая Оглавление Следующая >>


3.3.1. Плоская модель программы

Для оценки степени оттестированности часто используется УГП - управляющий граф программы. Рассмотрим следующий пример компонента программы G, для которого построен УГП (Рис. 12) в виде многокомпонентного объекта G. Он содержит внутри себя два компонента G1 и G2, УГП которых раскрыты.

// Пример плоской модели проекта
public void G() {
         int TerminalStatus=0, CommandStatus=0;
         bool IsPresent=true, CommandFound=true;
1       Init();
2       switch (TerminalStatus) {
         case 11 :
11        AddCommand();
16        switch (CommandStatus) {
            case 12 :
12                  GetMessage();
13                  ClearQueue();
                      break;
            case 17 :
17                  ClearQueue(); break;
            case 18 :
18                   DumpQueue(); break;
            } // switch CommandStatus
14        ProcessCommand();
15        Commit();
            break;
            case 3 :
3                      AskTerminal();
4                      if (IsPresent) {
5                                 Connect();
                        }
6                      RebuildQueue();
                        break;
            case 19 :
19                    SearchValidCommand();
20                    if (CommandFound) {
21                    AnalyzeCommand();
                        }
                        else {
23                               LogError();
                        }
24                    MoveNextCommand();
                        break;
            } // switch TerminalStatus
7         LogResults();
10        DisposeAll();
}

Рис. 12. Плоская модель УГП компонента G

В результате УГП компонента G имеет такой вид, как если бы компоненты G1 и G2 в его структуре специально не выделялись, а УГП компонентов G1 и G2 были вставлены в УГП G. Для тестирования компонента G в соответствии с критерием путей потребуется прогнать тестовый набор, покрывающий следующий набор трасс графа G:

P1(G) = 1-2-3-4-5-6-7-10;
P2(G) = 1-2-3-4-6-7-10;
P3(G) = 1-2-11-16-18-14-15-7-10;
P4(G) = 1-2-11-16-17-14-15-7-10;
P5(G) = 1-2-11-16-12-13-14-15-7-10;
P6(G) = 1-2-19-20-23-22-7-10;
P7(G) = 1-2-19-20-21-22-7-10.

Оценка степени тестированности плоской модели определяется долей прогнанных трасс из набора необходимых для покрытия в соответствии с критерием С.

(3.3-1)       TV(G,C) = (V-DV)/V = ΣPTi(G) / (ΣPi(G)),

где PTi(G) - тестовый путь (ti) в графе G плоской модели равен 1, если он протестирован (прогнан), или 0, если нет.

Например, если в УГП (Рис. 12) тесты t6 и t7, которым соответствуют трассы P6 и P7, не прогнаны, то в соответствии с соотношением (3.3-1) для TV(G,G) степень тестированности будет оценена в (7-2)/7 = 0.71.

 



<< Предыдущая Оглавление Следующая >>