Czym są dane testowe w testowaniu oprogramowania?

⚡ Inteligentne podsumowanie

Dane testowe w testowaniu oprogramowania to dane wejściowe przekazywane aplikacji podczas wykonywania testów. Dobrze zaprojektowane dane umożliwiają przeprowadzanie kontroli pozytywnych i negatywnych, a także kontroli wydajności i bezpieczeństwa, dlatego muszą być generowane, anonimizowane i odświeżane w całym cyklu życia produktu.

  • 🗓️. Planować naprzód: Twórz dane testowe wraz z przypadkami testowymi, aby wykonanie testu nigdy nie zostało zablokowane przez brakujące dane wejściowe lub konfigurację środowiska.
  • 🎯 Weź pod uwagę każdy scenariusz: Przygotuj oddzielne i wyraźnie oznaczone zbiory danych partycji dodatnich, ujemnych, granicznych i równoważności.
  • 🛡️ Zamaskuj przed kopiowaniem: Dopasuj zestawy danych dotyczących wydajności do wolumenu i struktury produkcji, ale anonimizuj poufne pola przed wykonaniem jakiejkolwiek kopii.
  • ⚙️ Zautomatyzuj ciężkie podnoszenie: Korzystaj z generatorów lub narzędzi AI, aby skalować realistyczne zestawy danych, ograniczyć nakład pracy ręcznej i unikać duplikacji.
  • 🔄 Odśwież każdą wersję: Revprzeglądaj zestawy danych po zmianach schematu, wprowadzeniu nowych funkcji i aktualizacji przepisów, aby stare dane nie powodowały błędnych przejść.

Dane testowe w testowaniu oprogramowania

Jako tester możesz myśleć, że projektowanie przypadków testowych jest wystarczająco trudne – po co więc zawracać sobie głowę czymś tak rutynowym, jak dane testowe? Ten samouczek wprowadza dane testowe, wyjaśnia, dlaczego są ważne, i dzieli się praktycznymi wskazówkami, jak je szybko generować.

Czym są dane testowe w testowaniu oprogramowania?

Dane testowe w testowaniu oprogramowania Dane wejściowe są przekazywane programowi komputerowemu podczas wykonywania testów. Reprezentują dane, które wpływają na oprogramowanie lub są przez nie modyfikowane podczas testowania. Dane testowe są wykorzystywane w testach pozytywnych – do weryfikacji, czy funkcje generują oczekiwane wyniki dla danych wejściowych – oraz w testach negatywnych, do sprawdzenia, jak oprogramowanie radzi sobie z nietypowymi, wyjątkowymi lub nieprawidłowymi danymi wejściowymi.

Źle zaprojektowane dane testowe nie obejmują wszystkich możliwych scenariuszy, co bezpośrednio wpływa na jakość oprogramowania.

Dane testowe w testowaniu oprogramowania

Czym jest generowanie danych testowych i dlaczego należy tworzyć dane testowe przed wykonaniem testu?

Testowanie to proces, który generuje i przetwarza duże ilości danych. Dane wykorzystywane w testowaniu opisują warunki początkowe testu i stanowią medium, za pośrednictwem którego tester wchodzi w interakcję z oprogramowaniem. Stanowią zatem kluczowy element większości… testy funkcjonalne.

W zależności od środowiska testowego może być konieczne Stwórz przetestuj dane od podstaw lub przynajmniej zidentyfikuj odpowiedni istniejący zestaw danych dla swojego przypadki testoweDane testowe są zazwyczaj tworzone w synchronizacji z obsługiwanym przypadkiem testowym.

Dane testowe można generować na cztery podstawowe sposoby:

  • Ręcznie, przez testera lub analityka biznesowego.
  • Masowe kopiowanie danych ze środowiska produkcyjnego do środowiska testowego.
  • Masowa kopia danych testowych ze starszych systemów klienckich.
  • Narzędzia do automatycznego generowania danych testowych.

Należy wygenerować przykładowe dane zanim Rozpoczyna się wykonywanie testów, ponieważ późniejsze ich tworzenie jest trudne do zarządzania. Wiele środowisk testowych wymaga wielu kroków wstępnych lub czasochłonnej konfiguracji przed załadowaniem danych. Jeśli generowanie danych nastąpi w trakcie fazy wykonywania, istnieje ryzyko przekroczenia terminu testów.

