Pokrycie instrukcji jest jednym z powszechnie stosowanych testów oprogramowania. Jest objęty testami białej skrzynki.
Technika pokrycia instrukcji służy do projektowania przypadków testowych białej skrzynki. Technika ta polega na wykonaniu wszystkich instrukcji kodu źródłowego przynajmniej raz. Służy do obliczenia całkowitej liczby wykonanych instrukcji w kodzie źródłowym z całkowitej liczby instrukcji znajdujących się w kodzie źródłowym.
Pokrycie instrukcji wyprowadza scenariusz przypadków testowych w ramach procesu testowania białej skrzynki, który opiera się na strukturze kodu.
W testach białej skrzynki tester koncentruje się na działaniu wewnętrznego kodu źródłowego i schemacie blokowym lub grafie blokowym kodu.
Ogólnie rzecz biorąc, wewnętrzny kod źródłowy zawiera szeroką gamę elementów, takich jak operatory, metody, tablice, pętle, instrukcje sterujące, procedury obsługi wyjątków itp. W oparciu o dane wejściowe przekazane programowi niektóre instrukcje kodu są wykonywane, a inne mogą nie być straconym. Celem techniki pokrycia instrukcji jest uwzględnienie wszystkich możliwych instrukcji wykonawczych i linii ścieżek w kodzie.
Rozumiemy proces obliczania zasięgu zestawienia na przykładzie:
Tutaj bierzemy kod źródłowy, aby utworzyć dwa różne scenariusze zgodnie z wartościami wejściowymi, aby sprawdzić procent pokrycia instrukcji dla każdego scenariusza.
Struktura kodu źródłowego:
- Wprowadź dwie wartości, takie jak a=0 i b=1.
- Znajdź sumę tych dwóch wartości.
- Jeżeli suma jest większa od 0, wypisz „To jest wynik dodatni”.
- Jeśli suma jest mniejsza niż 0, wydrukuj „To jest wynik ujemny”.
input (int a, int b) { Function to print sum of these integer values (sum = a+b) If (sum>0) { Print (This is positive result) } else { Print (This is negative result) } }
To jest więc podstawowa struktura programu i takie jest jego zadanie.
Przyjrzyjmy się teraz dwóm różnym scenariuszom i obliczeniu procentu pokrycia zestawień dla danego kodu źródłowego.
Scenariusz 1:
Jeśli a = 5, b = 4
print (int a, int b) { int sum = a+b; if (sum>0) print ('This is a positive result') else print ('This is negative result') }
W scenariuszu 1 widzimy, że wartość sumy będzie wynosić 9, czyli jest większa niż 0, a zgodnie z warunkiem wynik będzie wynosił „ To pozytywny wynik. ' Instrukcje podświetlone na żółto są instrukcjami wykonania tego scenariusza.
Aby obliczyć pokrycie instrukcji w pierwszym scenariuszu, należy przyjąć całkowitą liczbę instrukcji wynoszącą 7 i liczbę wykorzystanych instrukcji wynoszącą 5.
Total number of statements = 7 Number of executed statements = 5
Statement coverage = 5/7*100 = 500/7 = 71%
Podobnie w scenariuszu 2,
Scenariusz 2:
Jeśli A = -2, B = -7
print (int a, int b) { int sum = a+b; if (sum>0) print ('This is a positive result') else print ('This is negative result') }
W scenariuszu 2 widzimy, że wartość sumy wyniesie -9, czyli jest mniejsza niż 0 i zgodnie z warunkiem wynikiem będzie „ Jest to wynik negatywny. ' Instrukcje podświetlone na żółto są instrukcjami wykonania tego scenariusza.
Aby obliczyć pokrycie instrukcji w pierwszym scenariuszu, należy przyjąć całkowitą liczbę instrukcji wynoszącą 7 i liczbę użytych instrukcji wynoszącą 6.
Całkowita liczba stwierdzeń = 7
Liczba wykonanych instrukcji = 6
Statement coverage = 6/7*100 <br> = 600/7 = 85%
Jednak widzimy, że wszystkie stwierdzenia są uwzględnione w obu scenariuszach i możemy uznać, że ogólne pokrycie stwierdzeń wynosi 100%.
Zatem technika pokrycia instrukcji obejmuje martwy kod, nieużywany kod i gałęzie.