W tym samouczku dowiesz się
- Co to jest struktura?
- Co to jest platforma automatyzacji TEST?
- Rodzaje ram automatyzacji
- 1) Skrypty liniowe - nagrywanie i odtwarzanie
- 2) Struktura biblioteki testów.
- 3) Struktura testowania opartego na danych.
- 4) Framework testowania oparty na słowach kluczowych lub tabelach.
- 5) Hybrydowa struktura automatyzacji testów.
Co to jest struktura?
Zamiast podawać książkową definicję frameworka, rozważmy przykład.
Jestem pewien, że uczestniczyłeś w seminarium / wykładzie / konferencji, podczas której uczestnicy zostali poproszeni o przestrzeganie następujących wskazówek -
- Uczestnicy powinni zająć miejsce na 5 minut przed rozpoczęciem wykładu
- Weź ze sobą notatnik i długopis do robienia notatek.
- Przeczytaj streszczenie, aby mieć pojęcie, o czym będzie prezentacja.
- Telefony komórkowe powinny być wyciszone
- Skorzystaj z bramek wyjściowych na przeciwległym końcu do mówcy, jeśli będziesz musiał wyjść w środku wykładu.
- Pytania zostaną zadane pod koniec sesji
Czy uważasz, że możesz przeprowadzić seminarium BEZ przestrzegania tych wskazówek ????
Odpowiedź brzmi: duże TAK! Oczywiście można przeprowadzić seminarium / wykład / konferencję / pokaz bez powyższych wskazówek (w rzeczywistości niektórzy z nas nie będą ich przestrzegać, mimo że są ułożone… :-)
Jednak przestrzeganie wytycznych przyniesie korzystne rezultaty, takie jak zmniejszenie rozpraszania uwagi słuchaczy podczas wykładu oraz zwiększona retencja i zrozumienie tematu przez uczestników.
W oparciu o powyższe ramy można zdefiniować jako zbiór wytycznych, których przestrzeganie przynosi korzystne rezultaty.
Co to jest platforma automatyzacji TEST?
Zestaw wytycznych, takich jak standardy kodowania, obsługa danych testowych, obsługa repozytorium obiektów itp., Których przestrzeganie podczas tworzenia skryptów automatyzacji daje korzystne rezultaty, takie jak zwiększenie ponownego wykorzystania kodu, większa przenośność, zmniejszenie kosztów utrzymania skryptów itp. Pamiętaj, że są to tylko wskazówki i nie zasady; nie są one obowiązkowe i nadal możesz pisać skrypty bez przestrzegania wytycznych. Ale przegapisz zalety posiadania Framework.
Rodzaje ram automatyzacji
1) Skrypty liniowe
2) Struktura architektury biblioteki testów.
3) Struktura testowania opartego na danych.
4) Framework testowania oparty na słowach kluczowych lub tabelach.
5) Hybrydowa struktura automatyzacji testów.
Przyjrzyjmy się im szczegółowo -
1) Skrypty liniowe - nagrywanie i odtwarzanie
Jest to najprostszy ze wszystkich frameworków i znany również jako „Record & Playback”. W tym Framework, Tester ręcznie rejestruje każdy krok (nawigację i dane wejściowe użytkownika), wstawia punkty kontrolne (kroki walidacji) w pierwszej rundzie. Następnie odtwarza nagrany scenariusz w kolejnych rundach.
Np .: rozważ zalogowanie się do aplikacji rezerwacji lotów i sprawdzenie, czy aplikacja została załadowana po pomyślnym zalogowaniu. Tutaj tester po prostu zapisze kroki i doda kroki walidacji.
SystemUtil.Run „flight4a.exe”, „”, „”, „otwórz”Okno dialogowe („Logowanie”). WinEdit („Nazwa agenta:”). Ustaw „Guru99”Okno dialogowe („Login”). WinEdit („Hasło:”). Ustaw „Mercury”Okno dialogowe („Zaloguj”). WinButton („OK”). KliknijPo pomyślnym zalogowaniu załadowano okno Sprawdź rezerwację lotuOkno („Rezerwacja lotu”). Sprawdź CheckPoint („Rezerwacja lotu”)
Zalety
- Najszybszy sposób na wygenerowanie skryptu
- Ekspertyza automatyki nie jest wymagana
- Najłatwiejszy sposób na poznanie funkcji narzędzia testowego
Niedogodności
- Niewielkie ponowne wykorzystanie skryptów
- Dane testowe są zakodowane na stałe w skrypcie
- Koszmar konserwacji
2) Struktura biblioteki testów.
Znany jest również jako „skrypty strukturalne” lub „dekompozycja funkcjonalna”.
W tej strukturze skrypty testowe są początkowo rejestrowane metodą „Record & Playback”. Później typowe zadania wewnątrz skryptów są identyfikowane i grupowane w Funkcje. Funkcje te są wywoływane przez główny skrypt testowy zwany Sterownikiem na różne sposoby w celu tworzenia przypadków testowych.
Np .: Korzystając z tego samego przykładu co powyżej, będzie wyglądać funkcja logowania do rezerwacji lotów.
Logowanie funkcji ()SystemUtil.Run „flight4a.exe”, „”, „”, „otwórz”Okno dialogowe („Logowanie”). WinEdit („Nazwa agenta:”). Ustaw „Guru99”Okno dialogowe („Login”). WinEdit („Hasło:”). Ustaw „Mercury”Okno dialogowe („Zaloguj”). WinButton („OK”). KliknijFunkcja zakończenia
Teraz nazwiesz tę funkcję w głównym skrypcie w następujący sposób
Zadzwoń Zaloguj się ()---------------------------Inne wywołania funkcji / kroki testowe.---------------------------
Zalety
- Wyższy poziom ponownego wykorzystania kodu uzyskuje się w skryptach strukturalnych w porównaniu do „nagrywania i odtwarzania”
- Tworzenie skryptów automatyzacji jest mniej kosztowne ze względu na częstsze ponowne wykorzystanie kodu
- Łatwiejsza konserwacja skryptów
Niedogodności
- Do pisania skryptów przy użyciu Test Library Framework niezbędna jest wiedza techniczna.
- Potrzeba więcej czasu na zaplanowanie i przygotowanie skryptów testowych.
- Dane testowe są na stałe zakodowane w skryptach
3) Struktura testowania opartego na danych.
W tej strukturze, podczas gdy logika przypadku testowego znajduje się w skryptach testowych, dane testowe są oddzielane i przechowywane poza skryptami testowymi. Dane testowe są odczytywane z plików zewnętrznych (pliki Excel, pliki tekstowe, pliki CSV, źródła ODBC, obiekty DAO, obiekty ADO) i są ładowane do zmiennych wewnątrz skryptu testowego. Zmienne są używane zarówno jako wartości wejściowe, jak i wartości weryfikacyjne. Same skrypty testowe są przygotowywane przy użyciu Linear Scripting lub Test Library Framework.
Np .: Opracowanie skryptu logowania rezerwacji lotów przy użyciu tej metody będzie obejmowało dwa etapy.
Krok 1) Utwórz test - plik danych, którym może być Excel, CSV lub dowolne inne źródło bazy danych.
Imię agenta |
Hasło |
---|---|
Jimmy |
Rtęć |
Tina |
RTĘĆ |
Rachunek |
Rtęć |
Krok 2) Opracuj skrypt testowy i zrób odniesienia do źródła danych testowych.
SystemUtil.Run „flight4a.exe”, „”, „”, „otwórz”Okno dialogowe („Logowanie”). WinEdit („Nazwa agenta:”). Ustaw DataTable („Nazwa agenta”, dtGlobalSheet)Okno dialogowe („Zaloguj”). WinEdit („Hasło:”). Ustaw DataTable („Hasło”, dtGlobalSheet)Okno dialogowe („Zaloguj”). WinButton („OK”). KliknijWczytano okno Sprawdź rezerwację lotuOkno („Rezerwacja lotu”). Sprawdź CheckPoint („Rezerwacja lotu”)** Uwaga „dtGlobalSheet” to domyślny arkusz programu Excel udostępniany przez QTP.
Zalety
- Zmiany w skryptach testowych nie mają wpływu na dane testowe
- Przypadki testowe można wykonywać z wieloma zestawami danych
- Różne scenariusze testowe można wykonać, zmieniając po prostu dane testowe w zewnętrznym pliku danych
Niedogodności
- Potrzeba więcej czasu, aby zaplanować i przygotować zarówno skrypty testowe, jak i dane testowe
4) Framework testowania oparty na słowach kluczowych lub tabelach.
Struktura oparta na słowach kluczowych lub tabelach wymaga opracowania tabel danych i słów kluczowych, niezależnie od narzędzia do automatyzacji testów używanego do ich wykonywania. Testy można projektować z aplikacją lub bez niej. W teście sterowanym słowami kluczowymi funkcjonalność testowanej aplikacji jest udokumentowana w tabeli oraz w instrukcjach krok po kroku dla każdego testu.
Istnieją 3 podstawowe elementy struktury opartej na słowach kluczowych, a mianowicie. Słowo kluczowe, mapa aplikacji, funkcja komponentu.
Co to jest słowo kluczowe?
Słowo kluczowe to akcja, którą można wykonać na komponencie GUI. Np. W przypadku pola tekstowego komponentu GUI niektóre słowa kluczowe (akcja) to InputText, VerifyValue, VerifyProperty i tak dalej.
Co to jest mapa aplikacji?
Mapa aplikacji zawiera nazwane odwołania dla składników GUI. Mapy aplikacji to nic innego jak „ repozytorium obiektów ”
Co to jest funkcja komponentu?
Funkcje komponentów to te funkcje, które aktywnie manipulują komponentem graficznego interfejsu użytkownika lub odpytują o niego. Przykładem funkcji może być kliknięcie przycisku WWW z obsługą wszystkich błędów, wprowadzenie danych w Edytorze WWW z całą obsługą błędów. Funkcje komponentów mogą być zależne lub niezależne od aplikacji.
Np . : aby zrozumieć Widok słów kluczowych, weźmy ten sam przykład. Obejmuje 2 kroki
Krok 1 : Tworzenie tabeli danych (różni się od tabeli danych testowych utworzonej w ramach opartej na danych). Ta tabela danych zawiera akcje do wykonania na obiektach GUI i odpowiadające im argumenty, jeśli takie istnieją. Każdy wiersz odpowiada jednemu Krokowi Testu.
Obiekt (MAPA aplikacji) |
Akcja (SŁOWA KLUCZOWE) |
Argument |
---|---|---|
WinEdit (nazwa agenta) | Zestaw | Guru99 |
WinEdit (hasło) | Zestaw | Rtęć |
WinButton (OK) | Kliknij | |
Okno (rezerwacja lotu) | Zweryfikować | Istnieje |
Krok 2 : Pisanie kodu w postaci funkcji komponentowych.
Po utworzeniu tabel danych po prostu piszesz program lub zestaw skryptów, który odczytuje każdy krok, wykonuje krok w oparciu o słowo kluczowe zawarte w polu Akcja, sprawdza błędy i rejestruje wszelkie istotne informacje. Ten program lub zestaw skryptów wyglądałby podobnie do poniższego pseudokodu:
Funkcja main (){Call ConnectTable (Name of the Table) {// Funkcja wywoływania połączenia z tabelą.while (Call TableParser ()! = -1) // Wywołanie funkcji do analizowania i wyodrębniania wartości z tabeli.{Przekaż wartości do odpowiednich funkcji KOMPONENTÓW, takich jak zestaw (nazwa obiektu, argument) np. Zestaw (nazwa agenta, Guru99).}}Call CloseConnection () // Funkcja zamykania połączenia po wykonaniu wszystkich operacji.} // Koniec main
To wszystko do struktury opartej na słowach kluczowych.
Zaletą struktury opartej na słowach kluczowych jest to, że słowa kluczowe są wielokrotnego użytku. Aby to zrozumieć, należy zweryfikować operację logowania do witryny internetowej, powiedz YAHOO MAIL. Tabela będzie wyglądać następująco -
Obiekt (MAPA APLIKACJI) | Działanie (SŁOWO KLUCZOWE) | Argument |
---|---|---|
WebEdit (nazwa użytkownika) | Zestaw | Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie obsługi JavaScript. |
WebEdit (hasło) | Zestaw | xxxxx |
WebButton (OK) | Kliknij | |
Okno (poczta Yahoo) | Zweryfikować | Masa |
Jeśli zauważysz, że w tym przypadku zestaw słów kluczowych, kliknij, sprawdź, pozostaje taki sam, dla którego zostały już opracowane odpowiednie funkcje składowe. Wszystko, co musisz zrobić, to zmienić mapowanie aplikacji (repozytorium obiektów) z wcześniejszej rezerwacji lotów na pocztę Yahoo, ze zmianą wartości argumentów i ten sam skrypt będzie działał!
Zalety
- Zapewnia możliwość ponownego wykorzystania kodu
- Niezależne od narzędzia testowego
- Niezależnie od testowanej aplikacji, ten sam skrypt działa dla AUT (z pewnymi ograniczeniami)
- Testy mogą być projektowane z lub bez AUT
Niedogodności
- Inwestycja początkowa jest dość wysoka, korzyści z tego można zrealizować tylko wtedy, gdy aplikacja jest znacznie większa, a skrypty testowe mają być utrzymywane przez kilka lat.
- Do stworzenia struktury opartej na słowach kluczowych wymagana jest zaawansowana wiedza w zakresie automatyzacji.
UWAGA: Mimo że Micro Focus UFT reklamuje się jako KeyWord Driven Framework, nie jest możliwe osiągnięcie pełnego narzędzia testowego i idependencji aplikacji przy użyciu HP UFT.
5) Hybrydowa struktura automatyzacji testów.
Jak sama nazwa wskazuje, ta struktura jest połączeniem jednego lub więcej ram omówionych powyżej, czerpiąc z ich mocnych stron i próbując złagodzić ich słabości. Ta platforma do automatyzacji testów hybrydowych jest tym, do czego większość platform ewoluuje z biegiem czasu i wieloma projektami. Przemysł Maximum używa struktury słów kluczowych w połączeniu metody dekompozycji funkcji.
PS: Inne ramy, o których warto wspomnieć, to
Test modułowości Framework
W tej strukturze wspólne zadania w skrypcie testowym są zgrupowane razem jako moduły.
Na przykład : użycie akcji w QTP może stworzyć skrypty Modualr
Przykładowy skrypt do logowania
SystemUtil.Run „flight4a.exe”, „”, „”, „otwórz”Okno dialogowe („Logowanie”). WinEdit („Nazwa agenta:”). Ustaw „Guru99”Okno dialogowe („Login”). WinEdit („Hasło:”). Ustaw „Mercury”Okno dialogowe („Zaloguj”). WinButton („OK”). Kliknij„Koniec skryptu
Teraz możesz wywołać tę akcję w głównym skrypcie w następujący sposób -
RunAction ("Login [Argument]", oneIteration)
Testowanie procesów biznesowych (BPT)
Te frameworki dzielą duże procesy biznesowe na komponenty, które można wielokrotnie wykorzystywać w tych samych lub różnych skryptach testowych. Na przykład proces biznesowy rezerwacji lotu jest podzielony na komponenty, takie jak logowanie, wyszukiwanie lotów, rezerwacja, płatność i wylogowanie, które można ponownie wykorzystać w tym samym procesie biznesowym lub w różnych procesach. Ponadto BPT ułatwia ściślejszą koordynację między MŚP i inżynierami automatyki.