Poniższe sekcje opisują kilka typów testów wraz z sugestiami dotyczącymi potrzeb w zakresie danych testowych.

Dane testowe dla bieli Box Testy

In Biały Box TestyZarządzanie danymi testowymi opiera się na bezpośrednim badaniu testowanego kodu. Kryteria wyboru zazwyczaj obejmują:

  • Zasięg oddziału: generować dane tak, aby każda gałąź kodu źródłowego została przetestowana przynajmniej raz.
  • Testowanie ścieżki: twórz dane tak, aby każda ścieżka została przećwiczona co najmniej raz.
  • Negatywne Testowanie API: użyj nieprawidłowych typów parametrów lub nieprawidłowych kombinacji argumentów do wywołania metod wewnętrznych.

Dane testowe do testów wydajności

Test wydajności Mierzy szybkość reakcji systemu pod określonym obciążeniem. Celem nie jest znalezienie błędów funkcjonalnych, lecz identyfikacja wąskich gardeł. Próbka danych musi być bardzo zbliżona do… prawdziwy lub na żywo danych produkcyjnych, aby wyniki były miarodajne.

Jak zdobywasz takie dane? Najbardziej wiarygodnym źródłem jest klientów sami. Mogą dostarczyć istniejący zbiór danych lub opisać, jak wyglądają dane ze świata rzeczywistego, aby można było je modelować. W testy konserwacyjne W projekcie możesz skopiować dane z produkcji do środowiska testowego. Dobrą praktyką jest anonimizować (zamaskuj) pola wrażliwe — numery ubezpieczenia społecznego, numery kart kredytowych, dane bankowe — przed wykonaniem jakiejkolwiek kopii.

Dane testowe do testowania bezpieczeństwa

Testowanie bezpieczeństwa weryfikuje, czy system informatyczny chroni dane przed złośliwymi zamiarami. Zbiory danych muszą spełniać cztery filary:

  • Poufność: Informacje od klientów są ściśle poufne i nie są udostępniane podmiotom zewnętrznym. Jeśli aplikacja korzysta z protokołu SSL, zaprojektuj dane, które potwierdzą poprawność szyfrowania.
  • Integrity: Informacje zwrócone przez system są poprawne. Zbuduj dane, analizując projekt, kod, schematy bazy danych i struktury plików.
  • Poświadczenie: Proces ustalania tożsamości użytkownika. Używaj różnych kombinacji nazw użytkowników i haseł, aby upewnić się, że dostęp mają tylko osoby upoważnione.
  • Upoważnienie: Uprawnienia przyznane konkretnemu użytkownikowi. Łącz użytkowników, role i operacje, aby upewnić się, że tylko użytkownicy z odpowiednimi uprawnieniami mogą wykonać daną operację.

Dane testowe dla koloru czarnego Box Testy

W czerni Box Testowanie kodu nie jest widoczne dla testera. Przypadki testów funkcjonalnych powinny zawierać dane spełniające następujące kryteria:

  • Brak danych: sprawdź odpowiedź, jeśli nic nie zostało przesłane.
  • Dane prawidłowe: sprawdź odpowiedź przy użyciu poprawnych danych testowych.
  • Nieprawidłowe dane: sprawdź odpowiedź przy użyciu nieprawidłowych danych testowych.
  • Nielegalny format danych: Sprawdź odpowiedź, gdy dane są w nieobsługiwanym formacie.
  • Zbiór danych warunków brzegowych: dane dotyczące wartości minimalnych, maksymalnych i tuż poza granicami.
  • Zbiór danych partycji równoważności: dane reprezentujące każdą klasę równoważności.
  • Zbiór danych tabeli decyzyjnej: dane, które sprawdzają każdą regułę w tabeli decyzyjnej.
  • Zbiór danych o zmianach stanu: dane, które sterują systemem przez każdą zdefiniowaną zmianę stanu.
  • Dane testowe przypadku użycia: dane dostosowane do kompleksowych przypadków użycia.

Uwaga: W zależności od testowanej aplikacji możesz użyć niektórych lub wszystkich powyższych kategorii.

Narzędzia do automatycznego generowania danych testowych

