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ć.