QTP/UFT Struktura automatyzacji: oparta na danych, oparta na słowach kluczowych i hybrydowa

⚡ Inteligentne podsumowanie

Ramki automatyzacji w QTP/UFT Organizuj skrypty testowe, dane i funkcje wielokrotnego użytku, aby jeden test mógł objąć wiele przypadków. Projekty oparte na danych, słowach kluczowych i hybrydowe, każdy z nich dostosowuje się do innej kombinacji danych wejściowych i logiki wielokrotnego użytku.

  • 🔘 Projektowanie oparte na danych: Skrypty odczytują dane wejściowe z programu Excel lub bazy danych i zapisują dane wyjściowe, dzięki czemu jeden test wymaga wykonania wielu iteracji.
  • ️ Projektowanie oparte na słowach kluczowych: Funkcje zdefiniowane przez użytkownika stają się słowami kluczowymi, takimi jak Login i OpenOrder, wywoływanymi z kompaktowego skryptu sterownika.
  • ✅ Projekt hybrydowy: Funkcje słów kluczowych realizują logikę, podczas gdy sparametryzowane dane przetwarzają kroki wymagające kilku danych wejściowych.
  • 🧪 Najpierw repozytorium obiektów: Każdy element sterujący używany w teście musi zostać dodany, aby skrypt mógł go wiarygodnie zidentyfikować.
  • 🛠️. Obecne narzędzia: QTP jest teraz OpenText Testowanie funkcjonalne (UFT Po pierwsze), a VBScript pozostaje obsługiwanym językiem skryptowym.

Ramy automatyzacji danych, słów kluczowych i hybrydowej w QTP/UFT

Struktura oparta na danych

Data-Driven Framework to struktura oparta na różnych kombinacjach danych wejściowych i wyjściowych.

Jednym ze sposobów przekazywania różnych kombinacji danych jest ParametryzacjaW tej metodzie wykorzystujemy różne cechy QTP.

Jednak w DDF zapisywane są skrypty służące do parametryzacji. Ten rodzaj struktury jest przydatny, gdy funkcjonalność jednostki AUT musi zostać przetestowana z kilkoma wejściami i przechwycić odpowiednie dane wyjściowe. Wejścia te można odczytać z pliku zewnętrznego, takiego jak baza danych, Excel, OutlookPlik tekstowy itp., a odpowiednie dane wyjściowe są zapisywane z powrotem do odpowiedniego źródła zewnętrznego, jak pokazano poniżej.

Przepływ danych w ramach Data-Driven Framework odczytuje dane wejściowe i zapisuje dane wyjściowe

Ogólne kroki w ramach Data-Driven Framework obejmują:

  1. Przygotować Przypadek testowy dla testowanej aplikacji
  2. Dodaj obiekty z AUT do OR
  3. Napisz skrypty w oparciu o przypadek testowy

W tym UFT Tutorial, opracujemy projekt Data-Driven Framework dla przykładowego przypadku testowego, używając programu Excel jako zewnętrznego źródła danych testowych.

Krok 1) Przygotuj przypadek testowy dla testowanej aplikacji

Przypadek testowy: Otwórz numer zamówienia i uzyskaj nazwę klienta dla tego zamówienia. Powtórz ten sam proces dla różnych numerów zamówienia

Źródło zewnętrzne: Plik Excel

Formularz zamówienia rezerwacji lotu użyty jako przykładowy przypadek testowy dla frameworka

Źródłem zewnętrznym dla tego przykładu jest plik Excela. Skrypt VB w OpenText Testowanie funkcjonalne (UFT Jeden, dawniej Micro Focus UFT) należy napisać, aby otworzyć plik Excel i odczytać dane testowe. Można to osiągnąć w sposób hierarchiczny.

1. Najpierw otwierany jest plik Excel jako aplikacja

2. Następnie skoroszyt należy otworzyć z określonej lokalizacji

3. Arkusz, w którym znajdują się dane testowe.

4. Na koniec należy odczytać komórkę.

Krok 2) Dodaj obiekty z AUT do OR

Gdy przypadek testowy będzie już gotowy, rozpocznij dodawanie wszystkich wymaganych obiektów do repozytorium. W naszym przypadku testowym obiekty, które należy dodać, są następujące

