Manualne czy automatyczne generowanie danych testowych?

sie 21, 2023 | Zarządzanie jakością

W jaki sposób optymalnie generować dane testowe i czy lepiej robić to manualnie czy automatycznie? Najczęściej padająca odpowiedź brzmi „to zależy”. Zastanówmy się więc, co wpływa na wybór metody do generowania danych testowych.

Sposoby generowania danych testowych

Rodzaj danych jakich potrzebujemy w głównej mierze determinuje sposób, w jaki będzie nam je najłatwiej pozyskać. Proste dane takie jak login czy hasło możemy generować manualnie i jest to stosunkowo prosty sposób na dostarczenie zmiennych do testów aplikacji. Manualne generowanie danych może być jednak pracochłonne oraz podatne na błędy, przykładowo wprowadzenie nr PESEL czy IBAN bez błędu jest rzadkością. Na pomoc w takich przypadkach przychodzą nam proste generatory danych, które potrafią stworzyć cały zestaw danych np. dane personalne, zawierające imię i nazwisko, nr pesel czy nr konta bankowego, spełniające wymogi algorytmów służących do ich weryfikacji. Sytuacja komplikuje się, gdy wprowadzone przez nas dane musimy przechowywać w sposób umożliwiający ich dalsze wykorzystanie. Pierwszym przykładem takich danych jest zestaw danych kartoteki klienta. Podajemy imię i nazwisko, login do konta czy inne dane wymagane przez aplikację, aby założyć konto klienta. Takie dane przechowywane w bazie aplikacji dają nam możliwość ich ponownego użycia do dalszych prac. Wykorzystując więc proste dane do stworzenia kartoteki klienta w wyniku ich zaewidencjonowania w systemie, otrzymaliśmy zestaw danych klienta. Często taki zestaw otrzymuje swoje ID wykorzystywane jako identyfikator dla innych systemów. Możemy to jeszcze bardziej skomplikować dodając klientowi usługi czy produkty, które z pewnością będą miały swoje ID i będą pozostawały w określonych relacjach do innych modułów czy systemów. W ten sposób dysponujemy już dość pokaźnym zestawem danych. Każdorazowe ręczne generowanie zestawu danych w postaci np. danych klienta i jego usług jest na pewno czasochłonne jak i monotonne. Dlatego jeśli potrzebujemy dużych ilości różnorodnych danych, to można je generować automatycznie lub zasilić naszą aplikację już gotowym zestawem danych.

Tworzenie automatu do generowania danych testowych to oszczędność czasu

Tworzenie automatu do generowania potrzebnych danych pozwala zaoszczędzić czas i pracę potrzebną na ich manualne wytworzenie. Jednocześnie należy pamiętać, że wymaga także nakładu pracy w celu stworzenia automatu i utrzymania poprawności jego działania. Alternatywnym rozwiązaniem jest zasilenie naszego systemu gotową bazą klientów i usług. Rozwiązaniem dającym najwięcej możliwości tworzenia danych, których potrzebujemy, jest import danych produkcyjnych. Pozyskane w ten sposób dane będą w pełni odzwierciedlały sytuację początkową dla naszych zmian w aplikacji, co pozwoli w pełni pokryć przypadki niezbędne do testów. Po anonimizacji takich danych jest to jeden z najlepszych zestawów danych jakie możemy uzyskać. Jak należy postąpić, jeśli nie możemy wykorzystać bazy produkcyjnej, bo aplikacja jeszcze jej nie posiada, lub jest niemożliwa do pozyskania? W takim przypadku, znając wymagania odnośnie naszej bazy, możemy stworzyć ją sami wykorzystując do tego odpowiednie narzędzia, które uzupełnią bazę naszego systemu o niezbędny zestaw danych. Dzięki temu pozyskamy możliwie dużą bazę danych do wykorzystania w testach bez konieczności jej anonimizacji.

 

Wybór sposobu generowania danych zależy od ilości danych testowych których potrzebujemy

Nie odpowiedzieliśmy sobie jeszcze na pytanie czy dane generować automatycznie czy manualnie, ale mamy już podstawy do wysnucia odpowiedzi. W pierwszej kolejności zależy to od ilości danych, których potrzebujemy. Stworzenie w sposób manualny nawet najbardziej skomplikowanych zestawów danych w małej ilości, zawsze będzie bardziej korzystne pod względem nakładu pracy i kosztów, niż tworzenie skryptów automatycznych, które te dane wytworzą, czy przygotowanie bazy danych do zasilenia nią systemu. Mamy wiec pierwszą odpowiedź – to zależy od ilości niezbędnych nam danych testowych. Jeżeli są to niewielkie wolumeny, to rozsądniej jest wytworzyć je manualnie.

