Spis treści[Ukryć][Pokazać]
Każdy zespół zajmujący się tworzeniem stron internetowych przeprowadza zestaw testów swoich produktów, jednak rozwiązanie internetowe, które jest dostarczane później, ma wady.
Nawet przy najdoskonalszych testach ręcznych wady nieuchronnie wkradają się i pojawiają ponownie, pomimo wysiłków zespołu ds. kontroli jakości, aby je wykryć przed pierwszym wydaniem.
Jeśli chodzi o zwiększenie wydajności i zakresu testowania oprogramowania, najlepszym wyborem jest zautomatyzowane testowanie sieci.
Do testowania online Python język programowania oferuje platformę robota, która może wykorzystywać zewnętrzne biblioteki, takie jak Selenium.
W tym poście omówimy przypadki testowe i inne terminy związane z frameworkiem robotów w Pythonie.
Co to jest framework robota?
Robot Framework to elastyczna ogólna platforma automatyzacji typu open source napisana w języku Python, która jest używana do zautomatyzowanego testowania oprogramowania, zrobotyzowanej automatyzacji procesów, testów akceptacyjnych i programowania opartego na testach akceptacyjnych.
Mówiąc prościej, jest to oparty na języku Python framework do automatyzacji testów oparty na słowach kluczowych.
Umożliwia testerom automatyzację i wydajną obsługę skomplikowanych skryptów procesów. Ramy mogą być używane do testowania interfejsów użytkownika i interfejsów programowania aplikacji.
Pozwala inżynierom testowym na wykorzystanie Selenium oprócz wielu innych integracji. Selenium to standardowe w branży narzędzie do automatyzacji zachowań użytkowników i tworzenia skryptów opartych na użytkownikach interakcji z przeglądarką internetową dla dowolnej witryny internetowej.
Co to są testy akceptacyjne?
Jest to sposób określania pojemności systemu. Celem testów akceptacyjnych jest ocena możliwości systemu w odniesieniu do potrzeb biznesowych.
Co to jest zrobotyzowana automatyzacja procesów?
RPA, czyli zrobotyzowana automatyzacja procesów, to metoda minimalizacji pracy ludzkiej poprzez użycie oprogramowania, które zawiera uczenie maszynowe i możliwości sztucznej inteligencji. RPA służy do automatyzacji powtarzalnych procesów wysokiego poziomu.
Czym jest programowanie oparte na testach akceptacyjnych?
Programowanie oparte na testach akceptacyjnych, często znane jako ATDD, to technika programistyczna, która opiera się na komunikacji między klientami biznesowymi, programistami i testerami. Współpracują i przeprowadzają testy akceptacyjne przed wdrożeniem funkcji.
Ramy robotów – architektura wysokiego poziomu
Robot Framework to platforma niezależna od aplikacji i technologii. Jego architektura jest bardzo modułowa, jak widać na poniższym obrazku.
Dane testowe są prezentowane w prostym, edytowalnym formacie tabelarycznym. Robot Framework analizuje dane, przeprowadza przypadki testowe oraz tworzy dzienniki i raporty po uruchomieniu.
Rdzeń framework nie ma wiedzy o testowanym celu, a biblioteki zarządzają wszystkimi interakcjami z nim. Biblioteki mogą wykorzystywać narzędzia testowe niższego poziomu jako sterowniki lub bezpośrednio wykorzystywać interfejsy aplikacji.
Korzyści
- Ułatwia testowanie oparte na danych, umożliwiając automatyzację testów dla różnych typy danych.
- Unika używania znacznych ilości kodu i zamiast tego wykorzystuje strategię testowania opartą na zachowaniu.
- Może współpracować z bibliotekami i funkcjami stron trzecich.
- Słowa kluczowe (wstępnie zdefiniowane lub zdefiniowane przez użytkownika) są używane w stylu tabelarycznym do pisania przypadków testowych.
- Użytkownicy mogą tworzyć słowa kluczowe.
- Dozwolone jest używanie zmiennych.
- Framework wykorzystuje metodę opartą na słowach kluczowych, w której skrypty są pisane przy użyciu małych, łatwych do zrozumienia terminów (wstępnie zdefiniowanych lub zdefiniowanych przez użytkownika).
- Po każdej kompilacji raporty,
- i tworzone są logi.
- Generuje dokładne raporty i logi stanu wykonania skryptu, co jest szczególnie przydatne w przypadku awarii skryptu.
Samouczek dotyczący frameworka robota
Nurkujmy.
1. Instalacja szkieletu robota
Pakiet pip jest sugerowany do instalacji frameworka robota w Pythonie. Aby zainstalować platformę, uruchom następujące polecenie.
Po pomyślnej instalacji przy użyciu opcji -version powinieneś być w stanie wyświetlić wersje interpretera i frameworka robota.
2. Biblioteki
- Wbudowany – Jest to standardowa biblioteka zawierająca zestaw często używanych słów kluczowych, które są automatycznie importowane i dostępne przez cały czas.
- Kolekcja — zapewnia zestaw słów kluczowych do pracy z listami i słownikami Pythona. Słowa kluczowe biblioteki mogą być używane do zmiany i tworzenia wartości z list i słowników.
- Okna dialogowe — standardowa biblioteka służąca do zatrzymywania wykonywania i zbierania opinii użytkowników. W zależności od tego, czy testy są uruchomione, okna dialogowe są nieco niespójne.
- DateTime umożliwia generowanie i modyfikowanie informacji o dacie i godzinie.
- System operacyjny — umożliwia robotowi wykonywanie różnych zadań związanych z systemem operacyjnym w systemie podczas jego działania. Może między innymi wykonywać polecenia oraz bezpośrednio generować i modyfikować dane.
- Process – Ta biblioteka służy do uruchamiania procesów przy użyciu podmodułów Pythona i otwartej klasy. Słowo kluczowe run process służy do czekania na działający proces w systemie i kompilowania go.
- XML to także biblioteka tekstowa używana przez platformę robota do weryfikacji i modyfikacji dokumentów XML.
- Ciąg jest pakietem do manipulowania i sprawdzania ciągów.
- Stosuje się Telnet, który umożliwia interakcję przez telnet. Biblioteka telnet umożliwia łączenie się z serwerem telnet przez zwykłe połączenie TCP/IP i wykonywanie poleceń.
3. Wbudowane narzędzia
W ramach robota używane są przede wszystkim cztery wbudowane narzędzia:
- Rebot – Narzędzia do tworzenia logów i raportów z danych wyjściowych XML oraz łączenia wielu danych wyjściowych w tym samym czasie.
- Testdoc — w oparciu o przypadki testowe Robot Framework tworzy dokumentację HTML wysokiego poziomu.
- Libdoc – Generator dokumentacji słów kluczowych dla bibliotek i plików zasobów.
- Tidy – Robot Framework Tools do czyszczenia i konwertowania plików danych do innego formatu.
4. Przypadki testowe
Zamiast zautomatyzowanych przypadków testowych, przypadki testowe w ramach robota mogą być napisane w podstawowym języku angielskim. Do sklasyfikowania scenariuszy testowych można użyć następujących testów.
- Testy przepływu pracy
- Testy na wyższym poziomie
- Testy oparte na danych
Testy przepływu pracy
Przypadki testowe środowiska robota są często zapisywane w składni tabelarycznej. Pierwsza kolumna tabeli przypadku testowego zawiera nazwy testów, a przypadek testowy zaczyna się od dowolnego elementu w kolumnie i kończy na nazwie następnego przypadku testowego lub na końcu tabeli.
Rzućmy okiem na rzeczywisty przykład, aby zrozumieć, jak to działa.
- Użytkownik może założyć konto i zalogować się.
- Użytkownik nie będzie mógł się zalogować, jeśli hasło będzie nieprawidłowe.
Testy na wysokim poziomie
Druga kolumna zazwyczaj zawiera nazwę słowa kluczowego, z wyjątkiem ustawiania zmiennych z wartościami zapisanymi w słowach kluczowych.
Przypadki testowe platformy robota można zbudować przy użyciu tylko słów kluczowych wysokiego poziomu i bez parametrów pozycyjnych. Aby dokładniej zrozumieć testowanie wysokiego poziomu, rozważ następujący przykład.
Testy oparte na danych
Testowanie oparte na danych izoluje dane testowe, a nie symuluje procedury. W środowisku robota ustawienie [szablon] definiuje przypadek testowy dla testu opartego na danych.
5. Słowa kluczowe
Do budowy przypadków testowych w ramach robota wykorzystywane są słowa kluczowe z dwóch źródeł.
- Słowa kluczowe dla biblioteki
- Słowa kluczowe dla Użytkownika
Słowa kluczowe dla biblioteki
Biblioteki standardowe definiują całą terminologię najniższego poziomu, która może być zaimplementowana przy użyciu języków komputerowych, takich jak Python i Java.
Biblioteki standardowe, zewnętrzne i niestandardowe należą do bibliotek testowych dostępnych w środowisku robota. Podstawowa struktura obejmuje wbudowane biblioteki, zrzuty ekranu, system operacyjny i inne standardowe biblioteki.
Słowa kluczowe dla Użytkownika
Możliwość generowania unikalnych, wysokopoziomowych słów kluczowych z istniejących fraz jest jedną z najważniejszych cech projektu robota. Aby lepiej zrozumieć, jak to działa, spójrzmy na przykład.
6. Zmienne
Zmienne są ważną częścią każdego przypadku testowego w środowisku robota. Zmienna to doskonałe podejście do określania dowolnych danych w przypadku testowym, które podlegają zmianom lub zmienności.
Przyjrzyjmy się, jak definiować zmienne w przypadku testowym.
Określanie zmiennych
Oprócz zmiennych zdefiniowanych przez użytkownika, framework robota ma wbudowane zmienne, takie jak $TEMPDIR i $/, których użyliśmy w poprzednim przykładzie.
Korzystanie ze zmiennych
Zmiennych można używać w dowolnym miejscu przypadku testowego.
Jednak są one najczęściej używane jako argumenty słów kluczowych. Rozważmy następujący przykład, aby zilustrować, co mam na myśli.
7. Organizowanie przypadków testowych
Pliki przypadków testowych są używane do tworzenia przypadków testowych robotów, ale można je również pogrupować w katalogi, aby utworzyć hierarchię zestawów testów. Zestaw testów to grupa przypadków testowych. Zestaw testów składa się ze wszystkich plików zawierających przypadki testowe.
Korzystając z katalogów, przypadki testowe można uporządkować w hierarchię; wszystkie te katalogi zawierają zestawy testów wysokiego poziomu, których nazwy pochodzą od nazw katalogów.
Korzystanie z konfiguracji i rozkładania
Opcje tabeli ustawień „Test Setup” i „Test Teardown” mogą być użyte do wykonania określonego słowa kluczowego w teście przed lub po jego zakończeniu. Możesz także użyć „Suite Setup” i „Suite Teardown”, aby wykonać słowa kluczowe przed zestawem testów lub po nim.
Możesz utworzyć niestandardowy [Setup] i [Teardown] w przypadku testowym, podobnie jak [Szablon]. Rozważ następujący scenariusz, aby lepiej to zrozumieć.
Korzystanie z tagów
Ramy robota umożliwiają używanie tagów w celu dostarczania bezpłatnych metadanych do przypadków testowych. „Wymuś znaczniki” i „Domyślne znaczniki” mogą być użyte do ustawienia znaczników w pliku. [Tagi], podobnie jak [Szablon], mogą być użyte do przypisania tagów do pojedynczego przypadku testowego. Spójrzmy na przykład, aby zobaczyć, jak używamy tagów.
Raport będzie zawierał tagi z powiązanymi z nimi przypadkami testowymi, a także statystyki oparte na tagach po wykonaniu.
ZALETY
- Konfiguracja Robot Framework jest łatwa.
- Opiera się na użyciu słów kluczowych.
- Umożliwia korzystanie z Gherkin.
- Działa z obydwoma aplikacje mobilne i internetowe.
- Podstawy Robot Framework są łatwe do zrozumienia.
- Wykorzystuje podejście low-code.
- Obsługiwane są systemy Windows, Mac OS X, Unix i Linux.
- Python, IronPython i PyPy to obsługiwane języki programowania.
- Działa ze wszystkimi głównymi przeglądarkami internetowymi.
- Robot Framework to bezpłatne narzędzie do automatyzacji typu open source.
Wady
- Równoległe wykonywanie testów nie jest obsługiwane przez Robot Framework.
- Robot Framework jest trudny do nadążenia.
- Raporty HTML w Robot Framework są trudne do modyfikacji.
- Debugowanie niektórych problemów z Robot Framework może być trudne.
- Wcięcie jest ściśle egzekwowane w programie Robot Framework.
Wnioski
Platforma robotów to bezpłatna platforma do testowania akceptacyjnego i oparta na testach akceptacyjnych o otwartym kodzie źródłowym.
Przypadki testowe platformy robota są zbudowane na podstawie słów kluczowych wyrażonych w stylu tabelarycznym, co ułatwia ich zrozumienie i dostarcza dokładnych informacji o znaczeniu przypadku testowego.
Jest naprawdę wygodny i prosty w użyciu.
Niektórzy z was używali go już wcześniej, więc jeśli masz skonfigurowane testy i gotową aplikację na Androida / iOS, spróbuj.
Będziesz zaskoczony, jak dobrze wszystko działa i jak szybko można zakończyć testy akceptacyjne.
Dodaj komentarz