Robot Framework – platforma do automatyzacji testów aplikacji webowych

Manualne testowanie aplikacji webowych jest zazwyczaj żmudne, powtarzalne i czasochłonne. Rozwój technologii sprawił jednak, że można ten proces zautomatyzować, co umożliwia wykorzystanie Robot Framework. Czym jest i jak wygląda jego infrastruktura? Dlaczego warto wdrożyć Robot Framework? Odpowiedzi na te i inne pytania znajdują się w niniejszym artykule.

 

 

Robot Framework – co to jest?

 

Robot Framework stanowi narzędzie do automatyzacji testów aplikacji webowych oraz procesów RPA (Robotic Process Automation). Jest to ogólna platforma automatyzacji testów do testowania akceptacyjnego oraz rozwoju opartym na testach akceptacyjnych (ATDD). Robot Framework posiada prostą w użyciu tabelaryczną składnię danych testowych i wykorzystuje model testowy oparty na słowach kluczowych. Możliwe jest rozszerzenie jego możliwości testowania o biblioteki testowe zaimplementowane w Pythonie lub Javie. Co więcej, użytkownicy mogą tworzyć nowe słowa kluczowe wyższego poziomu z już istniejących przy użyciu tej samej składni, która służy do tworzenia przypadków testowych.

 

 

Architektura Robot Framework

 

Robot Framework to narzędzie dostępne na licencji open source, które zostało oparte o architekturę słów kluczowych (keyword-driven framework). Jego wykorzystanie umożliwia generowanie przypadków testowych z pomocą języka naturalnego oraz przeniesienie do kodu kryteriów akceptacji opisanych w dokumentacji projektu. Przypadki testowe powstają w sposób zrozumiały dla osób niedysponujących wiedzą techniczną, np. klientów otrzymujących raport z testów.

Struktura robota jest niezależna od platformy. Podstawowa wersja została zaimplementowana w oparciu o język Python, jednak Robot Framework może działać również na JPython (JVM) i IronPython (.NET).

 

 

Dla kogo skierowane jest narzędzie Robot Framework?

Robot Framework to narzędzie, które jest skierowane do wszystkich, którzy poszukują prostej i bezpłatnej automatyzacji testów aplikacji webowych. Jak już wspomniano, rozwiązanie funkcjonuje na licencji open source, co oznacza, że jest ogólnodostępne dla wszystkich użytkowników. Chętni mogą zapisać się do fundacji, by wnosić dobrowolne opłaty wspierające rozwój oprogramowania.

Wykorzystanie Robot Framework polecane jest wszystkim organizacjom, które pragną zautomatyzować swoje procesy testowe, a co za tym idzie, odciążyć testerów manualnych. Sprawdzi się również w przypadku firm dążących do optymalizacji procesów oraz stawiających na innowacje i rozwój kompetencji swoich pracowników, którzy mogą zająć się ciekawszymi zajęciami niż powtarzalne testy aplikacji. Z pewnością ułatwi to rekrutację specjalistów IT, którzy docenią fakt, że firma wykorzystuje wszystkie dostępne możliwości by działać efektywnie.

 

 

Dlaczego warto wdrożyć Robot Framework?

 

Warto zdecydować się na wdrożenie Robot Framework, ponieważ jest to świetne narzędzie, za które nie trzeba płacić. Jego zastosowanie pozwala zautomatyzować, a co za tym idzie również przyspieszyć testy aplikacji webowych. Należy również podkreślić, że Robot Framework jest łatwy zarówno w instalacji, jak i użytkowaniu. Nie wymaga posiadania rozbudowanych umiejętności programowania, jednak ich posiadanie może stanowić duży atut oraz przyspieszyć zaznajomienie się z narzędziem.

Zaletą Robot Framework jest również fakt, że posiada bardzo prosty kod, który składa się głównie z tekstu i może być czytany jak wiersz. Dzięki temu treść testu może przeczytać i zrozumieć praktycznie każdy, nawet nieposiadający wiedzy technicznej. Pozwala to zacieśnić współpracę testerów z developerami oraz klientami, czy zarządem firmy. Jest to możliwe, ponieważ wykorzystanie Robot Framework pozwala wszystkim zainteresowanym zrozumieć istotę testów oraz testowane rozwiązanie.

 

 

Czy warto zainwestować w szkolenie Robot Framework?

 

Odpowiedź na to pytania brzmi: tak, ponieważ mimo iż Robot Framework to proste narzędzie, którego wykorzystania można nauczyć się w praktyce, to profesjonalne szkolenie przyspieszy zaznajomienie się z jego możliwościami oraz sprawi, że jego uczestnik będzie atrakcyjniejszy na rynku pracy. W Polsce od kilku lat spotykamy się z deficytem specjalistów IT, w związku z czym rozwój kompetencji oraz uzyskanie wartościowych certyfikatów jest szansą na znalezienie ciekawszego oraz lepiej płatnego zatrudnienia.

Dobre szkolenie pozwala poznać Robot Framework od podstaw oraz efektywnie wykorzystywać wszystkie możliwości tego narzędzia. Specjaliści IT potrafiący pracować z Robot Framework mogą zostać zatrudnieni na różnych stanowiskach, co wynika z faktu, że narzędzie może być wykorzystywane nie tylko do testowania aplikacji webowych, ale również służyć do automatyzacji procesów biznesowych.

 

 

Testy manualne czy automatyczne

 

Testowanie oprogramowania może odbywać się w dwóch modelach, a mianowicie manualnie lub automatycznie. Testy manualne jak sama nazwa wskazuje są wykonywane wyłącznie przez człowieka, bez udziału dodatkowych narzędzi, czy skryptów. Jest to proces czasochłonny, który nie wymaga jednak znajomości oprogramowania wspomagającego.

Inaczej wyglądają testy automatyczne, ponieważ przypadki testowe są wykonywane z użyciem oprogramowania i skryptów, np. Robot Framework. Umożliwia to przeprowadzenie testów w krótkim czasie, za pomocą powtarzalnych zadań oraz testowanie regresywne, które odbywa się bez interwencji testera manualnego. Należy jednak zaznaczyć, że nawet w przypadku testów automatycznych część procesu wymaga interwencji testera manualnego, który musi stworzyć automatyczne skrypty testowe.

Które rozwiązanie jest lepsze? Trudno udzielić jednoznacznej odpowiedzi na to pytanie, ponieważ wiele w tym przypadku zależy od budżetu, wymagań projektu i struktury projektu, zasobów, czasu, stosowności oraz doświadczenia. Zauważyć można jednak, że na popularności zyskują testy automatyczne, co sprawia, że na rynku pracy powstaje zapotrzebowanie na specjalistów IT ze znajomością narzędzi i skryptów do testowania aplikacji.

Większość specjalistów IT potrafi wykorzystać różne rozwiązania automatyzujące pracę, które pomogą przy testach lub będą służyć do web scrapingu. Przykładem może być biblioteka Selenium. W wielu przypadkach jednak można wykorzystać prostszy sposób, którym jest darmowy Robot Framework, łączący w sobie możliwości Pythona z Selenium i ułatwiający cały proces testowania.