Czym są dane testowe w testowaniu oprogramowania?

Jako tester możesz pomyśleć, że „projektowanie przypadków testowych jest wystarczająco trudnym wyzwaniem, więc po co zawracać sobie głowę czymś tak trywialnym jak dane testowe”. Celem tego samouczka jest zapoznanie Cię z danymi testowymi, ich znaczeniem oraz podanie praktycznych wskazówek i wskazówek dotyczących szybkiego generowania danych testowych. Zatem zaczynajmy!

Czym są dane testowe w testowaniu oprogramowania?

Dane testowe w testowaniu oprogramowania jest danymi wejściowymi podawanymi programowi podczas wykonywania testu. Reprezentuje dane, które wpływają lub na które wpływa wykonanie oprogramowania podczas testowania. Dane testowe są wykorzystywane zarówno do testów pozytywnych, aby sprawdzić, czy funkcje dają oczekiwane wyniki dla danych wejściowych, jak i do testów negatywnych, aby sprawdzić zdolność oprogramowania do obsługi nietypowych, wyjątkowych lub nieoczekiwanych danych wejściowych.

Źle zaprojektowane dane testowe mogą nie przetestować wszystkich możliwych scenariuszy testowych, co pogorszy jakość oprogramowania.

Dane testowe w testowaniu oprogramowania

Co to jest generowanie danych testowych? Dlaczego dane testowe należy tworzyć przed wykonaniem testu?

Wszyscy wiedzą, że testowanie to proces, który generuje i zużywa duże ilości danych. Dane wykorzystywane w testowaniu opisują początkowe warunki testu i reprezentują medium, za pośrednictwem którego tester wpływa na oprogramowanie. Jest to kluczowa część większości Testy funkcjonalne.

W zależności od środowiska testowego może być konieczne TWORZENIE danych testowych (w większości przypadków) lub przynajmniej zidentyfikowanie odpowiednich danych testowych dla przypadków testowych (jeśli dane testowe zostały już utworzone).

Dane testowe są zazwyczaj tworzone w synchronizacji z walizka testowa do czego jest przeznaczony.

Można wygenerować dane testowe –

  • Ręcznie
  • Masowa kopia danych ze środowiska produkcyjnego do środowiska testowego
  • Masowa kopia danych testowych ze starszych systemów klienckich
  • Narzędzia do automatycznego generowania danych testowych

Zwykle dane przykładowe powinny być generowane przed rozpoczęciem wykonywania testu, ponieważ w przeciwnym razie trudno jest zarządzać danymi testowymi. Ponieważ w w wielu środowiskach testowych tworzenie danych testowych wymaga wielu etapów wstępnych lub bardzo czasochłonnej konfiguracji środowiska testowego. . Również jeśli wykonano generowanie danych testowych Podczas jesteś w fazie wykonywania testów, możesz przekroczyć termin testowania.

Poniżej opisano kilka typów testów wraz z pewnymi sugestiami dotyczącymi ich potrzeb w zakresie danych testowych.

Dane testowe dla bieli Box Testowanie

In Biały Box Testowanie, zarządzanie danymi testowymi pochodzi z bezpośredniego badania kodu, który ma zostać przetestowany. Dane testowe mogą zostać wybrane poprzez uwzględnienie następujących rzeczy:

  • Pożądane jest objęcie jak największej liczby gałęzi; dane testowe można wygenerować w taki sposób, że wszystkie gałęzie w kodzie źródłowym programu zostaną przetestowane co najmniej raz
  • Testowanie ścieżek: wszystkie ścieżki w kodzie źródłowym programu są testowane przynajmniej raz – można przygotować dane testowe tak, aby objęły jak najwięcej przypadków
  • Negatywne Testowanie API:
    • Dane testowe mogą zawierać nieprawidłowe typy parametrów używane do wywoływania różnych metod
    • Dane testowe mogą składać się z nieprawidłowych kombinacji argumentów, które służą do wywoływania metod programu

Dane testowe do testów wydajności

Test wydajności to rodzaj testów przeprowadzanych w celu ustalenia, jak szybko system reaguje pod określonym obciążeniem. Celem tego typu testów nie jest znalezienie błędów, ale wyeliminowanie wąskich gardeł. Ważnym aspektem testów wydajnościowych jest to, że zestaw używanych przykładowych danych musi być bardzo zbliżony „prawdziwy” lub „na żywo” danych, które są używane w produkcji. Nasuwa się następujące pytanie: „Ok, dobrze jest testować na prawdziwych danych, ale jak mogę je uzyskać?” Odpowiedź jest dość prosta: od osób, które wiedzą najlepiej – klienci. Mogą być w stanie dostarczyć pewne dane, które już posiadają, lub, jeśli nie mają istniejącego zestawu danych, mogą Ci pomóc, przekazując informację zwrotną na temat tego, jak mogą wyglądać dane w świecie rzeczywistym. W przypadku, gdy jesteś w testy konserwacyjne projektu, możesz skopiować dane ze środowiska produkcyjnego na stanowisko testowe. Dobrą praktyką jest anonimizować (zaszyfruj) wrażliwe dane klienta, takie jak numer ubezpieczenia społecznego, karta kredytowa Numbers, Dane bankowe itp. podczas tworzenia kopii.