1. Ikona „Otwórz folder” w Aplikacja do rezerwacji lotów:

Dodano ikonę Otwórz folder na pasku narzędzi QTP/UFT repozytorium obiektów

2. Pole wyboru „Numer zamówienia”, które można uzyskać po kliknięciu ikony „Otwórz folder”:

Obiekt pola wyboru „Zamówienie” przechwycony z okna dialogowego „Otwórz zamówienie”

3. Pole WinEdit numeru zamówienia (gdzie wprowadza się liczby):

Pole WinEdit dla numeru zamówienia dodanego do repozytorium

4. Przycisk OK:

Obiekt przycisku OK w oknie dialogowym Otwórz zamówienie

5. Pole „Nazwa”, które jest polem WinEdit. To pole zostanie wypełnione nazwą po kliknięciu przycisku OK dla konkretnego numeru zamówienia:

Nazwa pola WinEdit, w którym znajduje się nazwa klienta

Po dodaniu wszystkich wymaganych obiektów repozytorium obiektów będzie wyglądać następująco:

Zakończony QTP/UFT repozytorium obiektów zawierające listę wszystkich pięciu obiektów rezerwacji lotów

Krok 3) Napisz skrypty na podstawie przypadku testowego

Przed uruchomieniem skryptu upewnij się, że plik Excel zawierający dane testowe został zapisany i zamknięty.

Poniższy skrypt polega na odczytaniu numeru zamówienia z Excela i przypisaniu go do aplikacji poprzez zmienną „vOrder” oraz zapisaniu nazwy klienta z aplikacji poprzez zmienną „vName”.

Nazwa Excela: LotDDF.xlsx

Nazwa arkusza: Arkusz 1

Skrypt VBScript odczytujący numer zamówienia z programu Excel i zapisujący imię i nazwisko klienta

Wydajność

Po uruchomieniu powyższego skryptu dane wyjściowe można uzyskać z programu Excel w następujący sposób:

Arkusz Excela pokazujący nazwy klientów zapisane przez skrypt oparty na danych

Ramę opartą na danych można również opracować, pisząc programowanie opisowe.

Używanie bazy danych jako zewnętrznego źródła DDF

Ten sam przypadek testowy można wykonać, jeśli źródłem zewnętrznym jest baza danych, wykonując następujące kroki

  1. Napisz VBScript, aby nawiązać połączenie z bazą danych
  2. VBScript do otwierania zestawu rekordów lub tabeli.
  3. VBScript, aby otworzyć żądane pole
  4. Konkretna komórka jest odczytywana z pola.

Microsoft Tabela bazy danych Access używana jako źródło zewnętrzne dla DDF

Scenariusz

To Establish a Microsoft Database connection

Kierowca = {Microsoft Sterownik dostępu (*.mdb)}; DBQ =

Nazwa zestawu rekordów: Otwórz zamówienie

Nazwa pola: Nr zamówienia, nazwa klienta

PS: Microsoft Nie można połączyć programu Access 2010 przy użyciu poniższego skryptu.

VBScript nawiązuje połączenie z bazą danych Access i odczytuje zestaw rekordów

Wydajność

Dane wyjściowe bazy danych pokazujące nazwę klienta pobraną dla każdego numeru zamówienia

Zalety DDF

  • Podczas jednego testu można odczytać i zapisać dużą liczbę danych testowych w pliku zewnętrznym
  • Instrukcja pętli służy do powtarzania tych samych kroków w kilku iteracjach. W związku z tym wysiłek związany z kodowaniem jest zmniejszony
  • Ponieważ dane są odczytywane i zapisywane bezpośrednio w pliku zewnętrznym, nie ma potrzeby kopiowania, wklejania ani eksportowania danych w celu ich wykorzystania
  • Dane testowe można odczytać z pliku zewnętrznego, a wyniki można zapisać w dowolnym innym pliku zewnętrznym

Wady DDF

  • Do opracowania tego frameworka wymagana jest znajomość skryptów
  • Czasami liczba lub kombinacja danych ze źródła zewnętrznego, takiego jak baza danych, może spowolnić działanie lub nawet spowodować awarię systemu. QTP

Struktura oparta na słowach kluczowych

