Testowanie oparte na słowach kluczowych - Keyword-driven testing

Testowanie oparte na słowach kluczowych , znane również jako testowanie oparte na słowach akcji (nie mylić z testowaniem opartym na działaniu ), to metodologia testowania oprogramowania odpowiednia zarówno do testowania ręcznego, jak i automatycznego . Ta metoda oddziela dokumentację przypadków testowych  - w tym zarówno dane, jak i funkcjonalność do wykorzystania - od przepisu sposobu wykonywania przypadków testowych. W rezultacie rozdziela proces tworzenia testów na dwa odrębne etapy: etap projektowania i rozwoju oraz etap wykonania. Część projektowa obejmuje analizę i ocenę wymagań oraz analizę, definicję i populację danych.

Przegląd

Ta metodologia używa słów kluczowych (lub słów akcji) do symbolizowania funkcji do przetestowania, takiej jak Enter Client . Słowo kluczowe Enter Client jest zdefiniowane jako zestaw działań, które należy wykonać, aby wprowadzić nowego klienta do bazy danych. Jego dokumentacja słów kluczowych zawierałaby:

  • stan początkowy testowanego systemu (SUT)
  • okno lub menu, od którego chcesz zacząć
  • klawisze lub kliknięcia myszą, aby przejść do prawidłowego okna wprowadzania danych
  • nazwy pól do znalezienia i argumenty do wprowadzenia
  • czynności do wykonania w przypadku pojawienia się dodatkowych okien dialogowych (takich jak potwierdzenia)
  • przycisk, który należy kliknąć, aby przesłać
  • stwierdzenie o tym, jaki powinien być stan SUT po zakończeniu działań

Składnia testów sterowanych słowami kluczowymi zawiera listę przypadków testowych (danych i słów akcji) w formacie tabeli (patrz przykład poniżej). Pierwsza kolumna (kolumna A) zawiera słowo kluczowe Enter Client, które oznacza testowaną funkcjonalność. Następnie pozostałe kolumny, BE, zawierają dane potrzebne do wykonania słowa kluczowego: nazwa, adres, kod pocztowy i miasto.

ZA b do re mi
. Nazwa Adres Kod pocztowy Miasto
Wprowadź klienta Jane Smith 6 High Street SE25 6EP Londyn

Aby wprowadzić innego klienta, tester utworzyłby kolejny wiersz w tabeli ze słowem kluczowym Enter Client i danymi nowego klienta w kolejnych kolumnach. Nie ma potrzeby ponownego wystawiania wszystkich zawartych akcji.

W nim możesz zaprojektować przypadki testowe poprzez:

  • Wskazanie ogólnych kroków potrzebnych do interakcji z aplikacją i systemem w celu wykonania testu.
  • Wskazuje, jak sprawdzić i potwierdzić, że funkcje działają poprawnie.
  • Określenie warunków wstępnych testu.
  • Określenie kryteriów akceptacji testu.

Biorąc pod uwagę iteracyjny charakter tworzenia oprogramowania, projekt testów jest zazwyczaj bardziej abstrakcyjny (mniej szczegółowy) niż ręczna implementacja testu, ale może łatwo przekształcić się w jeden.

Zalety

Testowanie oparte na słowach kluczowych zmniejsza wrażliwość na konserwację spowodowaną zmianami w testowanym systemie / oprogramowaniu (SUT). Jeśli układ ekranu ulegnie zmianie lub system zostanie przeniesiony do innego systemu operacyjnego, prawie nie trzeba wprowadzać żadnych zmian w przypadkach testowych: zmiany zostaną wprowadzone w dokumentacji słów kluczowych, jeden dokument dla każdego słowa kluczowego, niezależnie od tego, ile razy słowo kluczowe jest używane w przypadków testowych i implikuje głęboki proces projektowania testów.

Również dzięki bardzo szczegółowemu opisowi sposobu wykonania słowa kluczowego (w dokumentacji słów kluczowych) test może wykonać prawie każdy. Dlatego testowanie oparte na słowach kluczowych może być używane zarówno do testowania ręcznego, jak i automatycznego .

Co więcej, podejście to jest otwartą i rozszerzalną strukturą, która łączy wszystkie narzędzia, zasoby i dane zarówno związane z testowaniem, jak i tworzone przez niego. W tej jednej strukturze wszyscy uczestnicy testowania mogą zdefiniować i udoskonalić cele jakościowe, do których dążą. To tam zespół określa plan, który wdroży, aby osiągnąć te cele. A co najważniejsze, zapewnia całemu zespołowi jedno miejsce, w którym może w dowolnym momencie określić stan systemu.

Testowanie to mechanizm sprzężenia zwrotnego w procesie tworzenia oprogramowania. Mówi ci, gdzie należy wprowadzić poprawki, aby pozostać na kursie w dowolnej iteracji wysiłku programistycznego. Informuje również o aktualnej jakości opracowywanego systemu. Czynności związane z wdrażaniem testów obejmują projektowanie i tworzenie skryptów testowych wielokrotnego użytku, które implementują przypadek testowy. Po wdrożeniu można go powiązać z przypadkiem testowym.