Jak zatem postąpić w sytuacji, gdy musimy zapewnić duże ilości danych testowych? W takim przypadku mamy dwie możliwości. Pierwszą z nich jest stworzenie skryptu automatycznego, który wytworzy za nas niezbędne dane lub zasilenie naszej aplikacji odpowiednim zestawem danych. Tworzenie danych za pomocą skryptów automatycznych jest wolniejsze niż zasilenie bazy danymi – często jest to symulowanie działania użytkownika. Jest też bardziej podatne na zmiany w aplikacji i wymaga większej ilości prac utrzymaniowych, gdyż częściej wprowadza się zmiany w kodzie aplikacji niż w strukturze danych. Generowanie danych przez skrypty automatyczne ma jedną znaczącą przewagę nad zasileniem bazy naszej aplikacji. W momencie, gdy na naszym środowisku testowym relacje pomiędzy poszczególnymi danymi nadawane są unikatowo dla naszego środowiska, import danych z zewnątrz nie zawsze będzie możliwy ze względu na konieczność zachowania ciągłości relacji pomiędzy tymi danymi. Automatyczne generowanie danych przez symulowanie działania użytkownika pozwala pominąć ten problem, gdyż przez cały proces tworzymy dane sekwencyjnie w danym środowisku przy zachowaniu ciągłości.

W jakich przypadkach najlepiej generować dane automatycznie?
W momencie kiedy potrzebujemy dużych wolumenów danych w środowisku wymagającym zachowania ich ciągłości. Nie oznacza to, że importowanie danych nie będzie już nigdy przydatne. W momencie gdy jesteśmy w stanie zapewnić reużywalność danych zaimportowanych, powinniśmy w pierwszej kolejności rozważyć tę możliwość. Import bazy danych będzie zawsze szybszy i zapewniający większy przekrój danych niż wytworzenie automatów. Można zatem stwierdzić, że w pierwszej kolejności powinniśmy rozważyć import danych testowych. Dopiero jeśli nie będziemy mogli zapewnić wymaganej przez nasz zakres testów ciągłości w relacjach pomiędzy danymi, powinniśmy rozważyć automat testowy.

 

Soflab G.A.L.L. pozwala na szybkie zasilenie bazy danych przy zachowaniu relacji pomiędzy danymi w środowisku testowym