Zautomatyzowane narzędzia generują duże, zróżnicowane zbiory danych szybciej niż jakikolwiek proces ręczny. Dwa znane przykłady to:

  • Dane testowe DTM Generator — konfigurowalne narzędzie, które generuje dane, tabele, widoki i procedury na potrzeby scenariuszy testowania baz danych, obejmujących wydajność, zapewnienie jakości, obciążenie i użyteczność.
  • Ochrona danych - an SQL generator danych firmy Banner Software, który tworzy realistyczne dane testowe w płaskich plikach ASCII lub bezpośrednio w systemach RDBMS, takich jak Oracle, Sybase, SQL Server i Informix.

Aby zapoznać się z ocenioną i aktualną listą kandydatów, zobacz 10 najlepszych danych testowych Generator Narzędzia.

Najlepsze praktyki zarządzania danymi testowymi

Wiarygodne dane testowe zależą od zdyscyplinowanego prowadzenia gospodarstwa domowegoping. Postępuj zgodnie z poniższymi praktykami, aby zachować poprawność zestawów danych w kolejnych wydaniach:

  • Wersjonuj swoje dane: przechowuj zestawy danych w repozytorium wraz z przypadkami testowymi, które je wykorzystują, tak aby zmiany można było audytować.
  • Maskuj pola wrażliwe: anonimizować dane osobowe, finansowe i zdrowotne przed kopiowaniem z produkcji.
  • Odświeżaj regularnie: przebudowuj zestawy danych w każdym wydaniu, aby nadążać za zmianami schematu i reguł biznesowych.
  • Udokumentuj oczekiwane rezultaty: sparuj każdy zestaw danych z oczekiwanym wynikiem, aby łatwo było ocenić ewentualne błędy.
  • Zautomatyzuj wysiew: korzystaj ze skryptów lub układów, aby ładować dane na początku każdego przebiegu testu, zapewniając powtarzalność.

FAQ

Dane testowe to wszelkie dane wejściowe dostarczone oprogramowaniu podczas testowania. W przypadku formularza logowania przykładami są prawidłowa nazwa użytkownika i hasło (dodatnie), puste hasło (ujemne) oraz adres e-mail o długości 300 znaków (granica).

Przypadek testowy opisuje kroki i oczekiwany wynik pojedynczego scenariusza. Dane testowe to konkretne wartości wejściowe wprowadzane do tych kroków. Każdy przypadek testowy wymaga własnego zestawu danych, który sprawdza scenariusz.

Wystarczająca ilość danych to dane obejmujące każdą klasę równoważności, granicę i scenariusz ważony ryzykiem. Sama objętość nie oznacza pokrycia. Mapuj dane do przypadków testowych i przestań dodawać rekordy, gdy luki w pokryciu się zmniejszą.

Dopiero po zamaskowaniu wrażliwych pól, takich jak imiona i nazwiska, numery kont i dane dotyczące stanu zdrowia. Niezamaskowane dane produkcyjne naruszają przepisy takie jak RODO i HIPAA i stwarzają realne ryzyko naruszenia bezpieczeństwa w przypadku naruszenia bezpieczeństwa środowiska testowego.

Typowe kategorie to: poprawność, niepoprawność, granica, partycja równoważności, tabela decyzyjna, przejście stanu, przypadek użycia i zbiory bez danych. Każda kategoria dotyczy innego ryzyka w testowanej aplikacji.

Odświeżaj dane testowe po każdej zmianie schematu, wydaniu, aktualizacji przepisów lub każdej zmianie zachowania produkcji. Nieaktualne zestawy danych pomijają nowe reguły walidacji i generują fałszywe przejścia podczas testów regresyjnych.

Narzędzia AI syntetyzują realistyczne, zróżnicowane zbiory danych, które spełniają reguły biznesowe, maskują dane osobowe i równoważą przypadki pozytywne i negatywne. Sygnalizują również brakujące scenariusze poprzez analizę wymagań i istniejącego pokrycia testowego.

Nie. Sztuczna inteligencja przyspiesza generowanie i weryfikuje wzorce, ale weryfikatorzy muszą oceniać ryzyko biznesowe, przypadki skrajne i wymagania zgodności. Najskuteczniejsze zespoły łączą zestawy danych generowane przez sztuczną inteligencję z ekspercką kuracją.

Podsumuj ten post następująco: