Czym jest skrypt testowy? Jak go napisać na przykładzie
⚡ Inteligentne podsumowanie
Skrypt testowy w testowaniu oprogramowania to zestaw wykonywalnych instrukcji, wiersz po wierszu, który steruje aplikacją i sprawdza każdy jej krok. Ten przewodnik obejmuje trzy metody kompilacji, szablon wielokrotnego użytku oraz działający skrypt. Selenium przykład.

Co to jest skrypt testowy w testowaniu oprogramowania?
A skrypt testowy Opisuje wiersz po wierszu transakcje systemowe, które muszą zostać wykonane w celu walidacji testowanej aplikacji. Zawiera listę wszystkich kroków do wykonania wraz z oczekiwanym rezultatem każdego z nich.
Ponieważ jest wykonywalny, ten sam skrypt można systematycznie odtwarzać na wielu urządzeniach i kompilacjach. Użyteczny skrypt zawsze rejestruje zarówno faktyczne dane wejściowe, jak i oczekiwane dane wyjściowe.
Jak napisać skrypt testowy

Istnieją trzy różne sposoby tworzenia skryptu testowego:
Nagrywaj i odtwarzaj
W tej metodzie tester nie musi w ogóle pisać kodu, a jedynie rejestrować działania użytkownika. Kodowanie jest nadal wymagane później, aby naprawić wszelkie błędy lub dostroić działanie automatyzacji.
Ta metoda jest łatwiejsza niż napisanie od zera kompletnego skryptu testowego, ponieważ masz już kompletny kod. Jest używany głównie w uproszczonym języku programowania, takim jak VBScript.
Skrypty oparte na słowach kluczowych lub danych
W tej metodzie istnieje wyraźny rozdział pomiędzy testerami i programistami. W skryptach opartych na danych tester definiuje test za pomocą słów kluczowych bez znajomości kodu źródłowego.
W tym przypadku zadaniem programistów jest zaimplementowanie kodu skryptu testowego dla słów kluczowych i aktualizacja tego kodu w razie potrzeby. Zatem w tej metodzie tester nie musi martwić się o system. Jednakże w przypadku każdej nowej funkcjonalności, którą chcesz automatycznie przetestować, będą oni w dużym stopniu polegać na zasobach programistycznych.
Pisanie kodu w języku programowania
Jeśli wybierzesz tę metodę, zazwyczaj nadal będziesz mieć możliwość nagrywania i odtwarzania, aby wygenerować pierwszą wersję scenariusza.
Prędzej czy później tester musi jednak wyjść poza nagrywanie i odtwarzanie i nauczyć się pisać proste skrypty ręcznie. Ważne jest, aby zrozumieć, że możesz wybrać swoje Język programowania nawet jeśli Twój wniosek jest zapisany Java.
Nie oznacza to jednak, że musisz pisać skrypty testowe Java, którego może być trudno się nauczyć. Zamiast tego możesz pisać skrypty testowe w łatwiejszym języku, np JAVASCRIPT lub Ruby (lub inny łatwiejszy język, którego chcesz używać).
Przykład skryptu testowego
Na przykład, aby sprawdzić funkcję logowania na stronie internetowej, skrypt testowy może wykonać następujące czynności:
- Określ, w jaki sposób narzędzie do automatyzacji może zlokalizować pola „Nazwa użytkownika” i „Hasło” na ekranie logowania. Powiedzmy, według ich identyfikatorów elementów CSS.
- Załaduj stronę główną witryny, a następnie kliknij link „zaloguj się”. Sprawdź, czy wyświetlony ekran logowania oraz pola „Nazwa użytkownika” i „Hasło” są widoczne.
- Wpisz nazwę użytkownika „Charles” i hasło „123456”, następnie znajdź przycisk „Potwierdź” i kliknij go.
- Muszą określić, w jaki sposób użytkownik może zlokalizować tytuł ekranu powitalnego, który pojawia się po zalogowaniu, na przykład na podstawie identyfikatora elementu CSS.
- Sprawdź, czy tytuł ekranu powitalnego jest widoczny.
- Przeczytaj tytuł ekranu powitalnego.
- Potwierdź, że tytuł brzmi „Witamy Charlesa”.
- Jeśli tytuł jest zgodny z oczekiwaniami, zapisz test jako zaliczony. W przeciwnym razie zapisz go jako niezaliczony.
Przykładowy skrypt testowy w Selenium w Java
Powyższa lista punktowana opisuje test logowania w prostym języku angielskim. Oto ten sam test napisany jako skrypt wykonywalny, używając Selenium WebDriver i JUnitKażdy punkt odpowiada jednej lub dwóm linijkom kodu.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.junit.Assert; import org.junit.Test; public class LoginTestScript { @Test public void validLoginShowsWelcomeMessage() { // Step 1: start the browser and open the site WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/login.html"); // Step 2: locate the fields by their element ids driver.findElement(By.id("email")).sendKeys("Charles"); driver.findElement(By.id("passwd")).sendKeys("123456"); // Step 3: submit the form driver.findElement(By.id("SubmitLogin")).click(); // Step 4: read the welcome title and assert the expected result String actual = driver.findElement(By.id("welcome")).getText(); Assert.assertEquals("Welcome Charles", actual); driver.quit(); } }
Trzy szczegóły odróżniają prawdziwy scenariusz od nagranego:
- Lokalizatory są wyraźne. Elementy są wyszukiwane według identyfikatora, a nie pozycji na ekranie, więc skrypt przetrwa zmianę układu.
- Twierdzenie jest testem. Bez assertEquals skrypt po prostu klika; to asercja decyduje o zaliczeniu lub odrzuceniu skryptu.
- Czyszczenie zawsze działa. driver.quit() zwalnia przeglądarkę, w przeciwnym razie nieudane uruchomienie pozostawia procesy w tyle.
Ta sama struktura obowiązuje w każdym języku. W Python w Selenium wywołania stają się driver.find_element(By.ID, “email”) i assert actual == “Welcome Charles”.
Wskazówki dotyczące tworzenia skryptu testowego
Oto kilka ważnych wskazówek dotyczących tworzenia skryptu testowego:
Utrzymaj to w czystości
Skrypt testowy powinien być na tyle przejrzysty, aby można go było uruchomić bez pomocy. Jeśli tester musi ciągle pytać właściciela projektu o szczegóły dotyczące aplikacji, marnuje czas i zasoby.
Aby tego uniknąć, sprawdź, czy każdy krok w skrypcie testowym jest jasny, zwięzły i spójny. Pomaga to utrzymać płynność procesu testowania.
Uprość to
Powinieneś stworzyć skrypt testowy, który powinien zawierać tylko jedną konkretną akcję do wykonania przez testerów. Daje to pewność, że każda funkcja została poprawnie przetestowana i że testerzy nie pominą etapów procesu testowania oprogramowania.
Przemyśl to
Aby napisać skrypt testowy, musisz postawić się na miejscu użytkownika i zdecydować, które ścieżki przetestować. Powinieneś być na tyle kreatywny, aby przewidzieć wszystkie różne ścieżki, którymi użytkownicy będą korzystać podczas uruchamiania systemu lub aplikacji.
Kiedy stosować podejście skryptu testowego?
Oto powody, dla których warto używać skryptu testowego.
- Skrypt testowy to najbardziej niezawodny sposób potwierdzenia, że żaden krok nie został pominięty i że wyniki są zgodne z ustalonym planem testów.
- Przygotowany skrypt pozostawia znacznie mniej miejsca na wystąpienie błędu podczas wykonywania.
- Gdy testerzy swobodnie testują produkt, łatwo mogą przeoczyć pewne funkcje.
- Tester może również założyć, że funkcja dała oczekiwany wynik, chociaż tak nie było.
- Jest to szczególnie przydatne, gdy wydajność użytkownika jest ważna i specyficzna.
Co to jest szablon skryptu testowego?
Szablon skryptu testowego to wielokrotnego użytku, wstępnie sformatowany dokument zawierający pola, które musi wypełnić każdy skrypt w projekcie. Standaryzacja decyduje o poziomie szczegółowości testów i gwarantuje, że żaden recenzent nie będzie musiał zgadywać, co oznacza dany krok.
Działający szablon zawiera następujące pola:
| Pole | Cel |
|---|---|
| Identyfikator skryptu | Unikalny identyfikator używany do traczdolność i łączenie defektów |
| Tytuł | Jeden wiersz określający, co skrypt weryfikuje |
| Moduł lub funkcja | Obszar testowanego zastosowania |
| Warunki wstępne | Określ, że system musi być uruchomiony przed uruchomieniem pierwszego kroku |
| Dane testowe | Dokładne dane wejściowe, w tym dane uwierzytelniające i wartości graniczne |
| Cel | Ponumerowane akcje, jedna akcja na krok |
| Spodziewany wynik | Obserwowalny wynik każdego kroku |
| Aktualny rezultat | Wypełniono w momencie wykonania |
| Status | Zaliczony, niezaliczony, zablokowany lub nieuruchomiony |
| Autor i data | Własność i historia wersji |
Różnica między przypadkiem testowym a skryptem testowym
Oto główne różnice między przypadkiem testowym a skryptem testowym:
| Przypadek testowy | Skrypt testowy |
|---|---|
| Przypadek testowy to procedura krok po kroku używana do testowania aplikacji. | Skrypt testowy to zestaw instrukcji służących do automatycznego testowania aplikacji. |
| Przypadki testowe służą do ręcznego testowania środowiska. | Skrypt testowy jest używany w środowisku testów automatycznych. |
| Robi się to ręcznie. | Odbywa się to zgodnie z formatem skryptowym. |
| Szablon przypadku testowego zawiera identyfikator testu, dane testowe, procedurę testową, rzeczywiste i oczekiwane wyniki itp. | W skrypcie testowym możemy używać różnych poleceń do tworzenia skryptu. |
Zalety i wady skryptów testowych
Skryptowanie to inwestycja. Wiedza o tym, kiedy się opłaca, podpowie Ci, które testy zautomatyzować w pierwszej kolejności.
Zalety
- Powtarzalne: te same kroki są wykonywane identycznie przy każdej kompilacji, co sprawia, że testy regresyjne są praktyczne.
- Szybkość na dużą skalę: pakiet, którego uruchomienie zajmuje jednemu testerowi dziennie, można uruchomić w kilka minut i to w ciągu całej nocy.
- Spójny: Skrypt nigdy się nie nudzi, nie pomija żadnego kroku ani nie błędnie odczytuje wyniku.
- Wieloplatformowe: jeden skrypt można odtworzyć w różnych przeglądarkach, urządzeniach i systemach operacyjnych.
- Gotowy na CI: Skrypty podłączają się do procesu kompilacji, dzięki czemu każde zatwierdzenie jest automatycznie weryfikowane.
Wady
- Wysokie koszty konfiguracji: napisanie i debugowanie skryptu zajmuje znacznie więcej czasu niż jednorazowe uruchomienie testu ręcznie.
- Obciążenie konserwacyjne: Zmieniony identyfikator elementu lub przeprojektowana strona powodują podział skryptów, które należy naprawić.
- Wymagania dotyczące umiejętności: poza umiejętnością nagrywania i odtwarzania, zespół musi posiadać umiejętności programistyczne.
- Ślepi na nieoczekiwane: Skrypt sprawdza tylko to, co ma sprawdzić, więc wady wizualne i użytkowe nie są brane pod uwagę.
- Fałszywa pewność siebie: zielony zestaw płytkich skryptów może ukryć rzeczywiste luki w pokryciu.
Zasada praktyczna: twórz skrypty stabilnych, powtarzalnych, wysokiego ryzyka ścieżek i prowadź prace eksploracyjne oraz prace nad użytecznością.
Skrypt testowy: najważniejsze wnioski
- Skrypty Testowe oznaczają szczegółowy opis zawierający informacje o transakcjach systemowych, które należy wykonać w celu sprawdzenia poprawności testowanej aplikacji lub systemu.
- Przypadek testowy to procedura krok po kroku używana do testowania aplikacji, natomiast skrypt testowy to zestaw instrukcji służących do automatycznego testowania aplikacji.
- Istnieją trzy sposoby tworzenia skryptu testowego: 1) Nagrywanie/odtwarzanie 2) Tworzenie skryptu opartego na słowach kluczowych/danych 3) Pisanie Code Korzystanie z języka programowania.
- Twój skrypt testowy powinien być przejrzysty i powinieneś utworzyć skrypt testowy, który powinien zawierać tylko jedną konkretną akcję do wykonania przez testerów.
- Skrypt testowy to najbardziej niezawodny sposób potwierdzenia, że żaden krok nie został pominięty i że wyniki są zgodne z ustalonym planem testów.
- Szablon skryptu testowego to dokument w formacie wielokrotnego użytku, zawierający wstępnie wybrane informacje ważne do stworzenia użytecznego skryptu testowego.
