Aplicațiile web au devenit esențiale pentru companiile care caută modalități avansate de a se conecta și de a-și servi publicul țintă în domeniul digital. Având în vedere importanța aplicațiilor web în operațiunile comerciale din zilele noastre, indiferent de industrie, acestea trebuie testate în mod cuprinzător pentru a se asigura că oferă experiențe utilizatorilor de ultimă generație.
Testarea automatizării accelerează ciclul de viață al dezvoltării software-ului. Mai mult, la adoptarea abordării de dezvoltare a comportamentului condus (BDD), diferiți actori precum dezvoltatorii, asigurările de calitate și echipele non-tehnologice pot colabora activ în cadrul proiectului.
Scenariile sunt scrise pe baza comportamentului așteptat a software-ului și este testat pentru a verifica dacă se potrivește scenariilor respective.
Sursă imagine
Aceste scenarii sunt documentate folosind un limbaj specific domeniului, cum ar fi Gherkin. În fiecare scenariu de testare, constructele de limbaj natural care constituie fraze mici de tip englezesc sunt utilizate pentru a descrie comportamentul și rezultatul scontat al unei aplicații. Acest lucru se face folosind un instrument software dedicat, cum ar fi Castravetele, care permite executarea testelor de acceptare automate scrise în Gherkin.
Ce este Castravetele?
Castravetele este un cadru de testare open-source care acceptă dezvoltarea comportamentală pentru testarea automatizată a aplicațiilor web. Testele sunt scrise mai întâi într-o formă simplă de scenariu care descrie comportamentul așteptat al sistemului din perspectiva utilizatorului.
Utilizat în mare parte pentru testele de acceptare, Castravetele este scris în Ruby, în timp ce testele sunt scrise în Gherkin, un limbaj non-tehnic și care poate fi citit de oameni.
Testarea castravetelui și seleniului: o abordare colaborativă
În timp ce testarea automată a seleniului adaugă precizie și viteză ciclului de dezvoltare, Castravetele adaugă un avantaj suplimentar la acesta, făcându-l mai colaborativ pentru părțile interesate din managementul non-tehnic. Foarte benefic pentru testarea acceptării utilizatorilor, unde scenariile de testare sunt în mare parte determinate de comportament, Castravetele întăresc Testarea automatizării.
Cadru Castravete
Cadru Castravete constă în principal din trei părți majore – Fișier de caracteristici, Definiții pas și fișierul Test Runner.
Fișier caracteristică
O unitate independentă sau o singură funcționalitate (cum ar fi o autentificare) pentru un proiect poate fi numită o caracteristică. Fiecare dintre aceste caracteristici va avea scenarii care trebuie testate folosind Selenium integrat cu Castravete. Un fișier care stochează date despre caracteristici, descrierile acestora și scenariile care urmează să fie testate, se numește fișier de caracteristici.
Testele de castravete sunt scrise în aceste fișiere de caracteristici care sunt stocate cu extensia – „.feature” . Un fișier de caracteristici poate primi o descriere pentru a face documentarea mai lizibilă.
Exemplu:
Funcția de conectare pe un site web
Nume fișier de caracteristică: userLogin .feature
Descriere: utilizatorul trebuie să se poată autentifica la introducerea corectă a numelui de utilizator și a parolei în câmpurile corecte. Utilizatorul ar trebui să fie direcționat către pagina de pornire dacă numele de utilizator și parola introduse sunt corecte.
Cuvinte cheie precum GIVEN, WHEN și THEN utilizate pentru a scrie testul în Castravete se numesc Adnotări.
- Utilizatorul GIVEN navighează la pagina de autentificare deschizând Firefox
- CÂND utilizatorul introduce < nume de utilizator corect > ȘI < parola > valori
- ATUNCI utilizatorul este direcționat către t pagina principală
Definiții pas
Acum că caracteristicile sunt scrise în fișierele de caracteristici, codul pentru scenariul aferent trebuie executat. Pentru a ști care lot de cod trebuie executat pentru un anumit scenariu, Definițiile Pașilor intră în imagine. Un fișier Definiții pași stochează datele de mapare între fiecare pas al unui scenariu definit în fișierul caracteristică și codul care urmează să fie executat.
Definițiile pasului pot utiliza atât comenzi Java, cât și seleniu pentru funcțiile Java scrise pentru maparea unui fișier caracteristică la cod.
Exemplu:
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values
read more