Framework oparty na słowach kluczowych to framework, w którym słowa kluczowe sterują testem. Tutaj słowo kluczowe odnosi się do funkcje zdefiniowane przez użytkownika. W tym ramach tworzone są słowa kluczowe w celu wykonania określonego kroku testowego lub przypadku testowego. Te słowa kluczowe są następnie wywoływane w teście sterownika w celu uruchomienia kilku przypadków testowych w tym samym teście.

Struktura struktury opartej na słowach kluczowych z słowami kluczowymi wywołującymi funkcje zdefiniowane przez użytkownika

Ogólnie rzecz biorąc, frameworki można opracować na trzy sposoby, aby przejść testy.

  1. Nagraj i uruchom Test
  2. Dodaj obiekty do lokalnego repozytorium i napisz skrypty dla wszystkich kroków testowych
  3. Napisz programowanie opisowe dla wszystkich etapów testu

W tym samouczku opracowywany jest KDF poprzez nagrywanie i uruchamianie testu.

Naszym celem jest wykonanie jednego testu dla pięciu różnych przypadków testowych, takich jak logowanie do aplikacji, złożenie zamówienia, otwarcie zamówienia, usunięcie zamówienia i zamknięcie aplikacji. Dlatego zarejestrujemy kroki testowe dla tych przypadków testowych i utworzymy funkcje ze słowami kluczowymi odpowiednio Login, InsertOrder, OpenOrder, DeleteOrder i CloseApp.

Przypadek testowy 1: Zaloguj się do aplikacji

słowo kluczowe: Zaloguj sie ()

Nagrany scenariusz:

Nagrano skrypt VBScript dla słowa kluczowego Login na ekranie logowania rezerwacji lotów

Przypadek testowy 2: Wstaw zamówienie

słowo kluczowe:Wstaw zamówienie()

Nagrany scenariusz:

Nagrano kod VBScript dla słowa kluczowego InsertOrder

Przypadek testowy 3: Otwórz zamówienie

słowo kluczowe:Otwórz zamówienie()

Nagrany scenariusz:

Nagrano kod VBScript dla słowa kluczowego OpenOrder

Przypadek testowy 4: Usuń zamówienie

słowo kluczowe:Usuń zamówienie()

Nagrany scenariusz:

Nagrano kod VBScript dla słowa kluczowego DeleteOrder

Przypadek testowy 5: Zamknij aplikację

słowo kluczowe:Zamknij aplikację()

Nagrany scenariusz:

Nagrano kod VBScript dla słowa kluczowego CloseApp

Funkcje utworzone dla różnych przypadków testowych są zapisywane w bibliotece funkcji i powiązane z testem głównym. Wystarczy wywołać słowa kluczowe dla potrzebnych przypadków testowych w teście głównym, zmniejszając w ten sposób rozmiar skryptu sterownika w teście głównym.

Skrypt sterownika dla tej prostej struktury wygląda następująco:

Skrypt sterownika wywołujący wszystkie pięć słów kluczowych z jednego QTP/UFT test

Uruchamiając powyższy skrypt, rzeczywisty wynik dla wszystkich pięciu przypadków testowych można uzyskać z jednego testu.

Zalety

  • W jednym teście można uruchomić dowolną liczbę przypadków testowych, po prostu wywołując odpowiednie słowa kluczowe
  • Pisanie ogólnego programowania opisowego dla wszystkich obiektów internetowych/okien i nazywanie ich słowami kluczowymi pomoże w przeprowadzaniu tego samego testu dla różnych dynamicznych aplikacji
  • Zmniejsza rozmiar skryptu sterownika

Wady

  • Czas potrzebny na opracowanie tych ram jest bardzo długi, jeśli istnieje niewielka liczba przypadków testowych do uruchomienia
  • Rejestrowanie kroków nie zawsze jest używane podczas projektowania KDF dla wielu aplikacji w tym samym teście.

Struktura hybrydowa

Struktura hybrydowa to połączenie struktury Data-Driven Framework (DDF) i struktury Keyword-Driven Framework (KDF), w którym w jednym teście można wykonać kilka przypadków testowych z kilkoma danymi wejściowymi.