Istnieje także możliwość połączenia szybkiego zasilenia bazy danych przy zachowaniu relacji pomiędzy bazami i danymi w środowisku testowym, którą zapewnia platforma Soflab G.A.L.L. Narzędzie to wykorzystuje jako wzór reprezentatywny przykład z naszego środowiska testowego, a następnie zasila naszą bazę o potrzebne do testów dane, zachowując przy tym ich różnorodność. Rozwiązanie zapewnia sprawny proces generowania dowolnej ilości wiarygodnych danych testowych, poprawia efektywność procesów testowych, nie naruszając przy tym bezpieczeństwa danych rzeczywistych.

    Generowanie danych na środowisko testowe – od czego zacząć?

    Od czego zatem zależy sposób dostarczania danych na nasze środowisko testowe? W pierwszej kolejności od ilości niezbędnych nam danych, a następnie od stopnia ich skomplikowania na naszym środowisku testowym – to w tym przypadku warto rozważyć użycie wspomnianego wyżej narzędzia Soflab G.A.L.L. Rozwiązanie to pozwala na połączenie szybkości zasilenia bazy i zachowanie ciągłości pomiędzy relacjami w naszej bazie lub bazach danych. Wystarczy jeden reprezentatywny przykład, aby aplikacja w inteligentny sposób dostarczyła nam zestawy zróżnicowanych danych. Innym alternatywnym sposobem jest zasilenie bazy naszej aplikacji przez import danych produkcyjnych lub jej zasilenie danymi niezależnymi. Jeżeli import danych testowych będzie niemożliwy ze względy na ich specyfikę, to wtedy rozwiązaniem może być utworzenie automatów testowych.

    Każda z wymienionych metod dostarczania danych na nasze środowisko sprawdza się w innej sytuacji, zatem najpierw należy dokonać rzetelnej analizy naszego przypadku, a następnie podjąć decyzję, która z metod najlepiej zaadresuje nasze potrzeby i przyniesie spodziewane efekty.

    Polecamy również

    Jak zaprojektować optymalny dashboard?

    Właściwie przygotowane Dashboardy to klucz do efektywnego zarządzania testami w dużych projektach IT

    Jak zaprojektować optymalny dashboard? Na co warto zwrócić szczególną uwagę, aby narzędzia, które zbudujemy były skuteczne, dostarczały wartościowych informacji i przyczyniały się do zwiększenia efektywności projektu? Odpowiedzi na te i wiele innych pytań znajdują się w poniższym artykule.

    generowanie danych testowych

    Poznaj sposoby generowania danych testowych na przykładzie dostępnych narzędzi

    Na etapie projektowania testów jednym z kluczowych zadań jest przygotowanie przypadków testowych bazujących na kryteriach akceptacji określonych w dokumentacji. Aby poprawnie przejść wszystkie przygotowane przypadki, często potrzebujemy określonych zasobów, w tym danych testowych.

    Soflab Technology – największa polska firma „pure-play” w obszarze Quality Assurance

    W tym roku odbyła się już 31. edycja badania Computerworld TOP200, które jest najważniejszym raportem na temat kondycji polskiego rynku teleinformatycznego. W zestawieniu znajdują się kluczowi dostawcy w branży ICT, pośród których wysoko uplasowało się Soflab Technology.

    Różne rodzaje i charakterystyka środowisk nieprodukcyjnych

    W dzisiejszym dynamicznym świecie technologii oprogramowania, tworzenie oraz utrzymanie wysokiej jakości aplikacji i systemu jest kluczową kwestią dla firm. W tym celu niezbędne jest posiadanie różnych rodzajów środowisk nieprodukcyjnych, które umożliwią deweloperom, testerom i innym specjalistom, pracę nad aplikacjami w bezpiecznym i kontrolowanym otoczeniu.

    Prawne aspekty przetwarzania danych wrażliwych w systemach informatycznych i chmurze obliczeniowej

    Wraz z rozwojem nowych technologii pojawiają się również nowe wyzwania w zakresie przetwarzania danych osobowych w postaci cyfrowej. Wymusza to także konieczność wypracowania nowych regulacji prawnych, które należycie zabezpieczą dane osobowe przetwarzane przez różne podmioty w infrastrukturze informatycznej (instytucje, organizacje, przedsiębiorstwa).

    zmiany-w-sylabusie-istqb

    Nowy sylabus ISTQB® Certified Tester Foundation Level – zmiany u podstaw

    Nowa wersja sylabusa nie jest jedynie aktualizacją, tudzież wymieszaniem treści istniejących już w sylabusach Foundation i Agile, ale kompletnym przemodelowaniem integrującym niezmienne podstawy testowania z najnowszymi elementami zwinnymi, dodatkowo wzbogaconym o aktualne trendy pozwalające lepiej przygotować się do „testowania przyszłości”.

    ChatGPT kłamie jak z nut czyli halucynacje AI

    Szukałem tłumaczenia dosyć starej ale specjalistycznej książki na język polski. Postanowiłem skorzystać z ChatGPT, żeby ułatwić sobie te poszukiwania. I jaki jest rezultat? No coż… wniosek jest prosty, jak ChatGPT nie zna odpowiedzi, to ją sobie wymyśli, ale kłamie tak sprawnie, że na początku można mu nawet uwierzyć.

    generowanie danych testowych

    Poznaj sposoby generowania danych testowych na przykładzie dostępnych narzędzi

    Na etapie projektowania testów jednym z kluczowych zadań jest przygotowanie przypadków testowych bazujących na kryteriach akceptacji określonych w dokumentacji. Aby poprawnie przejść wszystkie przygotowane przypadki, często potrzebujemy określonych zasobów, w tym danych testowych.

    Soflab Technology – największa polska firma „pure-play” w obszarze Quality Assurance

    W tym roku odbyła się już 31. edycja badania Computerworld TOP200, które jest najważniejszym raportem na temat kondycji polskiego rynku teleinformatycznego. W zestawieniu znajdują się kluczowi dostawcy w branży ICT, pośród których wysoko uplasowało się Soflab Technology.

    Różne rodzaje i charakterystyka środowisk nieprodukcyjnych

    W dzisiejszym dynamicznym świecie technologii oprogramowania, tworzenie oraz utrzymanie wysokiej jakości aplikacji i systemu jest kluczową kwestią dla firm. W tym celu niezbędne jest posiadanie różnych rodzajów środowisk nieprodukcyjnych, które umożliwią deweloperom, testerom i innym specjalistom, pracę nad aplikacjami w bezpiecznym i kontrolowanym otoczeniu.

    Prawne aspekty przetwarzania danych wrażliwych w systemach informatycznych i chmurze obliczeniowej

    Wraz z rozwojem nowych technologii pojawiają się również nowe wyzwania w zakresie przetwarzania danych osobowych w postaci cyfrowej. Wymusza to także konieczność wypracowania nowych regulacji prawnych, które należycie zabezpieczą dane osobowe przetwarzane przez różne podmioty w infrastrukturze informatycznej (instytucje, organizacje, przedsiębiorstwa).

    zmiany-w-sylabusie-istqb

    Nowy sylabus ISTQB® Certified Tester Foundation Level – zmiany u podstaw

    Nowa wersja sylabusa nie jest jedynie aktualizacją, tudzież wymieszaniem treści istniejących już w sylabusach Foundation i Agile, ale kompletnym przemodelowaniem integrującym niezmienne podstawy testowania z najnowszymi elementami zwinnymi, dodatkowo wzbogaconym o aktualne trendy pozwalające lepiej przygotować się do „testowania przyszłości”.

    ChatGPT kłamie jak z nut czyli halucynacje AI

    Szukałem tłumaczenia dosyć starej ale specjalistycznej książki na język polski. Postanowiłem skorzystać z ChatGPT, żeby ułatwić sobie te poszukiwania. I jaki jest rezultat? No coż… wniosek jest prosty, jak ChatGPT nie zna odpowiedzi, to ją sobie wymyśli, ale kłamie tak sprawnie, że na początku można mu nawet uwierzyć.

    Soflab Technology – największa polska firma „pure-play” w obszarze Quality Assurance

    W tym roku odbyła się już 31. edycja badania Computerworld TOP200, które jest najważniejszym raportem na temat kondycji polskiego rynku teleinformatycznego. W zestawieniu znajdują się kluczowi dostawcy w branży ICT, pośród których wysoko uplasowało się Soflab Technology.

    Różne rodzaje i charakterystyka środowisk nieprodukcyjnych

    W dzisiejszym dynamicznym świecie technologii oprogramowania, tworzenie oraz utrzymanie wysokiej jakości aplikacji i systemu jest kluczową kwestią dla firm. W tym celu niezbędne jest posiadanie różnych rodzajów środowisk nieprodukcyjnych, które umożliwią deweloperom, testerom i innym specjalistom, pracę nad aplikacjami w bezpiecznym i kontrolowanym otoczeniu.

    Prawne aspekty przetwarzania danych wrażliwych w systemach informatycznych i chmurze obliczeniowej

    Wraz z rozwojem nowych technologii pojawiają się również nowe wyzwania w zakresie przetwarzania danych osobowych w postaci cyfrowej. Wymusza to także konieczność wypracowania nowych regulacji prawnych, które należycie zabezpieczą dane osobowe przetwarzane przez różne podmioty w infrastrukturze informatycznej (instytucje, organizacje, przedsiębiorstwa).

    zmiany-w-sylabusie-istqb

    Nowy sylabus ISTQB® Certified Tester Foundation Level – zmiany u podstaw

    Nowa wersja sylabusa nie jest jedynie aktualizacją, tudzież wymieszaniem treści istniejących już w sylabusach Foundation i Agile, ale kompletnym przemodelowaniem integrującym niezmienne podstawy testowania z najnowszymi elementami zwinnymi, dodatkowo wzbogaconym o aktualne trendy pozwalające lepiej przygotować się do „testowania przyszłości”.

    ChatGPT kłamie jak z nut czyli halucynacje AI

    Szukałem tłumaczenia dosyć starej ale specjalistycznej książki na język polski. Postanowiłem skorzystać z ChatGPT, żeby ułatwić sobie te poszukiwania. I jaki jest rezultat? No coż… wniosek jest prosty, jak ChatGPT nie zna odpowiedzi, to ją sobie wymyśli, ale kłamie tak sprawnie, że na początku można mu nawet uwierzyć.

    Różne rodzaje i charakterystyka środowisk nieprodukcyjnych

    W dzisiejszym dynamicznym świecie technologii oprogramowania, tworzenie oraz utrzymanie wysokiej jakości aplikacji i systemu jest kluczową kwestią dla firm. W tym celu niezbędne jest posiadanie różnych rodzajów środowisk nieprodukcyjnych, które umożliwią deweloperom, testerom i innym specjalistom, pracę nad aplikacjami w bezpiecznym i kontrolowanym otoczeniu.

    Prawne aspekty przetwarzania danych wrażliwych w systemach informatycznych i chmurze obliczeniowej

    Wraz z rozwojem nowych technologii pojawiają się również nowe wyzwania w zakresie przetwarzania danych osobowych w postaci cyfrowej. Wymusza to także konieczność wypracowania nowych regulacji prawnych, które należycie zabezpieczą dane osobowe przetwarzane przez różne podmioty w infrastrukturze informatycznej (instytucje, organizacje, przedsiębiorstwa).

    zmiany-w-sylabusie-istqb

    Nowy sylabus ISTQB® Certified Tester Foundation Level – zmiany u podstaw

    Nowa wersja sylabusa nie jest jedynie aktualizacją, tudzież wymieszaniem treści istniejących już w sylabusach Foundation i Agile, ale kompletnym przemodelowaniem integrującym niezmienne podstawy testowania z najnowszymi elementami zwinnymi, dodatkowo wzbogaconym o aktualne trendy pozwalające lepiej przygotować się do „testowania przyszłości”.

    ChatGPT kłamie jak z nut czyli halucynacje AI

    Szukałem tłumaczenia dosyć starej ale specjalistycznej książki na język polski. Postanowiłem skorzystać z ChatGPT, żeby ułatwić sobie te poszukiwania. I jaki jest rezultat? No coż… wniosek jest prosty, jak ChatGPT nie zna odpowiedzi, to ją sobie wymyśli, ale kłamie tak sprawnie, że na początku można mu nawet uwierzyć.

    Prawne aspekty przetwarzania danych wrażliwych w systemach informatycznych i chmurze obliczeniowej

    Wraz z rozwojem nowych technologii pojawiają się również nowe wyzwania w zakresie przetwarzania danych osobowych w postaci cyfrowej. Wymusza to także konieczność wypracowania nowych regulacji prawnych, które należycie zabezpieczą dane osobowe przetwarzane przez różne podmioty w infrastrukturze informatycznej (instytucje, organizacje, przedsiębiorstwa).

    zmiany-w-sylabusie-istqb

    Nowy sylabus ISTQB® Certified Tester Foundation Level – zmiany u podstaw

    Nowa wersja sylabusa nie jest jedynie aktualizacją, tudzież wymieszaniem treści istniejących już w sylabusach Foundation i Agile, ale kompletnym przemodelowaniem integrującym niezmienne podstawy testowania z najnowszymi elementami zwinnymi, dodatkowo wzbogaconym o aktualne trendy pozwalające lepiej przygotować się do „testowania przyszłości”.

    ChatGPT kłamie jak z nut czyli halucynacje AI

    Szukałem tłumaczenia dosyć starej ale specjalistycznej książki na język polski. Postanowiłem skorzystać z ChatGPT, żeby ułatwić sobie te poszukiwania. I jaki jest rezultat? No coż… wniosek jest prosty, jak ChatGPT nie zna odpowiedzi, to ją sobie wymyśli, ale kłamie tak sprawnie, że na początku można mu nawet uwierzyć.

    zmiany-w-sylabusie-istqb

    Nowy sylabus ISTQB® Certified Tester Foundation Level – zmiany u podstaw

    Nowa wersja sylabusa nie jest jedynie aktualizacją, tudzież wymieszaniem treści istniejących już w sylabusach Foundation i Agile, ale kompletnym przemodelowaniem integrującym niezmienne podstawy testowania z najnowszymi elementami zwinnymi, dodatkowo wzbogaconym o aktualne trendy pozwalające lepiej przygotować się do „testowania przyszłości”.

    ChatGPT kłamie jak z nut czyli halucynacje AI

    Szukałem tłumaczenia dosyć starej ale specjalistycznej książki na język polski. Postanowiłem skorzystać z ChatGPT, żeby ułatwić sobie te poszukiwania. I jaki jest rezultat? No coż… wniosek jest prosty, jak ChatGPT nie zna odpowiedzi, to ją sobie wymyśli, ale kłamie tak sprawnie, że na początku można mu nawet uwierzyć.