Testowanie oparte na słowach kluczowych
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 testów ręcznych , jak i automatycznych . Ta metoda oddziela dokumentację przypadków testowych — w tym zarówno dane, jak i funkcje do użycia — od zalecenia sposobu wykonywania przypadków testowych. W rezultacie dzieli proces tworzenia testów na dwa odrębne etapy: etap projektowania i rozwoju oraz etap wykonania. Podetap projektowania obejmuje analiza i ocena wymagań oraz analiza, definicja i populacja danych.
Przegląd
Ta metodologia używa słów kluczowych (lub słów akcji) do symbolizowania testowanej funkcjonalności, na przykład Enter Client . Słowo kluczowe Enter Client definiuje się jako zestaw akcji, które należy wykonać, aby wprowadzić nowego klienta do bazy danych. Dokumentacja słów kluczowych zawierałaby:
- stan początkowy testowanego systemu (SUT)
- okno lub menu, od którego chcesz rozpocząć
- klawiszy lub kliknięć myszką, aby dostać się do właściwego okna wprowadzania danych
- nazwy pól do znalezienia i argumenty do wprowadzenia
- działania do wykonania w przypadku pojawienia się dodatkowych okien dialogowych (takich jak potwierdzenia)
- przycisk, który należy kliknąć, aby przesłać
- stwierdzenie, jaki powinien być stan SUT po zakończeniu działań
Składnia testowania opartego na słowach kluczowych zawiera listę przypadków testowych (słowa danych i akcji) w formacie tabeli (patrz przykład poniżej). Pierwsza kolumna (kolumna A) zawiera słowo kluczowe Enter Client, które jest testowaną funkcjonalnością. Następnie pozostałe kolumny BE zawierają dane potrzebne do wykonania słowa kluczowego: Nazwa, Adres, Kod pocztowy i Miasto.
A | B | C | D | 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 Wprowadź klienta i danymi nowego klienta w kolejnych kolumnach. Nie ma potrzeby ponownego wystawiania wszystkich uwzględnionych działań.
W nim możesz zaprojektować swoje przypadki testowe poprzez:
- Wskazanie kroków wysokiego poziomu potrzebnych do interakcji z aplikacją i systemem w celu wykonania testu.
- Wskazanie, jak zweryfikować i poświadczyć, ż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 testu jest zwykle bardziej abstrakcyjny (mniej konkretny) niż ręczna implementacja testu, ale może łatwo ewoluować w taki sposób.
Zalety
Testowanie oparte na słowach kluczowych zmniejsza wrażliwość na konserwację spowodowaną zmianami w testowanym systemie/oprogramowaniu (SUT). W przypadku zmiany układu ekranu lub migracji systemu 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, bez względu na to, ile razy słowo kluczowe zostanie użyte w przypadków testowych i implikuje głęboki proces projektowania testów.
Również ze względu na bardzo szczegółowy opis sposobu wykonania słowa kluczowego (w dokumentacji słowa kluczowego) test może wykonać prawie każdy. W ten sposób 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 wysiłkiem testowym, jak i wytworzone w jego wyniku. W ramach tych jednolitych ram wszyscy uczestnicy procesu testowania mogą definiować i udoskonalać 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żna w dowolnym momencie określić stan systemu.
Testowanie jest mechanizmem sprzężenia zwrotnego w procesie wytwarzania oprogramowania. Mówi ci, gdzie należy wprowadzić poprawki, aby pozostać na kursie w dowolnej iteracji prac rozwojowych. Informuje również o aktualnej jakości opracowywanego systemu. Czynność polegająca na wdrażaniu testów obejmuje 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 jest inna w każdym projekcie testowym. W jednym projekcie możesz zdecydować się na zbudowanie zarówno automatycznych skryptów testowych, jak i ręcznych skryptów testowych. Zamiast tego projektowanie testów jest procesem iteracyjnym. Możesz rozpocząć projektowanie testów przed wdrożeniem jakiegokolwiek systemu, opierając projekt testów na specyfikacjach przypadków użycia, wymaganiach, prototypach i tak dalej. W miarę jak system staje się bardziej przejrzysty, a ty masz kompilacje systemu do pracy, możesz opracować szczegóły projektu. Czynność projektowania testów odpowiada na pytanie: „Jak mam przeprowadzić testowanie?” Kompletny projekt testu informuje czytelników o tym, jakie działania należy podjąć z systemem oraz jakich zachowań i cech należy się spodziewać, jeśli system działa poprawnie.
Projekt testów różni się od prac projektowych, które należy wykonać przy określaniu sposobu zbudowania implementacji testów.
Metodologia
Metodologia testowania oparta na słowach kluczowych dzieli wykonanie procesu testowego na kilka etapów:
- Podstawa modelu/prototypowanie: analiza i ocena wymagań.
- Definicja modelu testowego: na podstawie oceny wymagań opracuj własny model oprogramowania.
- Definicja danych testowych: na podstawie zdefiniowanego własnego modelu, definicja słowa kluczowego start i danych głównych/uzupełniających.
- Przygotowanie do testu: podstawa testu wstępnego itp.
- Projektowanie testów: analiza podstaw testów, projektowanie przypadków/procedur testowych, projektowanie danych testowych.
- Ręczne wykonanie testów: ręczne wykonanie przypadków testowych przy użyciu dokumentacji słów kluczowych jako wytycznych wykonania.
- Automatyzacja wykonywania testów: tworzenie zautomatyzowanego skryptu wykonującego akcje zgodnie z dokumentacją słów kluczowych.
- Zautomatyzowane wykonywanie testów.
Definicja
Słowo kluczowe lub słowo akcji to zdefiniowana kombinacja działań na obiekcie testowym, która opisuje sposób wykonania linii testowych. Słowo akcji zawiera argumenty i jest definiowane przez analityka testów.
Test jest kluczowym krokiem w każdym procesie rozwoju i polega na zastosowaniu serii testów lub kontroli obiektu (test systemu / SW — SUT). Należy zawsze pamiętać, że test może wykazać jedynie obecność błędów, a nie ich brak. W teście systemu RT nie wystarczy sprawdzić, czy SUT generuje prawidłowe sygnały wyjściowe. Musi również zweryfikować, czy czas potrzebny do wytworzenia tej produkcji jest zgodny z oczekiwaniami. Ponadto taktowanie tych wyjść może również zależeć od taktowania wejść. Z kolei czas przyszłych nakładów, które mają zastosowanie, jest określany na podstawie wyników.
Automatyzacja wykonywania testów
Etap wdrożenia różni się w zależności od narzędzia lub frameworka. Często inżynierowie automatycy wdrażają ramy, które zapewniają 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 zaimplementowane 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, projektowanie testów jest automatyzacją testów. Słowa kluczowe, takie jak „edytuj” czy „sprawdź”, tworzone są za pomocą narzędzi, w których napisano już 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 .
Zalety
- Konserwacja jest niska na dłuższą metę:
- Przypadki testowe są zwięzłe
- Przypadki testowe są czytelne dla interesariuszy
- Przypadki testowe można łatwo modyfikować
- Nowe przypadki testowe mogą łatwiej wykorzystywać istniejące słowa kluczowe
- Ponowne użycie słów kluczowych w wielu przypadkach testowych
- Nie zależy od konkretnego narzędzia ani języka programowania
- Podział pracy
- Konstruowanie przypadków testowych wymaga większej wiedzy w dziedzinie - mniejszych narzędzi/umiejętności programowania
- Implementacja słów kluczowych wymaga silniejszych umiejętności narzędziowych/programistycznych - przy relatywnie niższych umiejętnościach domenowych
- Abstrakcja warstw
Cons
- Dłuższy czas wprowadzenia na rynek (w porównaniu z testowaniem ręcznym lub techniką nagrywania i odtwarzania)
- Początkowo umiarkowanie wysoka krzywa uczenia się
Zobacz też
Linki zewnętrzne
- Testowanie oparte na działaniu
- Czynniki sukcesu w testowaniu opartym na słowach kluczowych , autor: Hans Buwalda
- SAFS (obsługa struktury automatyzacji oprogramowania)
- Frameworki do automatyzacji testów
- Ramy automatyzacji - gFast: ogólne ramy do automatycznego testowania oprogramowania - ramy QTP