Implementacja przebiega inaczej w każdym projekcie testowym. W jednym projekcie możesz zdecydować się na tworzenie zarówno skryptów do testów automatycznych, jak i skryptów do testów ręcznych . Projektowanie testów jest natomiast procesem iteracyjnym. Możesz rozpocząć projektowanie testów przed wdrożeniem systemu, opierając projekt testów na specyfikacjach przypadków użycia, wymaganiach, prototypach i tak dalej. W miarę jak system staje się jaśniejszy i masz kompilacje systemu do pracy, możesz rozwinąć szczegóły projektu. Działalność polegająca na projektowaniu testów odpowiada na pytanie „Jak mam wykonać testy?” Kompletny projekt testu informuje czytelników, jakie działania należy podjąć z systemem oraz jakich zachowań i cech powinni się spodziewać, jeśli system działa poprawnie.

Projekt testów różni się od prac projektowych, które należy wykonać, aby określić, jak zbudować implementację testów.

Metodologia

Metodologia testowania oparta na słowach kluczowych dzieli wykonanie procesu testowego na kilka etapów:

  1. Podstawa modelu / prototypowanie: analiza i ocena wymagań.
  2. Definicja modelu testowego: na ocenie wymagań wynikowych podejdź do własnego modelu oprogramowania.
  3. Definicja danych testowych: na podstawie zdefiniowanego modelu własnego, słowa kluczowego start i definicji danych głównych / uzupełniających.
  4. Przygotowanie do testu: podstawa testu wstępnego itp.
  5. Projekt testów: analiza podstawy testów, projekt przypadku testowego / procedury, projekt danych testowych.
  6. Ręczne wykonywanie testów: ręczne wykonywanie przypadków testowych z wykorzystaniem dokumentacji słów kluczowych jako wytycznych wykonywania.
  7. Automatyzacja wykonywania testów: tworzenie zautomatyzowanych skryptów wykonujących akcje zgodnie z dokumentacją słów kluczowych.
  8. Automatyczne wykonywanie testów.

Definicja

Słowo kluczowe lub słowo akcji to zdefiniowana kombinacja działań na obiekcie testowym, która opisuje, jak muszą być wykonywane wiersze testu. Słowo akcji zawiera argumenty i jest definiowane przez analityka testów.

Test jest kluczowym krokiem w każdym procesie rozwoju i powinien obejmować serię testów lub sprawdzeń na obiekcie (test systemu / oprogramowania - SUT). Zawsze pamiętając, że test może wykazać jedynie obecność błędów, a nie ich brak. W teście systemu RT nie wystarczy sprawdzić, czy SUT wytwarza prawidłowe wyjścia. Musi również sprawdzić, czy czas potrzebny na wytworzenie tego wyniku jest zgodny z oczekiwaniami. Ponadto synchronizacja tych wyjść może również zależeć od synchronizacji wejść. Z kolei harmonogram przyszłych odpowiednich danych wejściowych jest określany na podstawie wyników.

Automatyzacja wykonywania testów

Etap wdrażania różni się w zależności od narzędzia lub struktury. Często inżynierowie automatyzacji wdrażają strukturę, która zawiera słowa kluczowe, takie jak „sprawdź” i „wprowadź”. Testerzy lub projektanci testów (którzy nie muszą umieć programować) piszą przypadki testowe w oparciu o słowa kluczowe zdefiniowane na etapie planowania, które zostały wdrożone przez inżynierów. Test jest wykonywany za pomocą sterownika, który odczytuje słowa kluczowe i wykonuje odpowiedni kod.

Inne metodologie wykorzystują etap wdrażania typu „wszystko w jednym”. Zamiast rozdzielać zadania projektowania testów i inżynierii testów, projekt testów jest automatyzacją testów. Słowa kluczowe, takie jak „edytuj” lub „sprawdź”, są tworzone za pomocą narzędzi, w których został już zapisany niezbędny kod. Eliminuje to konieczność zatrudniania dodatkowych inżynierów w procesie testowania, ponieważ implementacja słów kluczowych jest już częścią narzędzia. Przykłady obejmują GUIdancer i QTP .

Plusy

  • Konserwacja jest niska w dłuższej perspektywie:
    • Przypadki testowe są zwięzłe
    • Przypadki testowe są czytelne dla interesariuszy
    • Przypadki testowe można łatwo modyfikować
    • Nowe przypadki testowe mogą łatwiej ponownie wykorzystywać istniejące słowa kluczowe
  • Ponowne użycie słowa kluczowego w wielu przypadkach testowych
  • Nie zależy od konkretnego narzędzia lub języka programowania
  • Podział pracy
    • Tworzenie przypadków testowych wymaga większej wiedzy specjalistycznej - mniejszych umiejętności narzędziowych / programistycznych
    • Implementacja słów kluczowych wymaga silniejszych umiejętności narzędziowych / programowania - przy stosunkowo niższych umiejętnościach w dziedzinie domeny
  • Abstrakcja warstw

Cons

  • Dłuższy czas wprowadzania na rynek (w porównaniu z testowaniem ręcznym lub techniką nagrywania i odtwarzania)
  • Początkowo umiarkowanie wysoka krzywa uczenia się

Zobacz też

Bibliografia

Zewnętrzne linki