3.1 Podstawy testowania statycznego Flashcards

1
Q

Zdefiniuj testowanie statyczne

A

Do testowania statycznego nie jest wymagane uruchamianie oprogramowania. Kod, specyfikacje procesów, specyfikacja architektury systemu czy inne produkty pracy (work products) są oceniane ręcznie (np. poprzez przeglądy) albo z pomocą narzędzi (np. analizy statycznej).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Jakie są cele testowania statycznego?

A
  • Wczesne podnoszenie jakości (ang. improving quality early),
  • Wykrywanie defektów związanych z czytelnością, kompletnością, poprawnością, testowalnością i spójnością.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Czy testowanie statyczne wymaga więcej czy mniej wysiłku w porównaniu z testowaniem dynamicznym?

A

Zwykle mniej, ponieważ nie trzeba przygotowywać przypadków testowych, a do przyspieszenia całego procesu często wykorzystuje się narzędzia.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Jakie produkty pracy (dokumenty) są sprawdzane w testowaniu statycznym?

A

Praktycznie każdy rodzaj może być poddany testowaniu statycznemu. Przykładami są: dokumenty specyfikacji wymagań, kod źródłowy, plany testów, przypadki testowe, elementy backlogu produktu, chartery testowe, dokumentacja projektowa, umowy oraz modele. Ważne, by dany produkt pracy miał strukturę, którą da się w ten sposób weryfikować (np. formalną składnię).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Jaką wartość wnosi testowanie statyczne?

A

Pozwala na wykrywanie defektów już we wczesnych fazach cyklu wytwarzania (SDLC), przesuwając całość procesu w lewo i umożliwiając szybsze wyłapywanie błędów.
Umożliwia zidentyfikowanie tych defektów, których testy dynamiczne nie są w stanie wykryć (np. niedostępnego kodu, brakujących wzorców projektowych, błędów w elementach niewykonywalnych).
Analiza statyczna kodu jest zwykle bardziej efektywna, co w konsekwencji zmniejsza liczbę defektów oraz obniża koszty i wysiłek w dalszych etapach rozwoju oprogramowania.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Jakie typy defektów łatwiej wykryć za pomocą testowania statycznego?

A
  • Defekty w wymaganiach: niespójności, niejasności, sprzeczności, pominięcia, nieścisłości, duplikaty,
  • Defekty w projekcie: nieefektywne struktury baz danych, słaba modularność,
  • Pewne defekty w kodzie: niezdefiniowane zmienne, niedostępny kod, zduplikowany kod, nadmiernie złożony kod,
  • Odstępstwa od standardów: błędna składnia, nieprzestrzeganie standardów kodowania czy konwencji nazewniczych,
  • Nieprawidłowe specyfikacje interfejsów: niewłaściwa liczba, typ lub kolejność parametrów,
  • Niektóre podatności bezpieczeństwa: np. przepełnienia bufora,
  • Luki w pokryciu podstawy testów: brakujące testy itp.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly