Aby wdrożyć podejście do automatyzacji testów oparte o słowa kluczowe, należy przeprowadzić modelowanie procesów biznesowych, które mają zostać przetestowane, w języku słów kluczowych wysokiego poziomu. Język taki powinien być intuicyjny dla użytkowników, którymi prawdopodobnie będą analitycy testowi biorący udział w projekcie.
Słowa kluczowe w ogólności służą do opisu wysokopoziomowych interakcji biznesowych z systemem. Na przykład, słowo kluczowe „Anuluj zamówienie” może oznaczać konieczność sprawdzenia, czy zamówienie istnieje, weryfikowania praw dostępu osoby, która zgłosiła żądanie anulowania, wyświetlenia zamówienia oraz żądania potwierdzenia anulowania. Przypadki testowe specyfikuje analityk testowy, korzystając z sekwencji słów kluczowych (np. „Zaloguj”, „Wybierz Zamówienie”, „Anuluj Zamówienie”) oraz odpowiednich danych.
Poniżej przedstawiono prostą tabelę wartości wejściowych opartą o słowa kluczowe. Umożliwia ona przetestowanie zdolności oprogramowania do dodawania, resetowania i usuwania kont użytkowników:
Słowo kluczowe | Użytkownik | Hasło | Rezultat |
---|---|---|---|
Dodaj użytkownika | Użytkownik1 | Hasło1 | Komunikat: Użytkownik został dodany |
Dodaj użytkownika | @Rec34 | @Rec35 | Komunikat: Użytkownik został dodany |
Resetuj hasło | Użytkownik1 | Witaj | Komunikat potwierdzający: Hasło zostało zresetowane |
Usuń użytkownika | Użytkownik1 | Komunikat: Niepoprawny użytkownik lub hasło | |
Dodaj użytkownika | Użytkownik3 | Hasło3 | Komunikat: Użytkownik został dodany |
Usuń użytkownika | Użytkownik2 | Komunikat: Nie znaleziono użytkownika |
Skrypt automatyzacji korzystający z tej tabeli wyszukuje wartości, których należy użyć. Na przykład, jeśli dotrze do wiersza zawierającego słowo kluczowe „Usuń użytkownika”, wymagana jest tylko nazwa użytkownika. Dodanie nowego użytkownika wiąże się z koniecznością podania nazwy i hasła. Można także odwoływać się do wartości wejściowych pochodzących ze składnicy danych, tak jak w przypadku drugiego słowa kluczowego „Dodaj Użytkownika”, przy którym podano odwołanie do danych, a nie same dane. Zapewnia to większą elastyczność dostępu do danych, które mogą ulegać zmianom w miarę wykonywania testów. Dzięki temu podejście sterowane danymi można połączyć z użyciem słów kluczowych.
Należy zwrócić uwagę na następujące kwestie:
- Im bardziej szczegółowe są słowa kluczowe, tym bardziej szczegółowe scenariusze można uwzględnić jednak trudniej wówczas zarządzać językiem wysokiego poziomu.
- Umożliwienie analitykom testowym specyfikowania działań niskiego poziomu („Kliknij przycisk”, „Wybierz z listy” itp.) pozwala obsłużyć w testach tego rodzaju większą liczbę różnych sytuacji. Jednak ponieważ działania te bezpośrednio wiążą się z graficznym interfejsem użytkownika, testy wymagają wykonania dodatkowych czynności pielęgnacyjnych po wprowadzeniu zmian w systemie.
- Zagregowane słowa kluczowe mogą uprościć projektowanie, jednak także utrudnić utrzymanie środowiska. Na przykład, można zdefiniować sześć różnych słów kluczowych, które razem służą do utworzenia rekordu. Czy należy utworzyć jeszcze jedno słowo kluczowe, które wywołuje po kolei sześć pozostałych, aby uprościć to działanie?
- Niezależnie od czasu poświęconego na analizę, podczas tworzenia języka słów kluczowych może pojawić się konieczność dodania nowych słów kluczowych. Słowo kluczowe posiada dwa znaczenia, tj. logikę biznesową i funkcję automatyzacji, która ją wywołuje. Należy zatem utworzyć proces, który uwzględni oba znaczenia.
Automatyzacja testów oparta na słowach kluczowych może znacznie zmniejszyć koszty utrzymania, ale koszty zaprojektowania takich testów są większe, podobnie jak stopień skomplikowania. Ponadto, poprawne zaprojektowanie testów wymaga więcej czasu i jest niezbędne do uzyskania zakładanego zwrotu z inwestycji.