Generowanie danych testowych: co to jest, jak, przykład, narzędzia

Spisie treści:

Anonim

Jako tester możesz pomyśleć, że „Projektowanie przypadków testowych jest wystarczająco trudne, więc po co zawracać sobie głowę czymś tak trywialnym jak dane testowe”. Celem tego samouczka jest wprowadzenie w dane testowe, ich znaczenie oraz praktyczne porady i wskazówki dotyczące szybkiego generowania danych testowych. A więc zacznijmy!

Co to są dane testowe w testowaniu oprogramowania?

Dane testowe w oprogramowaniu Testowanie to dane wprowadzane do programu podczas wykonywania testu. Reprezentuje dane, które podczas testowania wpływają lub na które wpływa wykonanie oprogramowania. Dane testowe są używane zarówno do testowania pozytywnego w celu sprawdzenia, czy funkcje dają oczekiwane wyniki dla danych wejściowych, jak i do testowania negatywnego w celu testowania zdolności 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 obniży jakość oprogramowania.

Co to jest generowanie danych testowych? Dlaczego dane testowe powinny być tworzone przed wykonaniem testów?

Wszyscy wiedzą, że testowanie to proces, który generuje i zużywa duże ilości danych. Dane użyte 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 testów funkcjonalnych.

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 (czy dane testowe zostały już utworzone).

Zazwyczaj dane testowe są tworzone w synchronizacji z przypadkiem testowym, do którego mają być używane.

Można generować dane testowe -

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

Zwykle dane przykładowe należy wygenerować przed rozpoczęciem wykonywania testów, ponieważ w innym przypadku zarządzanie danymi testowymi jest trudne. Ponieważ w wielu środowiskach testowych tworzenie danych testowych wymaga wielu kroków wstępnych lub bardzo czasochłonnych konfiguracji środowiska testowego. . Jeśli pokolenie również dane badanie zostało wykonane podczas jesteś w fazie realizacji testu może przekroczyć termin badania.

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

Dane testowe do testów białoskrzynkowych

W testowaniu białoskrzynkowym zarządzanie danymi testowymi wywodzi się z bezpośredniego badania kodu, który ma być testowany. Dane testowe można wybrać biorąc pod uwagę:

  • Pożądane jest objęcie jak największej liczby gałęzi; dane testowe mogą być generowane w taki sposób, że wszystkie gałęzie w kodzie źródłowym programu są testowane przynajmniej raz
  • Testowanie ścieżek: wszystkie ścieżki w kodzie źródłowym programu są testowane przynajmniej raz - można przygotować dane testowe w celu uwzględnienia jak największej liczby przypadków
  • Negatywne testy API:
    • Dane testowe mogą zawierać nieprawidłowe typy parametrów używane do wywoływania różnych metod
    • Dane testowe mogą polegać na nieprawidłowych kombinacjach argumentów, które są używane do wywoływania metod programu

Dane testowe do testowania wydajności

Testowanie wydajnościowe to rodzaj testów wykonywanych w celu określenia, jak szybko system reaguje przy określonym obciążeniu. Celem tego typu testów nie jest znajdowanie błędów, ale eliminacja wąskich gardeł. Ważnym aspektem testowania wydajności jest to, że zestaw użytych przykładowych danych musi być bardzo zbliżony do danych „rzeczywistych” lub „bieżących”, które są wykorzystywane w produkcji. Powstaje następujące pytanie: „Ok, dobrze jest testować z prawdziwymi danymi, ale jak mogę je uzyskać?” Odpowiedź jest dość prosta: od ludzi, którzy znają się najlepiej - klientów . Mogą być w stanie dostarczyć niektóre dane, które już mają, lub, jeśli nie mają istniejącego zestawu danych, mogą pomóc, udzielając opinii na temat tego, jak mogą wyglądać dane ze świata rzeczywistego. Jeśli jesteś wprojekt testów konserwacyjnych można skopiować dane ze środowiska produkcyjnego do stanowiska testowego. Dobrą praktyką jest anonimizacja (zaszyfrowanie) poufnych danych klientów, takich jak numer ubezpieczenia społecznego, numery kart kredytowych, dane bankowe itp. Podczas wykonywania kopii.

Dane testowe do testowania bezpieczeństwa

Testowanie bezpieczeństwa to proces, który określa, czy system informatyczny chroni dane przed złośliwymi intencjami. 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 są traktowane jako ściśle poufne i nie są udostępniane żadnym stronom zewnętrznym. Jako krótki przykład, jeśli aplikacja korzysta z SSL, możesz zaprojektować zestaw danych testowych, który weryfikuje, czy szyfrowanie zostało wykonane poprawnie.
  • Integralność: Sprawdź, czy informacje dostarczane przez system są poprawne. Aby zaprojektować odpowiednie dane testowe, możesz zacząć od dogłębnego przyjrzenia się projektowi, kodowi, bazom danych i strukturom plików.
  • Uwierzytelnianie: reprezentuje proces ustalania tożsamości użytkownika. Dane testowe mogą być zaprojektowane jako różne kombinacje nazw użytkowników i haseł, a ich celem jest sprawdzenie, czy tylko upoważnione osoby mają dostęp do systemu oprogramowania.
  • Autoryzacja: informuje, jakie są prawa określonego użytkownika. Dane testowe mogą zawierać różne kombinacje użytkowników, ról i operacji w celu sprawdzenia, czy tylko użytkownicy z wystarczającymi uprawnieniami są w stanie wykonać określoną operację.

Dane testowe do testów czarnoskrzynkowych

W Black Box Testing kod nie jest widoczny dla testera. Twoje funkcjonalne przypadki testowe mogą mieć dane testowe spełniające następujące kryteria -

  • Brak danych : sprawdź odpowiedź systemu, gdy nie są przesyłane żadne dane
  • Prawidłowe dane : Sprawdź odpowiedź systemu po przesłaniu prawidłowych danych testowych
  • Nieprawidłowe dane : sprawdź odpowiedź systemu po przesłaniu nieprawidłowych danych testowych
  • Niedozwolony format danych : sprawdź odpowiedź 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 partycji równoważnych : dane testowe kwalifikujące partycje równoważności.
  • Zestaw danych tabeli decyzyjnej : dane testowe kwalifikujące strategię testowania tabeli decyzyjnej
  • Zestaw danych testowych zmiany stanów: dane testowe zgodne ze strategią testowania zmian stanów
  • Dane testu przypadków użycia : dane testowe zsynchronizowane z przypadkami użycia.

Uwaga : w zależności od testowanej aplikacji możesz użyć niektórych lub wszystkich powyższych danych testowych

Narzędzia do automatycznego generowania danych testowych

W celu wygenerowania różnych zestawów danych można skorzystać z całej gamy narzędzi do automatycznego generowania danych testowych. Poniżej kilka przykładów takich narzędzi:

Generator danych testowych DTM to w pełni konfigurowalne narzędzie, które generuje dane, tabele (widoki, procedury itp.) Do celów testowania bazy danych (testowanie wydajności, testowanie jakości, testowanie obciążenia lub testowanie użyteczności).
Datatect to generator danych SQL firmy Banner Software, generuje różnorodne realistyczne dane testowe w płaskich plikach ASCII lub bezpośrednio generuje dane testowe dla RDBMS, w tym Oracle, Sybase, SQL Server i Informix.

Wniosek

Podsumowując, dobrze zaprojektowane dane testowe pozwalają zidentyfikować i skorygować poważne wady funkcjonalności. Wybór wybranych danych testowych należy poddać ponownej ocenie na każdym etapie wielofazowego cyklu opracowywania produktu. Dlatego zawsze miej na to oko.