Dane testowe do testowania bezpieczeństwa

Testowanie bezpieczeństwa jest procesem, który określa, czy system informacyjny chroni dane przed złośliwymi zamiarami. Zestaw danych, które należy zaprojektować, aby w pełni przetestować zabezpieczenia oprogramowania, musi obejmować następujące tematy:

  • Poufność: Wszystkie informacje przekazane przez klientów objęte są ścisłą tajemnicą i nie są udostępniane żadnym podmiotom zewnętrznym. Dla krótkiego przykładu, jeśli aplikacja korzysta z protokołu SSL, można zaprojektować zestaw danych testowych, które sprawdzą, czy szyfrowanie zostało wykonane prawidłowo.
  • Integrity: Sprawdź, czy informacje podawane przez system są prawidłowe. Aby zaprojektować odpowiednie dane testowe, możesz zacząć od dogłębnego przyjrzenia się projektowi, kodowi, bazom danych i strukturze plików.
  • Poświadczenie: Reprezentuje proces ustalania tożsamości użytkownika. Dane testowe można zaprojektować jako inną kombinację nazw użytkowników i haseł, a ich celem jest sprawdzenie, czy tylko upoważnione osoby mają dostęp do systemu oprogramowania.
  • Upoważnienie: Informuje o prawach konkretnego użytkownika. Dane testowe mogą zawierać inną kombinację użytkowników, ról i operacje aby sprawdzić, czy tylko użytkownicy z odpowiednimi uprawnieniami mogą wykonać daną operację.

Dane testowe dla koloru czarnego Box Testowanie

W czerni Box Testowanie kodu nie jest widoczne dla testera. Twoje przypadki testów funkcjonalnych mogą mieć dane testowe spełniające następujące kryteria –

  • Brak danych: Sprawdź reakcję systemu, gdy nie przesłano żadnych danych
  • Prawidłowe dane: Sprawdź reakcję systemu po przesłaniu prawidłowych danych testowych
  • Nieprawidłowe dane: Sprawdź reakcję systemu, kiedy Nieważny przesyłane są dane testowe
  • Niedozwolony format danych: Sprawdź reakcję systemu, gdy dane testowe mają nieprawidłowy format
  • Zbiór danych warunków brzegowych: Dane testowe spełniające warunki wartości brzegowych
  • Zestaw danych podziału równoważnego: Dane testowe kwalifikujące partycje równoważności.
  • Zestaw danych tabeli decyzyjnej: Dane testowe kwalifikujące strategię testowania tabeli decyzyjnej
  • Zestaw danych testu przejścia stanu: Dane testowe spełniające strategię testowania przejścia stanu
  • Użyj danych testowych przypadku:Testuj dane w synchronizacji z przypadkami użycia.

Note: W zależności od testowanej aplikacji możesz użyć niektórych lub wszystkich powyższych metod tworzenia danych testowych

Narzędzia do automatycznego generowania danych testowych

Aby wygenerować różne zestawy danych, możesz skorzystać z szeregu narzędzi do automatycznego generowania danych testowych. Poniżej kilka przykładów takich narzędzi:

DTM Generator danych testowych, to w pełni konfigurowalne narzędzie, które generuje dane, tabele (widoki, procedury itp.) do celów testowania baz danych (testy wydajności, testy jakości, testy obciążenia lub testy użyteczności).

Datatec jest SQL generator danych firmy Banner Software, generuje różnorodne realistyczne dane testowe w plikach płaskich ASCII lub bezpośrednio generuje dane testowe dla systemów RDBMS, w tym Oracle, Sybase, SQL Server i Informix.

Podsumowanie

Podsumowując, dobrze zaprojektowane dane testowe pozwalają zidentyfikować i skorygować poważne wady funkcjonalności. Wybór wybranych danych testowych musi zostać ponownie oceniony na każdym etapie wielofazowego cyklu rozwoju produktu. Dlatego zawsze miej na to oko. Aby ułatwić ten proces, należy zastosować wydajne narzędzia do generowania danych testowych może znacząco usprawnić Twoją pracę.