czas czytania: 10 minut
jak pisać przypadki testowe mogą nie wydawać się tak ważną częścią rozwoju. Ale aby tester oprogramowania mógł jak najlepiej wykonywać swoją pracę, potrzebuje krystalicznie czystego zestawu kroków do naśladowania i jasnej definicji tego, co jest testowane.
każdy, od NASA i GE po korporacje na poziomie korporacyjnym, może korzystać z zespołów działających w najlepszym wydaniu. Pisanie doskonałych przypadków testowych to jeszcze jeden sposób na zwiększenie wydajności i skuteczności zespołu, a Parasoft polega na tym, aby umożliwić zespołom właśnie to.
na tym blogu poruszamy następujące tematy związane z tym, jak napisać przypadek testowy:
- co to jest przypadek testowy?
- skrypt testowy a przypadek testowy
- różne typy przypadków testowych
- jak pisać przypadki testowe oprogramowania
- standardowy format przypadków testowych
- najlepsze praktyki pisania przypadków testowych
- Test suite vs. plan testowy
- narzędzia do pisania przypadków testowych
zobacz, jak możesz tworzyć przydatne przypadki testowe wielokrotnego użytku, aby ułatwić testowanie funkcjonalne API dzięki automatyzacji testów wzbogaconej o sztuczną inteligencję.
poproś o Demo
Co To jest przypadek testowy w oprogramowaniu?
przypadek testowy jest dokładnie tym, na co wygląda: scenariuszem testowym mierzącym funkcjonalność zestawu działań lub warunków w celu weryfikacji oczekiwanego wyniku. Mają one zastosowanie do dowolnej aplikacji, mogą korzystać z testów ręcznych lub testów automatycznych i mogą korzystać z narzędzi do zarządzania przypadkami testowymi.
kluczową rzeczą do zapamiętania, jeśli chodzi o pisanie spraw testowych, jest to, że mają one na celu przetestowanie podstawowej zmiennej lub zadania, takiego jak to, czy kod rabatowy dotyczy odpowiedniego produktu na stronie e-commerce. Pozwala to testerowi oprogramowania na większą elastyczność w testowaniu kodu i funkcji.
Optymalizacja testów jednostkowych i regresji dla systemów wbudowanych
Test Script vs. Test Case
należy również wyjaśnić różnicę między testowymi przypadkami a skryptami testowymi. Skrypt testowy to krótki program służący do testowania określonych funkcjonalności. Przypadek testowy to dokument zawierający kroki, które należy wykonać zgodnie z planem z wyprzedzeniem.
potraktuj przypadki testowe jako skrupulatnie zaplanowaną podróż, a skrypty testowe jako szybką wycieczkę do sklepu spożywczego.
różne typy przypadków testowych
przypadki testowe mogą mierzyć wiele różnych aspektów kodu. Zaangażowane kroki mogą również mieć na celu wywołanie wyniku niepowodzenia w przeciwieństwie do pozytywnego oczekiwanego wyniku, na przykład gdy użytkownik wprowadzi niewłaściwe hasło na ekranie logowania.
niektóre przykłady przypadków testu publicznego byłyby następujące:
przypadki testowe można zastosować do dowolnej liczby funkcji znajdujących się w danym oprogramowaniu. Do najpopularniejszych przykładów należą:
- testowanie API-zobacz to w akcji.
- testowanie UI-Zobacz to w akcji.
- testy jednostkowe-Zobacz to w akcji.
- Load & testowanie wydajności-zobacz to w akcji.
- testowanie zabezpieczeń
- zapytania SQL
- testowanie aplikacji o niskim kodzie
popularny przykład przypadku testowego
przypadki testowe są przydatne w różnych scenariuszach oprogramowania. Wszystko, od bankowości po oprogramowanie osobiste, wymaga aplikacji testowej. Na przykład, jeśli celem jest szyfrowanie wrażliwych danych, oprogramowanie musi mieć funkcje, które działają zgodnie z przeznaczeniem.
ale testowanie funkcjonalne to tylko jeden z aspektów pisania przypadku testowego. Testowanie oprogramowania powinno stanowić poważne wyzwanie dla każdego aspektu kodu, od wydajności po kompatybilność i bezpieczeństwo. Dlatego osobiste oprogramowanie szyfrujące musi być tak dokładnie przetestowane-zwłaszcza jeśli chodzi o takie rzeczy, jak API sieci Web.
jak pisać przypadki testowe oprogramowania
pisanie przypadków testowych zależy od tego, co przypadek testowy mierzy lub testuje. Jest to również sytuacja, w której Dzielenie zasobów testowych między deweloperami i zespołami testowymi może przyspieszyć testowanie oprogramowania. Ale wszystko zaczyna się od wiedzy, jak skutecznie i efektywnie napisać przypadek testowy.
przypadki testowe mają kilka integralnych części, które zawsze powinny być obecne w polach. Jednak każdy przypadek testowy można podzielić na 8 podstawowych kroków.
Krok 1: Identyfikator przypadku testowego
przypadki testowe powinny mieć unikalne identyfikatory, aby je reprezentować. W większości przypadków przestrzeganie konwencji tego identyfikatora nazewnictwa pomaga w organizacji, przejrzystości i zrozumieniu.
Krok 2: Opis testu
ten opis powinien szczegółowo określać, która jednostka, funkcja lub funkcja jest testowana lub co jest weryfikowane.
Krok 3: założenia i warunki wstępne
wiąże się to z wszelkimi warunkami, które należy spełnić przed wykonaniem przypadku testowego. Jednym z przykładów byłoby wymaganie prawidłowego konta Outlook do logowania.
Krok 4: Dane testowe
dotyczy to zmiennych i ich wartości w przypadku testowym. W przykładzie loginu e-mail będzie to nazwa użytkownika i hasło do konta.
Krok 5: Kroki do wykonania
kroki te powinny być łatwo powtarzalne z perspektywy użytkownika końcowego. Na przykład przypadek testowy logowania do serwera poczty e-mail może obejmować następujące kroki:
- Otwórz stronę WWW serwera poczty e-mail.
- wpisz nazwę użytkownika.
- wpisz hasło.
- kliknij przycisk „Enter” lub „Login”.
Krok 6: oczekiwany wynik
oznacza to oczekiwany wynik po wykonaniu kroku przypadku testowego. Po wprowadzeniu odpowiednich danych logowania oczekiwanym rezultatem będzie pomyślne logowanie.
Krok 7: Rzeczywisty wynik i warunki po
w porównaniu z oczekiwanym wynikiem możemy określić status przypadku testowego. W przypadku logowania e-mail, użytkownik zostanie pomyślnie zalogowany lub nie. Warunkiem post jest to, co dzieje się w wyniku wykonania kroku, na przykład przekierowanie do skrzynki odbiorczej e-mail.
Krok 8: Pass/Fail
określenie statusu pass/fail zależy od tego, jak oczekiwany wynik i rzeczywisty wynik porównują się ze sobą.
ten sam wynik = Pass
Inne wyniki = Fail
Przyspiesz testowanie oprogramowania, udostępniając zasoby testowe w zespołach programistycznych &
Standardowy Format przypadku testu jednostkowego
każda część dobrze napisanego testu jednostkowego określi kilka podstawowych aspektów, w tym:
- funkcje wykonywane przez test
- dane użyte w teście
- oczekiwany wynik wykonania testu
- zapewnienie, że test został wykonany w izolacji od innych części bazy kodu
ważne jest, aby wiedzieć, że standardowy format dobrze napisanych testów składa się z następujących części:
- znacząca nazwa metody testowej
- kontrolowane dane lub mocki używane do testowania
- Testowana Metoda lub jednostka (część kodu, którą testujemy)
- zastosowanie twierdzenia
- wykonanie testu jednostkowego w izolacji
czy istnieje szablon przypadku testowego?
jak wspomniano, istnieje standardowy format przypadku testowego. Jednak szablon przypadku testowego prawdopodobnie będzie się różnić w zależności od firmy, a nawet od zespołu do zespołu. Zamiast tego szablon przypadku testowego jest dokumentem z listą scenariuszy testowych i kolejnych przypadków testowych.
przykład testu jakości
chociaż przypadki testowe będą się różnić w zależności od rodzaju testowania i ogólnego pola testowania, budowanie przypadku testu jakości sprowadza się do tych kilku wiarygodnych elementów powyżej. Pamiętaj: nazwa metody badawczej musi zawierać badaną metodę lub jednostkę oraz oczekiwany wynik.
należy również zauważyć, że każda jednostka powinna być testowana w izolacji. W tym przypadku „izolacja” oznacza utrzymywanie jak największej koncentracji testów w celu wykonania tylko części aplikacji, dla której testujemy.
ten przykład pochodzi z testu związanego z bankowością:
Dzięki tej nazwie metody wiemy, że jest to test jednostkowy, który jest:
- testowanie metody ” isOverDrawn ()”.
- Zbalansowany używany do kontrolowanych danych wynosił 500.
- oczekiwany wynik jest prawdziwy.
znacząca nazwa metody pozwala każdemu przeglądającemu wyniki zrozumieć, dla czego test jednostkowy był testowany. Ponadto sygnalizuje dane do przetestowania, oczekiwany wynik i to, co zostało przetestowane.
jeśli test się nie powiedzie, znajomość oczekiwanego wyniku ma kluczowe znaczenie dla łatwiejszego rozwiązywania problemów i zapewnienia braku regresji.
dane przypadku testowego
użyte dane muszą być wystarczające do wykonania testu. W przypadku testów jednostkowych chcemy maksymalnie uprościć testowanie najbardziej podstawowej jednostki naszej aplikacji. Dane mogą być tak proste, jak tworzenie łańcucha znaków lub zmiennej obiektu, dla których można kontrolować dane. Można też użyć makiety framework do testu, jeśli zależność nie jest dostępna lub potrzebujesz, aby ta zależność była w określonym stanie.
mając wystarczająco dużo, aby przetestować tę jedną część, jeśli jest wystarczająca. Nie musisz konfigurować każdego elementu aplikacji do uruchomienia testu.
wszystko to wpływa na zachowanie testu jednostkowego, ponieważ są to dane używane do wykonania testu jednostkowego. W związku z tym ta część testów jednostkowych jest najbardziej czasochłonna, ponieważ wymaga pewnego zrozumienia kodu, który testujesz, aby wiedzieć, jakich danych użyć do testowania.
zachowaj prostotę, używając tylko części potrzebnych do testowania kodu. Kpiny są bardzo przydatne w tej fazie, ponieważ pozwalają kontrolować, jak metody z tych obiektów będą się zachowywać podczas interakcji z testem.
na przykład, biorąc pod uwagę następujące dane:
uniknęliśmy „rzeczywistej klasy klienta”, używając makiety dla „klasy klienta” do testowania izolacji. Nie chcemy wprowadzać ani konfigurować innego obiektu do tego testu, ponieważ dodaje on kolejną warstwę łatwości konserwacji dla tego obiektu i nie wpływa to na wynik testowanej metody.
Następna zmienna, która zostanie utworzona, to „balans początkowy” – coś znanego ze znajomości kodu. Następna linia pokazuje tworzony obiekt konta wraz z makietą i początkowym Saldem, aby przygotować metodę, którą testujemy, z danymi, których właśnie użyliśmy.
Tak więc w tym przykładzie obiekt konta jest skonfigurowany z makietą klienta, ponieważ nie dbamy o Dane obiektu Klienta i przeszliśmy początkowe saldo, które możemy kontrolować do naszego testu.
następna linia definiuje wejście, ponieważ testowana metoda wymaga użycia numeru. Zdefiniowaliśmy „balans”, który ma być użyty w metodzie, dla której testujemy. Następnie metoda jest wykonywana z wynikiem metody zapisanym w naszej zmiennej, którą będziemy później używać.
zastosowanie twierdzenia
gdy test może zakończyć się pomyślnie (ponieważ działa od początku do końca bez wyjątków lub błędów), nadszedł czas, aby zastosować twierdzenie do testu jednostkowego. Bez twierdzenia, test jednostkowy jest bez znaczenia, ponieważ nie ma niczego, co egzekwujesz, aby upewnić się, że działa zgodnie z przeznaczeniem.
zbieranie pokrycia tego, które linie zostały wykonane, mówi, co zostało wykonane, ale nie dostarcza wystarczających szczegółów, aby określić następujące:
- jeśli kod zachowuje się zgodnie z oczekiwaniami.
- jeśli kod spełnia cele jakościowe.
- jeśli zwrócone dane są danymi oczekiwanymi.
twierdzenie może być tak podstawowe jak:
dopóki test jednostkowy zawiera jedno twierdzenie, które sprawdza wynik testu, jest to znaczący test jednostkowy.
stosując standardowy format testu jednostkowego, zespół może z łatwością utrzymywać, czytać i/lub aktualizować testy, aby łatwo zobaczyć, gdzie można zastosować więcej testów do reszty aplikacji.
jakie są najlepsze praktyki pisania przypadków testowych jakości?
jak pisać skuteczne testy i przypadki testowe można z czasem usprawnić. Niektóre najlepsze praktyki obejmują używanie mocnych tytułów, mocnych opisów i utrzymywanie zwięzłego i jasnego języka.
ale będziesz chciał również uwzględnić warunki wstępne, założenia i oczekiwane wyniki. Wszystkie te informacje są istotne dla testera oprogramowania-zwłaszcza przy określaniu, czy przypadek testowy powinien być „zdany”, czy „nie”.
Ściągawka do tworzenia spraw testowych, które działają dobrze, wygląda następująco:
- zachowaj prostotę i przejrzystość.
- spraw, aby przypadki testowe były wielokrotnego użytku.
- Zachowaj unikalne identyfikatory przypadków testowych.
- recenzja jest ważna.
- przypadki testowe powinny mieć na uwadze użytkownika końcowego lub zdefiniowane wymagania.
- Określ oczekiwane wyniki i założenia.
prosty, unikalny, specyficzny, otwarty na opinie i skoncentrowany na możliwości ponownego użycia: tak wygląda świetny przypadek testowy. Aby uzyskać bardziej wizualne spojrzenie na to, jak napisać przypadek testu jakości, sprawdź webinar Parasoft na ten temat.
Pakiet testowy a Plan testowy
drugi aspekt przypadku testowego obejmuje pakiety testowe i plany testowe. Różnią się one w kluczowe sposoby i oba są niezbędne do dokładnego rozwoju przypadku testowego.
bądź inteligentniejszym testerem oprogramowania dzięki tym 5 pysznym kombinacjom technologicznym
Co To jest pakiet testowy?
pakiet testowy wchodzi w grę dla przypadków testowych, ponieważ dotyczy kodu źródłowego, zbioru zależności lub zestawu testów, które mają być wykonywane na kodzie. Pakiety testowe umożliwiają kategoryzację przypadków testowych w sposób dostosowany do potrzeb analizy lub planowania.
oznacza to, że podstawowe funkcje oprogramowania mogą mieć swój własny pakiet testowy, podczas gdy inny pakiet testowy dotyczy określonego typu testowania, takiego jak smoke lub security. Pomyśl o zestawach testowych jako półce na książki do organizowania przypadków testowych.
Co To jest plan testowy?
natomiast Plan testowy jest bardziej jak parasol, który stoi nad wszystkimi zestawami testowymi. Jeśli przypadki testowe to książki, a zestawy testowe to regały, to plany testowe to pomieszczenie, w którym znajduje się regał.
Ogólnie rzecz biorąc, plany testowe są konfigurowane w kategoriach testów ręcznych, testów automatycznych i ogólnego formatu sposobu przeprowadzania testów. Będą testować oprogramowanie od podstaw, wykorzystując zestawy testowe i przypadki testowe przed wdrożeniem zmian lub dodaniem nowych funkcji.
Best test Case Writing Tools
Parasoft ogólnie rozwija swoje narzędzia i pakiety z myślą o teorii „George’ a Jetsona”. To znaczy, że chcemy, aby nasi klienci mogli „nacisnąć przycisk” i mieć wszystko pod kontrolą. Chociaż nie jest to całkowicie realistyczne, narzędzia, Które Koncentrują się na automatyzacji, są najlepsze w użyciu, jeśli chodzi o pisanie przypadków testowych.
nie tylko mogą pomóc w automatyzacji, ale mogą pomóc od samego początku rozwoju. W końcu zbyt łatwo jest utknąć w małych szczegółach lub funkcjach. Można by zapomnieć, że oprogramowanie musi najpierw działać. W tym miejscu pojawia się narzędzie do testowania jednostek Java, takie jak Parasoft Jtest.
Uprość testowanie API i popraw jakość oprogramowania. Zobacz test automation enhanced with AI & ML w akcji!
poproś o Demo
to narzędzie pozwala zarówno początkującym, jak i ekspertom szybciej doskonalić swoje umiejętności testowania jednostek, a także doświadczenie w testowaniu jednostek. Po utworzeniu Fundacji, wykonuje testy jednostkowe, a następnie prowadzi użytkownika, aby upewnić się, że testy są znaczące. Kiedy możesz zrozumieć rodzaje rzeczy, których należy szukać w teście, pisanie przypadków testowych staje się mniej zastraszające.