Testowanie oprogramowania w kwalifikacji INF.04: najważniejsze zasady, przykłady i 54 powiązanych pytań w banku.
Testowanie dostarcza informacji o jakości programu i ryzyku związanym z jego użyciem. Nie dowodzi, że aplikacja nie ma błędów. Na egzaminie trzeba dobrać poziom, rodzaj i technikę testu do sytuacji oraz odróżnić sprawdzanie poprawki od szukania skutków ubocznych.
Test zaczyna się od celu i przewidywanego wyniku
Przypadek testowy opisuje warunki początkowe, dane wejściowe, kroki, wynik oczekiwany i rzeczywisty. Samo „sprawdź logowanie" nie wystarcza: lepszy zapis podaje istniejące konto, poprawne hasło, wysłanie formularza i oczekiwane przejście do panelu bez komunikatu błędu.
Testowanie statyczne nie uruchamia programu (przegląd wymagań, kodu, projektu), dynamiczne wykonuje kod z wybranymi danymi. Każde wykrywa co innego: niejednoznaczne wymaganie przed implementacją albo błąd obliczeń widoczny dopiero podczas działania.
Poziomy testów
komponentowy (jednostkowy)
funkcję, klasę, moduł w izolacji
obliczenie rabatu
integracji komponentów
współpracę modułów
serwis zamówień z repozytorium
systemowy
kompletną aplikację
cały proces zakupu
integracji systemów
połączenia z innymi systemami
operator płatności
akceptacyjny
zgodność z potrzebami zamawiającego
reguła biznesowa rabatów
Funkcja, wydajność, bezpieczeństwo i zmiana
Testy funkcjonalne sprawdzają, co system robi. Niefunkcjonalne oceniają cechy działania: wydajność, użyteczność, bezpieczeństwo, niezawodność, zgodność. Ten sam ekran logowania można badać pod kątem poprawnej autoryzacji, czasu odpowiedzi, obsługi z klawiatury i odporności na wielokrotne błędne próby.
Po naprawie błędu:
›
test potwierdzający sprawdza dokładnie poprawioną sytuację,
›
test regresji bada, czy zmiana nie zepsuła obszarów działających wcześniej.
Jeśli poprawiono naliczanie rabatu, najpierw powtarzasz przypadek z błędną kwotą, a potem sprawdzasz inne progi, koszyk bez rabatu i zapis zamówienia.
Techniki czarnej skrzynki ograniczają liczbę prób
klasy równoważności
dane zachowujące się tak samo
wiek 18 do 65: klasy poniżej, w zakresie, powyżej
wartości brzegowe
pomyłki „o jeden" przy granicach
testy dla 17, 18, 65, 66
tablica decyzyjna
kombinacje warunków
klient premium, ważny kupon, minimalna wartość koszyka
przejścia stanów
zachowanie zależne od historii
konto aktywne, zablokowane, odblokowane
Każda reguła lub dozwolone przejście powinny dostać co najmniej jeden przypadek.
Pokrycie kodu i techniki oparte na doświadczeniu
Techniki białej skrzynki korzystają ze struktury kodu: pokrycie instrukcji mierzy wykonane instrukcje, pokrycie gałęzi sprawdza wyniki decyzji (osobno prawdę i fałsz w warunku). Sto procent pokrycia instrukcji nie gwarantuje pełnego pokrycia gałęzi ani poprawności wymagań.
Zgadywanie błędów wykorzystuje wiedzę o typowych awariach, test eksploracyjny łączy naukę, projektowanie i wykonywanie prób, a lista kontrolna porządkuje znane obszary ryzyka. Są użyteczne, ale nie zastępują technik systematycznych. Zgłoszenie błędu powinno zawierać środowisko, kroki odtworzenia, wynik oczekiwany, wynik rzeczywisty i dowody.
Testy jednostkowe i dokumentacja są stałym elementem zadania praktycznego INF.04: strukturę projektu opisuje artykuł o aplikacjach, narzędzia testowe artykuł o frameworkach, a pełne zadania znajdziesz w arkuszach INF.04.