Czym jest testowanie oparte na danych?
โก Inteligentne podsumowanie
Testowanie sterowane danymi (DATA) to metoda testowania oprogramowania, ktรณra przechowuje dane testowe w tabelach lub arkuszach kalkulacyjnych, dziฤki czemu jeden skrypt moลผe zweryfikowaฤ wiele kombinacji danych wejลciowych. Oddziela logikฤ testowania od danych, redukujฤ c duplikacjฤ skryptรณw i nakลad pracy zwiฤ zany z ich konserwacjฤ .

Testowanie oparte na danych
Testowanie oparte na danych to metoda testowania oprogramowania, w ktรณrej dane testowe sฤ przechowywane w formie 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 sparametryzowanym.
Struktura oparta na danych
Struktura oparta na danych to platforma do automatyzacji testรณw, w ktรณrej wartoลci wejลciowe sฤ odczytywane z plikรณw danych i zapisywane 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 platformie opartej na danych mogฤ byฤ przechowywane w jednym lub wielu ลบrรณdลach danych, takich jak pliki .xls, .xml, .csv i bazy danych. Poniลผszy diagram przedstawia przepลyw wartoลci wejลciowych z pliku danych do skryptu testowego.
Dlaczego testowanie oparte na danych?
Testowanie oparte na danych Jest to istotne, poniewaลผ testerzy czฤsto dysponujฤ wieloma zestawami danych dla jednego testu, a tworzenie osobnych testรณw dla kaลผdego z nich moลผe byฤ czasochลonne. Testowanie oparte na danych pomaga oddzieliฤ dane od skryptรณw testowych, a te same skrypty testowe moลผna uruchamiaฤ dla rรณลผnych kombinacji danych wejลciowych, jednoczeลnie generujฤ c efektywnie wyniki testรณw.
Przykลad:
Zaลรณลผmy, ลผe chcemy przetestowaฤ system logowania z wieloma polami wejลciowymi na 1000 rรณลผnych zestawach danych.
Aby to sprawdziฤ, moลผesz podjฤ ฤ nastฤpujฤ ce rรณลผne podejลcia:
Podejลcie 1) Utwรณrz 1000 skryptรณw, po jednym dla kaลผdego zestawu 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 Excel. Pobierz dane testowe z wierszy Excela pojedynczo i uruchom skrypt.
Spoลrรณd trzech podanych scenariuszy, pierwsze dwa sฤ pracochลonne i czasochลonne. Dlatego najlepiej zastosowaฤ trzecie podejลcie.
Zatem trzecie podejลcie to nic innego jak framework oparty na danych.
Rodzaje danych testowych w testowaniu sterowanym danymi
Wartoลฤ testowania opartego na danych zaleลผy bezpoลrednio od jakoลci zestawรณw danych wprowadzanych do skryptรณw testowych. Dobrze zaprojektowany plik danych ลฤ czy kilka kategorii danych testowych, dziฤki czemu jeden skrypt moลผe zweryfikowaฤ prawidลowe zachowanie, obsลugฤ bลฤdรณw i limity w jednym przebiegu:
- Dane pozytywne (waลผne): Prawidลowe dane wejลciowe, takie jak prawidลowa nazwa uลผytkownika i hasลo, sลuลผฤ do potwierdzenia, ลผe โโaplikacja akceptuje to, co powinna akceptowaฤ.
- Dane negatywne (nieprawidลowe): Nieprawidลowe lub bลฤdnie sformatowane dane wejลciowe, ktรณre naleลผy odrzuciฤ, np. nieprawidลowe hasลo lub znaki specjalne w polu liczbowym.
- Dane graniczne: Wartoลci na granicach dozwolonych zakresรณw, takie jak nazwa uลผytkownika skลadajฤ ca siฤ z 1 lub 255 znakรณw, czฤsto ujawniajฤ ukryte wady.
- Dane puste lub zerowe: Puste pola weryfikujฤ ce poprawnoลฤ pรณl obowiฤ zkowych i komunikaty o bลฤdach.
- Dane o duลผej objฤtoลci: Rekordy zbiorcze lub generowane losowo sลuลผฤ do sprawdzania wydajnoลci i stabilnoลci przy realistycznym obciฤ ลผeniu.
Po przygotowaniu odpowiednich danych kolejnym krokiem jest zbudowanie samych ram.
Jak stworzyฤ strukturฤ automatyzacji opartej na danych
Zaลรณลผmy, ลผe chcesz przetestowaฤ funkcjonalnoลฤ logowania w aplikacji. Powyลผszy schemat blokowy przedstawia peลny cykl: zidentyfikuj przypadki testowe, napisz wspรณlny skrypt testowy, przenieล dane do pliku zewnฤtrznego i wykonaj pฤtlฤ skryptu dla kaลผdego wiersza danych.
Krok 1) Zidentyfikuj przypadki testowe
- Wprowadลบ poprawnฤ nazwฤ uลผytkownika i hasลo โ Logowanie powiodลo siฤ
- Wprowadลบ niepoprawnฤ nazwฤ uลผytkownika i prawidลowe 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 testowe dla powyลผszych 3 przypadkรณw testowych
| Przypadek testowy# | OPIS | Kroki testowe | Dane testowe | oczekiwane rezultaty |
|---|---|---|---|---|
| 1 | Sprawdลบ opcjฤ Zaloguj siฤ, aby uzyskaฤ prawidลowe dane uwierzytelniajฤ ce |
|
Nazwa uลผytkownika: waลผne hasลo: waลผne | Sukces logowania |
| 2 | Sprawdลบ opcjฤ Logowanie pod kฤ tem nieprawidลowych danych uwierzytelniajฤ cych |
|
Nazwa uลผytkownika: nieprawidลowe hasลo: waลผne | Bลฤ d logowania |
| 3 | Sprawdลบ opcjฤ Logowanie pod kฤ tem nieprawidลowych danych uwierzytelniajฤ cych |
|
Nazwa uลผytkownika: prawidลowe hasลo: nieprawidลowe | Bลฤ d logowania |
Krok 3) Utwรณrz skrypt testowy
Jak widaฤ, kroki testowe sฤ wspรณlne dla wszystkich 3 przypadkรณw testowych. Aby wykonaฤ te kroki, naleลผy utworzyฤ skrypt testowy:
// This is Pseudo Code
// Test Step 1: Launch Application
driver.get("URL of the Application");
// Test Step 2: Enter Username
txtbox_username.sendKeys("valid");
// Test Step 3: Enter Password
txtbox_password.sendKeys("invalid");
// Test Step 4: Check Results
If (Next Screen) print success else Fail
Krok 4) Utwรณrz plik Excel/CSV z danymi testowymi, jak pokazano na poniลผszym arkuszu przykลadowym
Krok 5) Zmodyfikuj skrypt tak, aby pฤtla przechodziลa przez dane wejลciowe. Polecenia wejลciowe rรณwnieลผ powinny byฤ sparametryzowane.
// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
// Read data from Excel and store into variables
int input_1 = ReadExcel(i, 0);
int input_2 = ReadExcel(i, 1);
// Test Step 1: Launch Application
driver.get("URL of the Application");
// Test Step 2: Enter Username
txtbox_username.sendKeys(input_1);
// Test Step 3: Enter Password
txtbox_password.sendKeys(input_2);
// Test Step 4: Check Results
If(Next Screen) print success
else Fail
}
Powyลผej przedstawiono tylko 3 przypadki testowe. Skrypt testowy moลผna wykorzystaฤ do pฤtli nastฤpujฤ cych przypadkรณw testowych, po prostu dodajฤ c wartoลci danych testowych do przewyลผszaฤ
- Wprowadลบ nieprawidลowฤ nazwฤ uลผytkownika i nieprawidลowe hasลo โ Logowanie nie powiodลo siฤ
- Wprowadลบ poprawnฤ nazwฤ uลผytkownika i hasลo puste โ Logowanie nie powiodลo siฤ
- Wprowadลบ pustฤ nazwฤ uลผytkownika i puste hasลo โ logowanie nie powiodลo siฤ
I tak dalej
๐ก Wskazรณwka profesjonalna: Zapisz oczekiwany wynik dla kaลผdego wiersza w tym samym pliku danych, co dane wejลciowe. Twรณj skrypt moลผe nastฤpnie automatycznie porรณwnaฤ rzeczywiste i oczekiwane wyniki, przeksztaลcajฤ c plik danych w kompletny, samoweryfikujฤ cy siฤ zestaw testรณw.
Gdy Twoja struktura bฤdzie gotowa, odpowiednie narzฤdzie uลatwi zarzฤ dzanie danymi, ich wykonywanie i raportowanie.
Najlepsze narzฤdzie do testowania opartego na danych
1) Test sigma
Test sigma to oparta na chmurze platforma do testowania opartego na danych, ktรณra okazaลa siฤ nieoceniona w maksymalizacji pokrycia testami poprzez oddzielenie logiki testowej od danych testowych. Zostaลa zaprojektowana specjalnie dla zespoลรณw, ktรณre muszฤ walidowaฤ aplikacje w oparciu o zrรณลผnicowane zestawy danych, przypadki brzegowe i scenariusze biznesowe bez tworzenia zbฤdnych skryptรณw testowych, usprawniajฤ c tym samym caลy proces testowania opartego na danych.
Podczas moich projektรณw testowania opartego na danych, wykorzystaลem moลผliwoลci parametryzacji Testsigmy do wykonania identycznych scenariuszy testowych dla wielu kombinacji danych z zewnฤtrznych ลบrรณdeล, takich jak pliki Excel i CSV. Moลผliwoลฤ iteracyjnego przeglฤ dania wierszy danych przez platformฤ automatycznie znacznie rozszerzyลa zakres moich testรณw, a szczegรณลowe raportowanie wynikรณw na poziomie danych pomogลo mi szybko zidentyfikowaฤ, ktรณre konkretne kombinacje danych wejลciowych wywoลaลy awarie w warstwie webowej, mobilnej i API.
Cechy:
- Integracja zewnฤtrznych ลบrรณdeล danych: Ta funkcja umoลผliwia bezpoลrednie poลฤ czenia z arkuszami kalkulacyjnymi Excel, plikami CSV i tabelami bazy danych w celu scentralizowanego zarzฤ dzania danymi testowymi. Eliminuje ona wartoลci zakodowane na staลe i pozwala na zarzฤ dzanie danymi testowymi niezaleลผnie od logiki testowej. Moลผna aktualizowaฤ zestawy danych bez modyfikowania skryptรณw testowych, co zapewnia elastycznoลฤ i ลatwoลฤ konserwacji. Uลผywam tej funkcji do efektywnego zarzฤ dzania setkami wariantรณw danych, zachowujฤ c jednoczeลnieโฆping scenariusze testowe sฤ czyste i nadajฤ siฤ do ponownego wykorzystania.
- Zautomatyzowana iteracja danych wielowierszowych: Testsigma automatycznie uruchamia scenariusze testowe dla wielu wierszy danych w jednym przebiegu testu, co znaczฤ co zwiฤksza zakres pokrycia. Moลผna walidowaฤ liczne kombinacje danych wejลciowych, warunki brzegowe i warianty reguล biznesowych bez duplikowania przypadkรณw testowych. Ta funkcja obsลuguje sekwencjonowanie danych i logikฤ iteracji w sposรณb transparentny. Stwierdziลem, ลผe jest to szczegรณlnie skuteczne w przypadku kompleksowych testรณw regresyjnych z minimalnym nakลadem pracy na obsลugฤ skryptรณw.
- Parametryzacja dynamicznego kroku testu: Umoลผliwia zastฤ pienie wartoลci statycznych parametrami dynamicznymi, ktรณre pobierajฤ dane ze ลบrรณdeล zewnฤtrznych podczas wykonywania testu. Moลผna skonfigurowaฤ kroki testu, aby dostosowaฤ je do zmieniajฤ cych siฤ danych wejลciowych, warunkรณw i oczekiwanych wynikรณw w oparciu o wartoลci zbioru danych. Funkcja ta obsลuguje zลoลผone transformacje danych i logikฤ warunkowฤ . Wykorzystujฤ jฤ do tworzenia elastycznych scenariuszy testowych, ktรณre uwzglฤdniajฤ zrรณลผnicowane wymagania biznesowe i przepลywy pracy uลผytkownikรณw.
- Raportowanie wykonania na poziomie danych: Platforma generuje szczegรณลowe raporty, ktรณre rozbijajฤ wyniki testรณw na pojedyncze kombinacje danych, pokazujฤ c dokลadnie, ktรณre dane wejลciowe zostaลy zaliczone, a ktรณre nie. Moลผesz analizowaฤ wzorce, identyfikowaฤ problematyczne zakresy danych iโฆ tracawarie w okreลlonych wierszach zestawu danych. Ta funkcja udostฤpnia wizualne pulpity nawigacyjne i eksportowalne analizy do komunikacji z interesariuszami. Zalecam wykorzystanie tych spostrzeลผeล do nadawania priorytetรณw poprawom jakoลci danych i udoskonalania strategii testowania danych.
- Wsparcie wieloplatformowe oparte na danych: Testsigma rozszerza moลผliwoลci oparte na danych na testy webowe, mobilne i API w ramach ujednoliconych przepลywรณw pracy. Moลผesz zastosowaฤ te same zestawy danych, aby zweryfikowaฤ spรณjnoลฤ rรณลผnych warstw aplikacji i technologii. Ta funkcja zapewnia kompleksowฤ , kompleksowฤ walidacjฤ z wykorzystaniem sparametryzowanych przepลywรณw danych. Uลผyลem jej do weryfikacji, czy przetwarzanie danych w zapleczu poprawnie odzwierciedla siฤ w interfejsach front-end na wielu platformach jednoczeลnie.
ZALETY
Wady
Cennik:
- Cena: Indywidualne ceny z moลผliwoลciฤ testowania opartego na danych w ramach kompleksowego planu subskrypcji
- Darmowa wersja prรณbna: 14-dniowy bezpลatny okres prรณbny
14-dniowy bezpลatny okres prรณbny
2) Testiny
Testiny to nowoczesna platforma do zarzฤ dzania przypadkami testowymi oparta na chmurze, ktรณrej uลผywaลem do efektywnego organizowania przypadkรณw testowych opartych na danych, jednoczeลnie zachowujฤ cping Wyraลบne rozdzielenie logiki testowej od sparametryzowanych zestawรณw danych. Zostaล stworzony dla zespoลรณw, ktรณre muszฤ zarzฤ dzaฤ rรณลผnymi kombinacjami danych w wielu przebiegach testowych bez utraty traczdolnoลฤ.
Podczas realizacji projektรณw opartych na danych TestinyDoceniลem to, jak funkcje edycji zbiorczej i szablonรณw uลatwiลy skalowanie wariantรณw testรณw obejmujฤ cych setki wierszy danych. Platforma integruje siฤ z Jira, GitHub i GitLab, dziฤki czemu nieudane kombinacje danych ลฤ czฤ siฤ z problemem. trackers automatycznie.
Cechy:
- Masowa edycja przypadkรณw testowych: Testiny Umoลผliwia edycjฤ, duplikacjฤ i parametryzacjฤ wielu przypadkรณw testowych jednoczeลnie, co przyspiesza tworzenie wariantรณw opartych na danych. Moลผna wprowadzaฤ zmiany w folderach w ciฤ gu kilku sekund, bez koniecznoลci modyfikowania kaลผdego przypadku z osobna. Korzystam z tego, rozszerzajฤ c zakres o nowe zestawy danych bez koniecznoลci przepisywania skryptรณw.
- Pola niestandardowe do wprowadzania danych: Umoลผliwia definiowanie pรณl niestandardowych dla kaลผdego projektu, dziฤki czemu moลผna modyfikowaฤ atrybuty zestawu danych. tracObok kaลผdego przebiegu testu. Moลผesz rejestrowaฤ wartoลci wejลciowe, oczekiwane wyniki i warunki w jednym miejscu. Uลผywam tych pรณl, aby uลatwiฤ pรณลบniejszฤ weryfikacjฤ zลoลผonych, sparametryzowanych scenariuszy.
- Test w czasie rzeczywistym Tracking: Platforma pokazuje aktualny stan wykonania dla wszystkich czลonkรณw zespoลu, dziฤki czemu testy oparte na danych pozostajฤ transparentne. Moลผesz przypisywaฤ przypadki, monitorowaฤ odsetek zaliczonych/niezaliczonych testรณw i identyfikowaฤ zablokowane kombinacje danych w momencie ich wystฤ pienia. Uwaลผam to za przydatne dlaโฆping Kierownicy ds. zapewnienia jakoลci sฤ informowani bez koniecznoลci ciฤ gลych spotkaล dotyczฤ cych statusu.
- Raportowanie w formacie PDF i moลผliwoลฤ udostฤpniania: Testiny Generuje przejrzyste raporty PDF z wykresami i podsumowaniami realizacji, ktรณrymi moลผna siฤ podzieliฤ z interesariuszami nietechnicznymi. Moลผna je filtrowaฤ wedลug zestawu danych, kamienia milowego lub wydania. Wysyลam je na koniec kaลผdego sprintu, aby zakomunikowaฤ, ลผe dbam o jakoลฤ.
- Problem rodzimy TracIntegracje ker: ลฤ czy siฤ z Jira, GitHub, GitLab, Azure DevOps, Liniowy, Asana, Confluence, Trello i monday.com, dziฤki czemu bลฤdne wiersze danych szybko zamieniajฤ siฤ w zgลoszenia. Pozwala to na utrzymanie spรณjnoลci miฤdzy wykonywaniem testรณw a przepลywami pracy inลผynierรณw. Zauwaลผyลem, ลผe to drastycznie zmniejsza tarcia zwiฤ zane z przekazywaniem zadaล miฤdzy zespoลami QA i programistรณw.
ZALETY
Wady
Cennik:
- Cena: Bezpลatny plan dla maksymalnie 3 uลผytkownikรณw; pลatne plany skalujฤ siฤ w zaleลผnoลci od liczby stanowisk i obejmujฤ dodatkowe wsparcie premium
- Darmowa wersja prรณbna: 21-dniowy bezpลatny okres prรณbny
21-dniowy bezpลatny okres prรณbny
3) Testpad
Testpad to lekkie narzฤdzie do zarzฤ dzania testami oparte na listach kontrolnych, z ktรณrego korzystam, gdy scenariusze oparte na danych wymagajฤ szybkiego przechwycenia bez zbฤdnych ceregieli. Zostaลo zbudowane w oparciu o hierarchiczne listy kontrolne, dziฤki czemu testerzy mogฤ grupowaฤ warianty danych w ramach przypadkรณw nadrzฤdnych i szybko je wykonywaฤ.
Podczas moich sesji opartych na danych z TestpadUลผyลem interfejsu opartego na klawiaturze, aby za jednym razem uruchomiฤ dziesiฤ tki wariantรณw wprowadzania danych. Wsparcie dla testerรณw goลcinnych pozwoliลo mi zaprosiฤ ekspertรณw dziedzinowych do weryfikacji skrajnych kombinacji danych bez koniecznoลci pลacenia za dodatkowe miejsca.
Cechy:
- Hierarchiczne listy kontrolne testรณw: Testpad Organizuje sparametryzowane testy w zagnieลผdลผonych listach kontrolnych, umoลผliwiajฤ c grupowanie powiฤ zanych wariantรณw danych w ramach jednego przypadku nadrzฤdnego. Moลผna rozwijaฤ i zwijaฤ gaลฤzie, aby skupiฤ siฤ na konkretnych zestawach danych. Uลผywam tego do wizualnego uporzฤ dkowania zลoลผonych macierzy danych.
- Edycja sterowana klawiaturฤ : Umoลผliwia tworzenie, wcinanie i zmienianie kolejnoลci elementรณw testowych za pomocฤ skrรณtรณw klawiaturowych, dziฤki czemu tworzenie duลผych planรณw opartych na danych jest szybkie. Moลผna pozostaฤ w ruchu bez siฤgania po myszkฤ. Uwaลผam, ลผe to znacznie skraca czas przechwytywania nowych wierszy zestawu danych.
- Dostฤp dla testerรณw goลcinnych: Testpad Obsลuguje nieograniczonฤ liczbฤ testerรณw goลcinnych bez opลat za stanowisko, dziฤki czemu moลผesz zaangaลผowaฤ ekspertรณw dziedzinowych do konkretnych kombinacji danych. Moลผesz zaprosiฤ interesariuszy do weryfikacji przypadkรณw brzegowych bez dodatkowych kosztรณw licencyjnych. Korzystam z tego podczas akceptacji uลผytkownika w scenariuszach sparametryzowanych.
- Raporty z moลผliwoลciฤ natychmiastowego udostฤpniania: Platforma generuje lekkie raporty, ktรณrymi moลผna siฤ dzieliฤ za poลrednictwem linku, dziฤki czemu postฤpy sฤ widoczne bez koniecznoลci otwierania narzฤdzia. Moลผna je filtrowaฤ wedลug testera, statusu lub gaลฤzi testowej. Wysyลam je menedลผerom produktu po zakoลczeniu kaลผdego testu opartego na danych.
- Kwestia Tracker Linkowanie: ลฤ czy nieudane testy z zgลoszeniami w Jira lub GitHub za pomocฤ prostych linkรณw, dziฤki czemu bลฤdy w wierszach danych szybko trafiajฤ do dziaลu inลผynierii. Moลผna doลฤ czyฤ kontekst bezpoลrednio z nieudanego elementu listy kontrolnej. Pozwalam testerom skupiฤ siฤ na wykonaniu, a narzฤdziom zajฤ ฤ siฤ routingiem.
ZALETY
Wady
Cennik:
- Cena: Plany zaczynajฤ siฤ od 59 USD miesiฤcznie, a dla wiฤkszych zespoลรณw dostฤpne sฤ niestandardowe plany korporacyjne
- Darmowa wersja prรณbna: 30-dniowy bezpลatny okres prรณbny
30-dniowy bezpลatny okres prรณbny
Najlepsze praktyki testowania opartego na danych
Poniลผej przedstawiono najlepsze praktyki testowania w zakresie testowania opartego na danych:
- Idealnym rozwiฤ zaniem jest wykorzystanie realistycznych informacji podczas procesu testowania opartego na danych
- Nawigacja po przepลywie testowym powinna byฤ zakodowana w skrypcie testowym
- Korzystaj z wirtualnych interfejsรณw API za pomocฤ znaczฤ cych danych
- Uลผywaj danych do generowania dynamicznych asercji
- Testuj wyniki pozytywne i negatywne
- Zmieล przeznaczenie testรณw funkcjonalnych opartych na danych w celu zapewnienia bezpieczeลstwa i wydajnoลci
Zalety testowania opartego na danych
Testowanie oparte na danych oferuje wiele korzyลci. Oto niektรณre z nich:
- Umoลผliwia testowanie aplikacji z wieloma zestawami wartoลci danych podczas Testy regresji
- Dane testowe i dane weryfikacyjne moลผna zorganizowaฤ w jednym pliku, niezaleลผnym od logiki przypadku testowego.
- Dziฤki temu narzฤdziu moลผliwe jest przechowywanie skryptรณw testowych w jednym repozytorium. Dziฤki temu testy sฤ ลatwe do zrozumienia, utrzymania i zarzฤ dzania.
- Akcje i funkcje moลผna ponownie wykorzystaฤ w rรณลผnych testach.
- Niektรณre narzฤdzia generujฤ dane testowe automatycznie. Jest to przydatne, gdy potrzebne sฤ duลผe iloลci losowych danych testowych, co pozwala zaoszczฤdziฤ czas.
- Testowanie oparte na danych moลผna przeprowadziฤ na dowolnym etapie rozwoju. Przypadki testowe oparte na danych sฤ zazwyczaj scalane w jeden proces. Moลผna je jednak wykorzystaฤ 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 moลผna wykonaฤ wielokrotnie, co pozwala ograniczyฤ 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 automatycznego opartego na danych to:
- Jakoลฤ testu zaleลผy od umiejฤtnoลci automatyzacji zespoลu wdraลผajฤ cego
- Walidacja danych jest zadaniem czasochลonnym w przypadku testowania duลผej iloลci danych.
- Utrzymanie jest istotnฤ kwestiฤ , poniewaลผ do testowania opartego na danych potrzebna jest duลผa iloลฤ kodu.
- Wymagane sฤ umiejฤtnoลci techniczne na wysokim poziomie. Tester moลผe byฤ zmuszony nauczyฤ siฤ zupeลnie nowego jฤzyka skryptowego.
- Bฤdzie wiฤcej dokumentacji, zwiฤ zanej gลรณwnie z zarzฤ dzaniem skryptami, infrastrukturฤ testowฤ i wynikami testรณw.
- Do tworzenia i utrzymywania plikรณw danych wymagany jest edytor tekstu, taki jak Notatnik.
Testowanie oparte na danych a testowanie oparte na sลowach kluczowych
Poczฤ tkujฤ cy czฤsto mylฤ testowanie oparte na danych z testowaniem opartym na sลowach kluczowych, poniewaลผ oba te podejลcia oddzielajฤ projektowanie testรณw od skryptรณw testowych. Rรณลผnica polega na tym, co jest eksternalizowane: testowanie oparte na danych eksternalizuje wartoลci wejลciowe, podczas gdy testowanie oparte na sลowach kluczowych eksternalizuje same akcje jako sลowa kluczowe wielokrotnego uลผytku. Poniลผsza tabela porรณwnuje oba podejลcia:
| Parametr | Testowanie oparte na danych | Testowanie oparte na sลowach kluczowych |
|---|---|---|
| Co jest eksternalizowane | Dane testowe (dane wejลciowe i oczekiwane wyniki) | Akcje testowe (sลowa kluczowe takie jak Zaloguj siฤ, Kliknij, Zweryfikuj) |
| ลนrรณdลo danych | Tabele Excel, CSV, XML lub bazy danych | Tabele sลรณw kluczowych i opcjonalne tabele danych |
| Wymagane umiejฤtnoลci | Umiarkowana znajomoลฤ skryptรณw | Wiฤkszy poczฤ tkowy nakลad pracy przy projektowaniu; mniej kodowania potrzebnego do tworzenia nowych testรณw |
| Najlepiej nadaje siฤ do | Powtarzanie jednego scenariusza z wieloma kombinacjami wejลciowymi | Tworzenie wielu scenariuszy z blokรณw akcji wielokrotnego uลผytku |
| Konserwacja | Aktualizuj pliki danych bez dotykania skryptรณw | Aktualizuj bibliotekฤ sลรณw kluczowych, gdy zmieni siฤ zachowanie aplikacji |
Wiele zespoลรณw ลฤ czy oba podejลcia w ramach hybrydowego ลrodowiska, w ktรณrym sลowa kluczowe definiujฤ dziaลania nadajฤ ce siฤ do ponownego wykorzystania, a zewnฤtrzne pliki danych dostarczajฤ wartoลci dla kaลผdego przebiegu testu.






