qtp frameworks test automation frameworks keyword driven
=> Kliknij tutaj, aby zapoznać się z serią samouczków szkoleniowych QTP
czym jest testowanie systemu na przykładzie
Co to jest struktura automatyzacji testów i struktura QTP?
W kontekście udanej implementacji QTP w przypadku projektu testowania oprogramowania często spotykamy się z koncepcją frameworków. Framework to nic innego jak podejście, którym konsekwentnie kierujemy się podczas procesu automatyzacji - zbiór wskazówek.
Osobiście nie lubię podawać imion i mówić, że jedno działa lepiej niż drugie. Wybór określonej ramy nie jest początkiem projektu. Jest odwrotnie. W trakcie opracowywania strategii testowania budujesz reguły, które mają zastosowanie do bieżącej sytuacji testera i właśnie tam jest twój framework.
To powiedziawszy, oto kilka ważnych punktów, które musimy wziąć pod uwagę:
- Możliwość ponownego użycia
- Łatwa konserwacja skryptu
- Czytelność skryptów
- Dobra funkcjonalna struktura folderów dla wszystkich zasobów testowych
- Brak wartości kodowania
- Żadnej kaskady niepowodzeń. (tj. jeśli jeden test się nie powiedzie, nie powinien powodować niepowodzenia lub zatrzymywania innych)
To jest lista podstawowa, a więcej można dodać na podstawie wymagań.
Każda strategia testowania, która próbuje uwzględnić niektóre lub wszystkie z powyższych punktów, jest Twoją strukturą automatyzacji testów.
Istnieją różne nazwy i typy frameworków. Poniżej znajduje się lista frameworków według mnie:
Czego się nauczysz:
- Typy ram automatyzacji: (dotyczy ram QTP)
- Ramy liniowe
- Framework oparty na słowach kluczowych
- rekomendowane lektury
Typy ram automatyzacji: (dotyczy ram QTP)
- Liniowy - Najprostsza forma tworzenia testu. Po prostu napisz jeden program bez modułowości w kolejnych krokach
- Oparte na słowach kluczowych - Utwórz różne słowa kluczowe dla innego zestawu operacji, aw głównym skrypcie możemy po prostu odwołać się do tych słów kluczowych.
- Oparty na danych - Aby uruchomić ten sam zestaw operacji na wielu zestawach danych, które są przechowywane w oddzielnych plikach, głównie arkuszach programu Excel.
- Hybrydowy - Ramy kombinacji, które mogą być częściowo oparte na danych, a częściowo na słowach kluczowych
- BPT - Oznacza to po prostu, że programy są podzielone na komponenty biznesowe i są używane z jednym lub drugim z powyższych typów frameworków
Ramy liniowe
Jak omówiliśmy, podejście to polega po prostu na pisaniu kodu podczas nagrywania i kontynuowania.
Na przykład, jeśli operacją, którą musisz zweryfikować, jest utworzenie nowego konta w Gmailu, wykonaj następujące czynności:
- Otwórz gmail.com
- Kliknij „Utwórz konto”
- Wprowadź szczegóły
- Zweryfikuj szczegóły
- Utwórz konto
'Open GMail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click
Powyższe jest przykładem tego, jak wygląda program wykorzystujący metodę liniową. W tym momencie jest oczywiste, jakie są zalety i wady tej metody.
Zalety:
- Prostota. Dla początkującego programisty ta metoda jest odpowiednia
- Czas - tworzenie testu nie zajmuje dużo czasu
- Wymagane jest bardzo małe planowanie
Niedogodności:
- Brak możliwości ponownego użycia
- Jeśli istnieje inny skrypt, który weryfikuje określony aspekt strony „Konta Google”, będziesz musiał przepisać kod, aby również uruchomić stronę gmail.com. Tak dużo powtórzeń.
- Wszystkie dane są bezpośrednio osadzane w kodzie. Twarde kodowanie nie pozwala na użycie kodu w żadnym innym zestawie danych.
- Podatny na błędy i trudny w utrzymaniu
Chociaż wady przeważają nad zaletami, tej metody można użyć, gdy Twoim celem jest wykonanie zadania bez weryfikacji.
Składnikami zasobów testowych w tego rodzaju ramach są:
- Skrypt testowy
- Repozytorium obiektów (w razie potrzeby można tego uniknąć, używając programowania opisowego)
Framework oparty na słowach kluczowych
Jak możemy ulepszyć powyższy test liniowej struktury? Jak możemy przezwyciężyć wady?
restful usługi internetowe testujące pytania do rozmowy kwalifikacyjnej
Oczywiście potrzebujemy możliwości ponownego wykorzystania, modułowości i czytelności. Próba uwzględnienia tych funkcji i znalezienie optymalnego rozwiązania to nic innego jak próba stworzenia nowego, ulepszonego frameworka.
Jakie są komponenty wielokrotnego użytku?
- Uruchomienie Gmaila i przejście do strony „Konta Google”. Jest to konieczne, ponieważ walidacja tej strony oznacza, że musisz najpierw tu dotrzeć. „GoTo Google Account” - można przekształcić w oddzielną funkcję, którą można wywoływać wielokrotnie.
- Wprowadź szczegóły i sprawdź je - możesz dalej podzielić to na pozytywne i negatywne bloki, aby uzyskać większy poziom modułowości
- Tworzenie konta - ostateczny poziom weryfikacji i wykonania zadania
Po przybyciu tutaj nie tylko zidentyfikowałeś komponenty, które mogą być wywoływane w kółko, ale także podzieliłeś swój program liniowy na moduły.
Uruchom pliki .jar w systemie Windows 10
Funkcje:
Do tej pory w naszej serii nie zajmowaliśmy się funkcjami. Funkcje to nic innego jak fragment kodu, który wykonuje określone operacje. Przyjmuje parametry wejściowe z programu, który go wywołuje, i zwraca do niego wartość.
Zgodnie z ogólną praktyką wszystkie fragmenty kodu wielokrotnego użytku są zgrupowane w pliku zawierającym wszystkie funkcje wielokrotnego użytku. Ten plik jest powiązany z zasobem do testu QTP. Zazwyczaj biblioteka funkcji może być plikiem typu: .vbs, .txt lub .qfl
Wróćmy do naszego przykładu- Tak może wyglądać plik biblioteki funkcji:
Function gotoGoogleAccount() 'Open Gmail SystemUtil.Run 'iexplore.exe', 'http://www.gmail.com' 'Page Sync Browser('Gmail').Page('Gmail').Sync ‘Click on create account Browser('Gmail').Page('Gmail').WebLink(“Create Account”).Click ‘Enter the details End Function Function EnterDetails() Browser('Gmail').Page('Google Accounts').WebEdit(“First Name”).Set “Swati” Browser('Gmail').Page('Google Accounts').WebEdit(“Last Name”).Set “test” ‘Fill in several other details End Function Function SubmitToCreate() ‘Submit Browser('Gmail').Page('Google Accounts').WebButton(“Next Step”).click End Function
Teraz Twój rzeczywisty skrypt będzie wyglądał następująco:
'Open GMail gotoGoogleAccount() ‘Enter the details EnterDetails() ‘Submit SubmitToCreate()
Z powyższego programu jasno wynika, że osiągnęliśmy czytelność, modułowość i jeśli w przypadku, gdy inny program chce skorzystać z funkcji logowania, z pewnością możemy go ponownie użyć. Wszystko, co musisz zrobić, to powiązać bibliotekę funkcji również z tym nowym testem i gotowe.
Możesz również zobaczyć, że w skrypcie nazwy funkcji działają tak, jakby były VBScript słowa kluczowe i stąd nazwa tego frameworka.
Składnikami zasobów testowych w tego rodzaju ramach są:
- Skrypty testowe
- Shared OR
- Biblioteka funkcji wspólnych
Co jeszcze uczyniłoby ten program jeszcze lepszym? Gdybyśmy mogli sprawić, by funkcja EnterDetails () pobierała różne zestawy danych i tworzyła różne konta, a nie ograniczała się do danych, które zakodowaliśmy na stałe w programie. To jest dokładnie następny krok. Dane napędzające testy i podejście, w którym to robimy, to platforma oparta na danych.
Omówimy Struktury oparte na danych i hybrydowe szczegółowo w nadchodzącym samouczku.
=> Odwiedź tutaj, aby zapoznać się z serią samouczków szkoleniowych QTP
Jeśli masz jakiekolwiek problemy związane ze strukturą QTP, które nie zostały omówione w tych artykułach, daj nam znać. Z całą pewnością postaramy się odpowiedzieć na Twoje pytania.
rekomendowane lektury
- Najpopularniejsze frameworki automatyzacji testów z zaletami i wadami każdego z nich - samouczek Selenium nr 20
- Automatyzacja testów - czy to kariera specjalistyczna? Czy zwykli testerzy mogą również wykonywać automatyzację?
- Dlaczego potrzebujemy platformy do automatyzacji testów?
- QTP Tutorial # 18 - Objaśnienie struktur opartych na danych i hybrydowych z przykładami QTP
- Czym różni się planowanie testów w przypadku projektów ręcznych i zautomatyzowanych?
- Jak działa testowanie oparte na danych (przykłady QTP i selenu)
- Jak wybrać najlepsze narzędzie do testowania automatyzacji (kompletny przewodnik)
- Data Driven Framework w Selenium WebDriver przy użyciu Apache POI