| Termin | Definicja |
|---|---|
| brak danych testowych | Brak danych testowych to ograniczenie utrudniające weryfikację poprawności działania systemu przed wdrożeniem produkcyjnym. Brak danych testowych jako problem procesu weryfikacjiBrak danych testowych oznacza, że system, aplikacja albo określona funkcja nie ma przygotowanych informacji, na których można wykonać kontrolowane próby działania. Dane testowe mogą obejmować między innymi rekordy użytkowników, pliki, obrazy, dokumenty, konfiguracje urządzeń, wartości formularzy, komunikaty błędów oraz dane wejściowe używane przez konkretny algorytm. Sam fakt, że program uruchamia się bez komunikatu o błędzie, nie potwierdza jego poprawności. Do sprawdzenia potrzebne są dane reprezentujące rzeczywiste przypadki użycia, sytuacje nietypowe oraz błędne wartości. Ograniczenie pojawia się wtedy, gdy test wykonuje się na pustej bazie, niepełnym katalogu plików albo środowisku pozbawionym konfiguracji odpowiadającej warunkom pracy. W takiej sytuacji część kodu może w ogóle nie zostać wykonana. Nie zostaną ujawnione problemy z importem, sortowaniem, filtrowaniem, obliczeniami, obsługą pustych pól, przekraczaniem zakresów ani reakcją na uszkodzony plik. Wynik takiego testu ma ograniczoną wartość, ponieważ opisuje zachowanie programu tylko dla bardzo wąskiego przypadku. Jak brak danych zmienia zakres testuTest bez danych pozwala sprawdzić niektóre elementy techniczne, takie jak uruchomienie procesu, dostępność plików programu, inicjalizacja ustawień czy reakcja na pusty zbiór wyników. Nie pozwala jednak rzetelnie ocenić logiki przetwarzania. Jeżeli funkcja ma wyszukiwać dokumenty, potrzebny jest zbiór zawierający dokumenty pasujące do zapytania, niepasujące do zapytania, duplikaty oraz przypadki z nazwami lub rozszerzeniami, których program nie obsługuje. Jeżeli program wykonuje obliczenia, należy sprawdzić wartości typowe, zerowe, ujemne, graniczne i nieprawidłowe. Dane testowe powinny być powtarzalne, opisane i przypisane do konkretnego scenariusza. Powtarzalność oznacza możliwość ponownego wykonania tego samego testu z identycznymi wartościami wejściowymi i porównania rezultatu. Przydatne jest rozdzielenie danych na przypadki pozytywne, negatywne i graniczne. Przypadek pozytywny przedstawia poprawne użycie funkcji. Przypadek negatywny sprawdza, czy program odrzuca niepoprawne dane w kontrolowany sposób. Przypadek graniczny dotyczy wartości znajdujących się na końcu dopuszczalnego zakresu albo tuż poza nim. Przygotowanie danych do bezpiecznej próbyJeżeli dane produkcyjne nie są dostępne, można przygotować dane syntetyczne, czyli utworzone wyłącznie na potrzeby testu. Powinny one zachowywać cechy istotne dla działania programu: typy pól, zależności między rekordami, formaty plików, kolejność zdarzeń i spodziewane wartości. Nie wystarczy wypełnić wszystkich pól przypadkowymi znakami, jeśli aplikacja wymaga określonego formatu daty, numeru, ścieżki pliku albo relacji między elementami. Dane muszą odpowiadać warunkom, które program rzeczywiście obsługuje. W testach lokalnych warto używać niewielkiego, jawnie opisanego zestawu danych oraz osobnego zestawu do obciążenia większą liczbą rekordów lub plików. Każdy zestaw powinien mieć oczekiwany wynik, aby można było porównać rezultat działania z założeniem. Należy także uwzględnić brak pliku, pusty plik, nieprawidłowe kodowanie, uszkodzoną strukturę oraz przerwanie operacji w trakcie przetwarzania, o ile takie sytuacje należą do zakresu sprawdzanej funkcji. Bez tych przypadków test może potwierdzić tylko działanie ścieżki prawidłowej. Skutki wykrycia braku danych przed uruchomieniemInformacja o braku danych testowych powinna prowadzić do uzupełnienia scenariusza, a nie do uznania funkcji za sprawdzoną. W dokumentacji warto zapisać, jakiego wejścia zabrakło, jaki fragment działania nie został wykonany oraz jaki rezultat powinien zostać uzyskany po przygotowaniu danych. Dzięki temu można odróżnić błąd programu od braku warunków do przeprowadzenia testu. Jest to szczególnie ważne przy analizie zgłoszeń, w których aplikacja działa poprawnie dla prostego przypadku, ale nie radzi sobie z rzeczywistym plikiem lub konfiguracją. W przypadku laptopa albo komputera PC brak danych testowych może utrudnić ocenę problemu z aplikacją, systemem plików, sterownikiem lub urządzeniem współpracującym z programem. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów stacjonarnych PC i ich podzespołów, dlatego podczas diagnostyki można rozdzielić problem sprzętowy od problemu wynikającego z niepełnego scenariusza testowego. Przydatne jest przekazanie opisu objawu, przykładowego pliku lub informacji o czynności, po której występuje błąd, ponieważ bez danych wejściowych nie każdą funkcję da się odtworzyć i zweryfikować. |