1. Strona główna
  2. Sylabus dla poziomu zaawansowanego – Techniczny analityk testowy (wersja z 19.10.2012)
  3. 6. Narzędzia testowe i automatyzacja testów
  4. 6.2 Definiowanie projektu automatyzacji testów
  5. 6.2.2 Modelowanie procesów biznesowych na potrzeby automatyzacji

6.2.2 Modelowanie procesów biznesowych na potrzeby automatyzacji

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.