Aby pokazać, że systemy bazowe są bezbłędne
a) Potrzeba udowodnienia, że są bezbłędne
- Dowód matematyczny
- Realistycznie możliwe tylko w przypadku trywialnych programów
b) Wykonaj wyczerpujący test
- Możliwe tylko dla trywialnych programów i niektórych prostych programów
- Gdy tylko element pomiaru czasu przejdzie do testu, nie jest możliwe wykonanie wyczerpującego testu, ponieważ czas można podzielić na czas nieokreślony.
- Poza trywialnymi programami, możliwe opcje eksplodują wykładniczo.
W testowaniu oprogramowania wyczerpujący test jest wykorzystywany tylko do testowania jednostkowego niektórych prostych funkcji.
Przykład: Chcesz przetestować 8-znakowe wejście utf-8 w jakimś polu, dokonujesz wyboru, aby wyciąć wejście 8-krotną maksymalną długością 6 utf-8 w bajtach, co daje 8 * 6 = 48 bajtów skończone możliwości.
Można teraz pomyśleć, że wystarczy przetestować tylko 1112 064 poprawnych punktów kodowych każdego z 8 znaków, tj. 1112,064 ^ 8 (powiedzmy 10 ^ 48) testów (co jest już mało prawdopodobne), ale tak naprawdę trzeba przetestować każdą wartość każdego z 48 bajtów lub 256 ^ 48, która wynosi około 10 ^ 120, co jest takiej samej złożoności jak szachy w porównaniu do całkowitej liczby atomów we wszechświecie około 10 ^ 80.
Zamiast tego możesz używać, w kolejności rosnącej wysiłku, a każdy test powinien obejmować wszystkie poprzednie:
a) przetestuj dobrą i złą próbkę.
b) pokrycie kodu, tj. spróbuj przetestować każdy wiersz kodu, który jest względnie prosty dla większości kodów. Teraz możesz się zastanawiać, jaki jest ostatni 1% kodu, którego nie możesz przetestować ... błędy, martwy kod, wyjątki sprzętowe itp.
c) zasięg ścieżki, testowane są wszystkie wyniki wszystkich gałęzi we wszystkich kombinacjach. Teraz już wiesz, dlaczego dział testowy nienawidzi cię, gdy twoje funkcje zawierają więcej niż 10 warunków. Zastanawiasz się także, dlaczego ostatnich 1% nie można przetestować ... niektóre oddziały są zależne od poprzednich.
d) test danych, przetestuj liczbę próbek z wartością graniczną, typowymi problematycznymi wartościami i liczbami magicznymi, zero, -1, 1, min +/- 1, max +/- 1, 42, wartości rnd. Jeśli to nie da ci zasięgu, wiesz, że nie złapałeś wszystkich wartości w swojej analizie.
Jeśli już to zrobisz, powinieneś być gotowy do egzaminu podstawowego ISTQB.