Testowanie oparte na danych
Testowanie oparte na danych to metoda testowania oprogramowania, w której dane testowe są przechowywane w formacie tabeli lub arkusza kalkulacyjnego. Testowanie oparte na danych umożliwia testerom wprowadzenie pojedynczego skryptu testowego, który może wykonać testy dla wszystkich danych testowych z tabeli i oczekiwać wyników testu w tej samej tabeli. Nazywa się to również testowaniem opartym na tabeli lub testowaniem parametryzowanym.
Struktura oparta na danych
Data Driven Framework to platforma testowania automatyzacji, w której wartości wejściowe są odczytywane z plików danych i przechowywane w zmiennych w skryptach testowych. Umożliwia testerom tworzenie zarówno pozytywnych, jak i negatywnych przypadków testowych w jednym teście. Dane wejściowe w strukturze opartej na danych mogą być przechowywane w jednym lub wielu źródłach danych, takich jak .xls, .xml, .csv i bazy danych.
W tym samouczku dowiesz się
- Co to jest testowanie oparte na danych?
- Dlaczego testy oparte na danych?
- Jak stworzyć strukturę automatyzacji opartą na danych
- Najlepsze praktyki testowania opartego na danych:
- Zalety testowania opartego na danych
- Wady testowania opartego na danych:
Dlaczego testy oparte na danych?
Testowanie oparte na danych jest ważne, ponieważ testerzy często mają wiele zestawów danych dla jednego testu, a tworzenie indywidualnych testów dla każdego zestawu danych może być czasochłonne. Testowanie oparte na danych pomaga w utrzymywaniu danych oddzielnie od skryptów testowych, a te same skrypty testowe mogą być wykonywane dla różnych kombinacji wejściowych danych testowych, a wyniki testów mogą być generowane wydajnie.
Przykład:
Na przykład chcemy przetestować system logowania z wieloma polami wejściowymi z 1000 różnych zestawów danych.
Aby to przetestować, możesz zastosować różne podejścia:
Podejście 1) Utwórz 1000 skryptów, po jednym dla każdego zbioru danych i uruchom każdy test oddzielnie, jeden po drugim.
Podejście 2) Ręcznie zmień wartość w skrypcie testowym i uruchom go kilka razy.
Podejście 3) Zaimportuj dane z arkusza Excela. Pobierz dane testowe z wierszy programu Excel jeden po drugim i wykonaj skrypt.
W podanych trzech scenariuszach pierwsze dwa są pracochłonne i czasochłonne. Dlatego idealnie jest zastosować trzecie podejście.
Zatem trzecie podejście to nic innego jak ramy oparte na danych.
Jak stworzyć strukturę automatyzacji opartą na danych
Zastanów się, czy chcesz przetestować funkcjonalność logowania aplikacji.
Krok 1) Zidentyfikuj przypadki testowe
- Wprowadź poprawną nazwę użytkownika i hasło - logowanie powiodło się
- Wprowadź nieprawidłową nazwę użytkownika i poprawne hasło - Błąd logowania
- Wprowadź poprawną nazwę użytkownika i nieprawidłowe hasło - Błąd logowania
Krok 2) Utwórz szczegółowe kroki szacunkowe dla powyższych 3 przypadków testowych
Numer przypadku testowego | Opis | Kroki testowe | Dane testowe | oczekiwane rezultaty |
---|---|---|---|---|
1 | Sprawdź login, aby uzyskać prawidłowe poświadczenia |
| Nazwa użytkownika: prawidłowe hasło: prawidłowe | Sukces logowania |
2 | Sprawdź login pod kątem nieprawidłowych poświadczeń |
| Nazwa użytkownika: nieprawidłowe hasło: prawidłowe | Błąd logowania |
3 | Sprawdź login pod kątem nieprawidłowych poświadczeń |
| Nazwa użytkownika: prawidłowe hasło: nieprawidłowe | Błąd logowania |
Krok 3) Utwórz skrypt testowy
Jeśli obserwujesz kroki testu, pozostań wspólne przez 3 kroki testu. Aby wykonać te kroki, musisz utworzyć skrypt testowy
// To jest pseudokod// Test Krok 1: Uruchom aplikacjędriver.get ("URL aplikacji");// Test Krok 2: Wprowadź nazwę użytkownikatxtbox_username.sendKeys ("prawidłowe");// Krok 3 testu: Wprowadź hasłotxtbox_password.sendKeys ("nieprawidłowy");// Test Krok 4: Sprawdź wynikiJeśli wydruk (następny ekran) powiódł się, w przeciwnym razie nie powiodło się
Krok 4) Utwórz plik excel / csv z wejściowymi danymi testowymi
Krok 5) Krok Zmodyfikuj skrypt tak, aby przechodził przez dane wejściowe testu. Polecenia wejściowe również powinny być sparametryzowane
// To jest pseudokod// Pętla 3 razyfor (i = 0; i & lt; = 3; i ++) {// Odczytaj dane z Excela i zapisz je w zmiennychint input_1 = ReadExcel (i, 0);int input_2 = ReadExcel (i, 1);// Test Krok 1: Uruchom aplikacjędriver.get ("URL aplikacji");// Test Krok 2: Wprowadź nazwę użytkownikatxtbox_username.sendKeys (input_1);// Krok 3 testu: Wprowadź hasłotxtbox_password.sendKeys (input_2);// Test Krok 4: Sprawdź wynikiJeśli wydruk (następny ekran) się powiódłinaczej Niepowodzenie}
Powyżej znajdują się tylko 3 przypadki testowe. Skryptu testowego można użyć do zapętlenia następujących przypadków testowych po prostu przez dodanie wartości danych testowych do programu Excel
- Wprowadź nieprawidłową nazwę użytkownika i nieprawidłowe hasło - Błąd logowania
- Wprowadź poprawną nazwę użytkownika i hasło puste - nieudane logowanie
- Wprowadź pustą nazwę użytkownika i puste hasło - Błąd logowania
I tak dalej
Najlepsze praktyki testowania opartego na danych:
Poniżej podano najlepsze praktyki testowania w przypadku testowania opartego na danych:
- Idealnym rozwiązaniem jest wykorzystanie realistycznych informacji podczas procesu testowania opartego na danych
- Nawigacja w przepływie testów powinna być zakodowana w skrypcie testowym
- Korzystaj z wirtualnych interfejsów API za pomocą znaczących danych
- Wykorzystaj dane do kierowania asercjami dynamicznymi
- Testuj wyniki zarówno pozytywne, jak i negatywne
- Zmień przeznaczenie testów funkcjonalnych opartych na danych pod kątem bezpieczeństwa i wydajności
Zalety testowania opartego na danych
Oparte na danych mają wiele zalet, a niektóre z nich to:
- Umożliwia testowanie aplikacji z wieloma zestawami wartości danych podczas testowania regresji
- Dane testowe i dane weryfikacyjne można zorganizować w jednym pliku i jest on niezależny od logiki przypadku testowego.
- Bazując na narzędziu, możliwe jest posiadanie skryptów testowych w jednym repozytorium. Dzięki temu teksty są łatwe do zrozumienia, utrzymania i zarządzania.
- Akcje i funkcje można ponownie wykorzystać w różnych testach.
- Niektóre narzędzia automatycznie generują dane testowe. Jest to przydatne, gdy potrzebne są duże ilości losowych danych testowych, co pomaga zaoszczędzić czas.
- Testowanie oparte na danych może wykonać dowolną fazę rozwoju. Zadania testowe oparte na danych są zwykle łączone w jednym procesie. Można go jednak używać w wielu przypadkach testowych.
- Umożliwia programistom i testerom wyraźne oddzielenie logiki ich przypadków testowych / skryptów od danych testowych.
- Te same przypadki testowe mogą być wykonywane kilka razy, co pomaga zredukować liczbę przypadków testowych i skryptów.
- Wszelkie zmiany w skrypcie testowym nie mają wpływu na dane testowe
Wady testowania opartego na danych:
Niektóre wady metody testowania automatyzacji opartej na danych to:
- Jakość testu uzależniona jest od umiejętności automatyzacji zespołu wdrożeniowego
- Sprawdzanie poprawności danych to czasochłonne zadanie podczas testowania dużej ilości danych.
- Konserwacja to duży problem, ponieważ do testowania opartego na danych potrzeba dużej ilości kodu.
- Wymagane są umiejętności techniczne na wysokim poziomie. Być może tester będzie musiał nauczyć się zupełnie nowego języka skryptowego.
- Będzie więcej dokumentacji. Głównie związane z infrastrukturą testów zarządzania skryptami i wynikami testów.
- Do tworzenia i obsługi plików danych wymagany jest edytor tekstu, taki jak Notatnik.
Wniosek:
- Oparty na danych to platforma do automatyzacji testów, która przechowuje dane testowe w formie tabeli lub arkusza kalkulacyjnego.
- W ramach automatyzacji testów opartych na danych dane wejściowe mogą być przechowywane w jednym lub wielu źródłach danych, takich jak xls, XML, csv i bazy danych.
- Tworzenie indywidualnego testu dla każdego zestawu danych jest długim i czasochłonnym procesem. Struktura testowania opartego na danych rozwiązuje ten problem, przechowując dane oddzielnie od testów funkcjonalnych.
- W przypadku testowania opartego na danych jest to idealna opcja wykorzystania realistycznych informacji
- Umożliwia testowanie aplikacji z wieloma zestawami wartości danych podczas testów regresyjnych
- Wadą tej metody jest zależność od umiejętności automatyzacji zespołu wdrożeniowego