W tym artykule te same przypadki testowe, które są używane w KDF, zostaną wykonane w jednym teście. Słowa kluczowe i skrypty dla wszystkich przypadków testowych są takie same jak w KDF. Jednak TC3: Otwórz zamówienie zostało sparametryzowane. Dlatego skrypt dla tego przypadku testowego został napisany w celu pobrania numeru zamówienia z pliku Excel i zapisania w nim nazwy klienta.

Hybrydowa struktura łącząca funkcje słów kluczowych z sparametryzowanymi danymi Excela

Przypadek testowy 1: Zaloguj się do aplikacji

słowo kluczowe: Zaloguj sie ()

Przypadek testowy 2: Wstaw zamówienie

słowo kluczowe:Wstaw zamówienie()

Przypadek testowy 3: Otwórz zamówienie dla kilku numerów zamówień

słowo kluczowe:Otwórz zamówienie()

Descriptjon: Tutaj używany jest ten sam skrypt, którego użyto do opracowania DDF, uzyskując w ten sposób przypadek testowy dla kilku iteracji.

Scenariusz:

Skrypt sparametryzowanych słów kluczowych OpenOrder odczytujący kilka numerów zamówień z programu Excel

Przypadek testowy 4: Usuń zamówienie

słowo kluczowe:Usuń zamówienie()

Przypadek testowy 5: Zamknij aplikację

słowo kluczowe:Zamknij aplikację()

Postępując zgodnie z tą prostą metodą, osiąga się parametryzację TC3. Jeśli ma to zastosowanie, wszystkie inne przypadki testowe można również sparametryzować w tym samym teście.

Powyższy przykład to bardzo prosty sposób zaprojektowania hybrydowego frameworka. Ten sam framework można również osiągnąć za pomocą programowania opisowego.

Zalety

  • Czas potrzebny na uruchomienie testu zaprojektowanego w środowisku hybrydowym jest stosunkowo krótszy w porównaniu z innymi frameworkami
  • Można tego użyć, gdy potrzebujemy wszystkich przypadków testowych i danych wejściowych powiązanych z konkretnym przypadkiem testowym, w tym samym zestawie testów.

Niekorzyść

  • Wymagana jest jasna wiedza na temat łączenia różnych ram.

FAQ

Nie. QuickTest Professional stał się Micro Focus UFT, następnie UFT Jeden, a teraz jest sprzedawany jako OpenText Testowanie funkcjonalne. Przedstawione tutaj projekty ramowe nadal mają zastosowanie.

Poza rozwiązaniami opartymi na danych, słowach kluczowych i hybrydowymi, zespoły korzystają również z liniowych systemów zapisu i odtwarzania, modułowych, opartych na architekturze bibliotecznej oraz opartych na zachowaniach. Większość dojrzałych pakietów ostatecznie staje się hybrydowa.

AI w OpenText Testowanie funkcjonalne identyfikuje kontrolki na podstawie wyglądu i etykiety, a nie właściwości technicznych, dzięki czemu testy są odporne na zmiany w interfejsie użytkownika. Asystenci AI szybko objaśniają również starszy kod VBScript.

Tak. Drugi pilot sugeruje pętle VBScript, automatyzację programu Excel i obsługę błędów, co pasuje do bibliotek słów kluczowych. Revprzeglądaj każdą sugestię, ponieważ nazwy obiektów-repozytorium i UFT-konkretne metody muszą odpowiadać Twoim zasobom.

VBScript to jedyny język w pełni obsługiwany w UFT Jedno środowisko IDE. Excel, baza danych i dostęp do plików odbywają się za pomocą obiektów VBScript, jak pokazano w tym przewodniku.

Excel jest odpowiedni dla małych zestawów danych utrzymywanych przez testerów. Baza danych lepiej się skaluje i obsługuje dostęp współdzielony, ale duże zestawy wyników mogą spowolnić test, o czym ostrzega skrypt źródłowy.

Tak. Testy utworzone przy użyciu dowolnego z tych projektów można przechowywać i uruchamiać z poziomu OpenText ALM lub zadanie CI, dzięki czemu ta sama biblioteka słów kluczowych będzie uruchamiana bez nadzoru po każdej kompilacji.

Zacznij od jednego zarejestrowanego testu i arkusza Excela opartego na danych. Gdy kroki będą stabilne, zawrzyj je w funkcje słów kluczowych, a następnie połącz je w projekt hybrydowy.

Podsumuj ten post następująco: