Rodzaje testów oprogramowania

Rodzaje testów oprogramowania
Kiedy chcielibyśmy wyróżnić rodzaje testów, zazwyczaj mamy na myśli wprowadzenie pewnej systematyki i kategoryzacji testów.

W naszych wcześniejszych publikacjach znajdziecie wiele rodzajów testów i ich klasyfikacji:

  • Testy oprogramowania możemy podzielić ze względu na typ – funkcjonalne, niefunkcjonalne, retesty, regresji, statyczne, dynamiczne, czarnoskrzynkowe i białoskrzynkowe (Typy testów),
  • Możemy również wyróżnić poziomy testów, które pokazują moment zaangażowania testów w różnych momentach cyklu wytwórczego, testy jednostkowe, integracyjne, systemowe i akceptacyjne (Poziomy testowania),
  • Przy okazji technik pokazaliśmy, że można testowanie podzielić ze względu na testowany obiekt – dokumentację, dane, funkcję, kod (Techniki testowania),
  •  Można podzielić testy również na te, które występują przed i na produkcji (Testowanie przedprodukcyjne i produkcyjne).

A to tylko początek możliwych podziałów. 
 
Systematykę można rozbudować i dodać do niej jeszcze więcej testów jednocześnie, uwspółcześniając klasyczne kategorie. Spróbujmy więc zrobić w miarę kompletną, jednostronicową listę wszystkich rodzajów testów.
 
Rodzaje testów ze względu na poziomy:

  • testowanie modułowe, testy jednostkowe, testy unitowe,
  • testowanie integracyjne, w tym testy API,
  • testowanie systemowe,
  • testy integracji systemów,
  • testowanie akceptacyjne,
  • testowanie powdrożeniowe, testowanie produkcyjne.

Rodzaje testów akceptacyjnych:

  • testowanie akceptacyjne produkcyjne,
  • testowanie akceptacyjne przez użytkownika:
    • testowanie alfa,
    • testowanie beta;
  • testowanie akceptacyjne zgodności z przepisami prawa (zgodności z prawem),
  • testowanie akceptacyjne zgodności z umową.

Rodzaje testów ze względu na cechy oprogramowania (funkcjonalne i niefunkcjonalne):

  • testowanie funkcjonalne:
    • testowanie stabilności,
    • testowanie funkcjonalnej kompletności,
    • testowanie funkcjonalnej poprawności,
    • testowanie funkcjonalnej dokładności;
  • testowanie niezawodności:
    • testowanie dojrzałości,
    • testowanie dostępności,
    • testowanie tolerancji na błędy,
    • testowanie odtwarzalności, testowanie backup and restore.
  • testowanie wydajności:
    • testowanie wydajnościowe (testowanie w standardowych obciążeniach, testowanie obciążeniowe, testowanie przeciążeniowe, testowanie stresowe, testowanie w pikach),
    • testowanie zależności czasowych,
    • testowanie zużycia zasobów,
    • testowanie zgodności;
  • testowanie użyteczności:
    • testowanie dopasowania,
    • testowanie rozpoznawalności,
    • testowanie łatwości uczenia,
    • testowanie operowalności,
    • testowanie zapobiegania błędom użytkownika,
    • testowanie estetyki interfejsu użytkownika;
  • testowanie bezpieczeństwa:
    • testowanie pewności,
    • testowanie integralności,
    • testowanie braku odrzucenia,
    • testowanie odpowiedzialności,
    • testowanie autentyczności;
  • testowanie kompatybilności:
    • testowanie współistnienia,
    • testowanie współdziałania;
  • testowanie utrzymywalności:
    • testowanie modularności, 
    • testowanie reużywalności,
    • testowanie analizowalności,
    • testowanie modyfikowalności,
    • testowanie testowalności;
  • testowanie przenaszalności:
    • testowanie adaptowalności,
    • testowanie instalowalności,
    • testowanie zastępowalności.

 Rodzaje testów ze względu na testowany obiekt:

  • testowanie białoskrzynkowe, testy kodu,
  • testowanie czarnoskrzynkowe,
  • testowanie danych,
  • testowanie dokumentacji.

 Rodzaje testów związanych ze zmianami:

  • testowanie regresji,
  • testy potwierdzające, retesty,
  • testy dymne,
  • testy kondycji, testy sanity.

 Rodzaje testów ze względu na formę przeprowadzenia:

  • testowanie statyczne:
    • przeglądy,
    • analiza statyczna;
  • testy dynamiczne:
    • testy manualne,
    • testy automatyczne - testowanie oparte na słowach kluczowych, testowanie oparte na danych,
    • testy AI,
    • analiza dynamiczna.

 Rodzaje testowania ze względu na formalizm przeprowadzenia:

  • testowanie formalne:
    • testowanie w oparciu o przypadki testowe,
    • testowanie w oparciu o listę kontrolną;
  • testowania ad hocowe,
  • testowanie eksploracyjne.

Rodzaje testów ze względu na rodzaje modeli wytwórczych oprogramowania:

  • testowanie w kaskadzie,
  • testowanie iteracyjne, testowanie przyrostowe, testowanie prototypów, testowanie zwinne,
  • testowanie DevOps.

Rodzaje testowania ze względu na model dostarczania oprogramowania:

  • testowanie paczek,
  • testowanie funkcji,
  • testowanie wielkiego wybuchu,
  • testowanie w ciągłej integracji,
  • testowanie w ciągłym dostarczaniu,
  • testowanie w ciągłym wdrażaniu.

Testowanie ze względu na poziom niezależności testerów:

  • testowanie własnego kodu,
  • testowanie w ramach jednego zespołu,
  • testowanie na zewnątrz zespołu:
    • testowanie przez testerów,
    • testowanie przed przedstawicieli biznesu;
  • testowanie przez niezależną organizację,
  • certyfikacja oprogramowania.

 
Czy nasza lista jest kompletna? Przy mnogości nowych rodzajów testów oraz nowych pojęć, z całą stanowczością możemy powiedzieć, że NIE. 

Czekamy na podpowiedzi, czego brakuje i co warto jeszcze do naszej listy dodać.

To powinno Cię zainteresować