Testiautomaatiokehys: mikä on, Archirakenne ja tyypit
Mikä on automaatiotestauksen kehys?
A Testaa automaatiokehystä on joukko ohjeita, kuten koodausstandardeja, testitietojen käsittelyä, objektivaraston käsittelyä jne., joita automaation komentosarjojen aikana noudatettaessa saadaan aikaan hyödyllisiä tuloksia, kuten lisääntynyt koodin uudelleenkäyttö, suurempi siirrettävyys, pienemmät komentosarjan ylläpitokustannukset jne. Nämä ovat vain ohjeita eivätkä ei säännöt; ne eivät ole pakollisia, ja voit silti kirjoittaa ohjeita noudattamatta ohjeita. Mutta menetät kehyksen edut.
Miksi tarvitset Frameworkin?
Tarkastellaan esimerkkiä ymmärtääksesi, miksi tarvitset kehyksen.
Olen varma, että olet osallistunut seminaariin/luennolle/konferenssiin, jossa osallistujia pyydettiin noudattamaan seuraavia ohjeita:
- Osallistujien tulee varata paikkansa 5 minuuttia ennen luennon alkua.
- Ota mukaan muistivihko ja kynä muistiinpanoja varten.
- Lue tiivistelmä, jotta sinulla on käsitys siitä, mistä esityksessä on kyse.
- Matkapuhelimet tulee asettaa äänettömälle.
- Käytä puhujan vastakkaisessa päässä olevia uloskäyntiportteja, jos haluat lähteä kesken luentoa.
- Kysymyksiä käsitellään istunnon lopussa.
Luuletko, että voit järjestää seminaarin ILMAN noudattamalla näitä ohjeita👍
Vastaus on suuri KYLLÄ! Tietysti voit pitää seminaarin/luennon/konferenssin/demonstraation ilman yllä olevia ohjeita... itse asiassa jotkut meistä eivät noudata niitä, vaikka ne on laadittu!
Mutta jos ohjeita noudatetaan, se johtaa hyödyllisiin tuloksiin, kuten vähentyneeseen yleisön häiriötekijöihin luentojen aikana, lisääntyneeseen osallistujien sitoutumiseen ja aiheen ymmärtämiseen.
Edellä olevan perusteella a Viitekehys voidaan määritellä joukoksi suuntaviivoja, joita noudattamalla saadaan hyödyllisiä tuloksia.
Testausautomaatiokehysten tyypit
Alla on erilaisia automaattisten testauskehysten tyyppejä:
- 1) Lineaarinen komentosarja
- 2) Testikirjasto Architecture Framework.
- 3) Tietoihin perustuva Testaus Kehys.
- 4) Avainsanoihin perustuva tai taulukkopohjainen testauskehys.
- 5) Hybriditestiautomaatiokehys.
Katsotaanpa niitä yksityiskohtaisesti -
1) Lineaarinen komentosarja – tallennus ja toisto
Se on yksinkertaisin kaikista Testing Automation Frameworks ja tunnetaan myös nimellä "Tallennus ja toisto". Tässä Automaatiotestaus Framework, Tester tallentaa manuaalisesti jokaisen vaiheen (navigointi ja käyttäjän syötteet), lisää tarkistuspisteet (validointivaiheet) ensimmäisellä kierroksella. Sitten hän Toistaa tallennetun käsikirjoituksen seuraavilla kierroksilla.
Esimerkiksi: Harkitse kirjautumista Lentovaraushakemus ja tarkistaa, onko sovellus latautunut onnistuneen sisäänkirjautumisen yhteydessä. Täällä testaaja yksinkertaisesti tallentaa vaiheet ja lisää vahvistusvaiheet.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded after successful log-on Window("Flight Reservation").Check CheckPoint("Flight Reservation")
edut
- Nopein tapa luoda komentosarja
- Automaatioalan asiantuntemusta ei vaadita
- Helpoin tapa oppia testaustyökalun ominaisuudet
Haitat
- Vähän skriptien uudelleenkäyttöä
- Testitiedot on koodattu skriptiin
- Huolto painajainen
2) Testikirjasto Architecture Framework
Se tunnetaan myös nimellä "Strukturoitu komentosarja" or "Funktionaalinen hajoaminen".
Tässä Automation Testing Frameworkissa testiskriptit tallentaa aluksi "Tallenna ja toista”Menetelmä. Later, yleiset tehtävät skriptien sisällä tunnistetaan ja ryhmitellään funktioiksi. Nämä toiminnot kutsutaan päätestikoodilla kuljettaja eri tavoilla luoda testitapauksia.
Esimerkiksi: Käyttämällä samaa esimerkkiä kuin yllä, Flight Reservation -palveluun kirjautumistoiminto näyttää tältä.
Function Login() SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click End Function
Nyt kutsut tätä funktiota pääskriptissä seuraavasti
Call Login() --------------------------- Other Function calls / Test Steps. ---------------------------
edut
- Strukturoidussa komentosarjassa saavutetaan korkeampi koodin uudelleenkäyttö taso "Tallenna ja toisto" -ohjelmaan verrattuna.
- Automaatioskriptien kehittäminen on halvempaa koodin suuremman uudelleenkäytön vuoksi
- Helpompi komentosarjan ylläpito
Haitat
- Teknistä asiantuntemusta tarvitaan komentosarjojen kirjoittamiseen Test Library Frameworkin avulla
- Testiohjelmien suunnitteluun ja valmisteluun tarvitaan enemmän aikaa.
- Testitiedot on koodattu skripteihin
3) Data-Driven Testing Framework
Tässä kehyksessä, kun Testitapaus logiikka on testiskripteissä, testidata erotetaan ja pidetään testiskriptien ulkopuolella. Testitiedot luetaan ulkoisista tiedostoista (Excel-tiedostot, tekstitiedostot, CSV-tiedostot, ODBC-lähteet, DAO-objektit, ADO-objektit) ja ladataan Test Scriptin sisällä oleviin muuttujiin. Muuttujia käytetään sekä syöttöarvoille että vahvistusarvoille. Itse testikomentosarjat valmistetaan joko lineaarisella komentosarjalla tai testikirjastokehyksellä.
Esimerkiksi: Lentovarauksen kirjautumisskriptin kehittäminen tällä menetelmällä sisältää kaksi vaihetta.
Vaihe 1) Luo testi – Datatiedosto, joka voi olla Excel , CSV tai mikä tahansa muu tietokantalähde.
Agentin nimi | Salasana |
---|---|
Sorkkarauta | Mercury |
Tina | MERCURY |
Bill | Mercury |
Vaihe 2) Kehitä testiskripti ja tee viittaukset testidatalähteeseen.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet) Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet) Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded Window("Flight Reservation").Check CheckPoint("Flight Reservation") **Note "dtGlobalSheet" is the default excel sheet provided by QTP.
edut
- Testikirjoihin tehdyt muutokset eivät vaikuta testitietoihin
- Testitapaukset voidaan suorittaa useilla tietosarjoilla
- Erilaisia testiskenaarioita voidaan suorittaa muuttamalla vain ulkoisen datatiedoston testitietoja
Haitat
- Sekä testiskriptien että testitietojen suunnitteluun ja valmisteluun tarvitaan enemmän aikaa
4) Avainsanoihin perustuva tai taulukkopohjainen testauskehys
Avainsanalähtöinen tai taulukkopohjainen automaatiokehyksen kehittäminen vaatii tietotaulukoita ja avainsanoja, riippumaton testiautomaatio-työkalu käytetään niiden toteuttamiseen. Testit voidaan suunnitella sovelluksen kanssa tai ilman sitä. Avainsanalähtöisessä testissä testattavan sovelluksen toimivuus dokumentoidaan taulukkoon sekä kunkin testin vaiheittaisiin ohjeisiin.
Avainsanoihin perustuvassa viitekehyksessä on kolme peruskomponenttia, nimittäin. Avainsana , sovelluskartta , komponenttitoiminto.
Mikä on avainsana?
Avainsana on toiminto, joka voidaan suorittaa GUI-komponentille. Esim. GUI-komponenttitekstilaatikossa jotkin avainsanat (toiminto) olisivat InputText, VerifyValue, VerifyProperty ja niin edelleen.
Mikä on sovelluskartta?
Sovelluskartta sisältää nimetyt viitteet GUI-komponenteille. Sovelluskartat ovat vain "Objektivarasto"
Mikä on komponenttitoiminto?
Komponenttifunktiot ovat toimintoja, jotka aktiivisesti käsittelevät tai kyselevät GUI-komponenttia. Esimerkki toiminnosta olisi napsauta verkkopainiketta, jossa on kaikki virheiden käsittelyt , syötä tiedot Web-muokkaukseen, jossa on kaikki virheiden käsittelyt. Komponenttitoiminnot voivat olla sovelluksesta riippuvaisia tai riippumattomia.
esimerkki: Ymmärtääksesi Avainsananäkymän, otetaan sama esimerkki. Se sisältää 2 vaihetta
Vaihe 1: Tietotaulukon luominen (erilainen kuin Data Driven Frameworkissa luodut testidatataulukot). Tämä tietotaulukko sisältää GUI-objekteille suoritettavan toiminnon ja vastaavat argumentit, jos sellaisia on. Jokainen rivi edustaa yhtä testivaihetta.
objekti | Toiminta | |
---|---|---|
(Sovelluskartta) | (AVAINSANAT) | Perustelu |
WinEdit (Agentin nimi) | Asettaa | Guru99 |
WinEdit (salasana) | Asettaa | Mercury |
WinButton (OK) | Napauta | |
Ikkuna (lentovaraus) | Todentaa | Olemassa |
Vaihe 2: Koodin kirjoittaminen komponenttifunktioiden muodossa.
Kun olet luonut tietotaulukot, kirjoitat vain ohjelman tai joukon komentosarjoja, jotka lukevat jokaisen vaiheen, suorittavat vaiheen Toiminto-kentän sisältämän avainsanan perusteella, suorittavat virheentarkistuksen ja kirjaavat kaikki asiaankuuluvat tiedot. Tämä ohjelma tai komentosarjasarja näyttäisi samanlaiselta kuin alla oleva pseudokoodi:
Function main() { Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table. while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table. { Pass values to appropriate COMPONENT functions.Like Set(Object Name, Argument) ex.Set(Agent Name, Guru99). } } Call CloseConnection() //Function for Closing connection after all the operation has been performed. } //End of main
Siinä kaikki avainsanoihin perustuvassa kehyksessä.
Avainsanoihin perustuvan kehyksen etuna on, että avainsanat ovat uudelleenkäytettäviä. Ymmärtääksesi tämän harkitse, että haluat varmistaa sisäänkirjautumisen verkkosivustolle, sano YAHOO MAIL. Pöytä näyttää tältä -
objekti | Toiminta | |
---|---|---|
(SOVELLUSKARTTA) | (KEYWORD) | Perustelu |
WebEdit (käyttäjänimi) | Asettaa | abc@yahoo.com |
WebEdit (salasana) | Asettaa | xxxxx |
WebButton (OK) | Napauta | |
Ikkuna (Yahoo Mail) | Todentaa | kuormat |
Jos huomaat tässä tapauksessa, että Avainsanat Set , Click , Verify pysyvät samoina, joille vastaavat komponenttitoiminnot on jo kehitetty. Sinun tarvitsee vain vaihtaa Sovelluskartoitus (Object Repository) aikaisemmasta lentovarauksesta Yahoo-sovellukseen Mail , argumenttiarvojen muutoksella ja sama komentosarja toimii!
edut
- Tarjoaa korkean koodin uudelleenkäytettävyyden
- Testityökalusta riippumaton
- Testattavana olevasta sovelluksesta riippumatta sama komentosarja toimii AUT:lle (joillakin rajoituksilla)
- Testit voidaan suunnitella AUT:n kanssa tai ilman
Haitat
- Koska alkuinvestointi on melko suuri, tämän hyödyt voidaan saavuttaa vain, jos sovellus on huomattavan suuri ja testiskriptejä aiotaan ylläpitää useita vuosia.
- Avainsanoihin perustuvan kehyksen luominen edellyttää korkeaa automaatioasiantuntemusta.
HUOMAUTUS : Vaikka Micro Focus UFT mainostaa itseään KeyWord Driven Framework -kehyksenä, et voi saavuttaa täydellistä testityökalu- ja sovellusriippumattomuutta HP UFT:n avulla.
5) Hybriditestiautomaatiokehys
Kuten nimestä voi päätellä, tämä kehys on yhdistelmä yhdestä tai useammasta yllä käsitellystä automaatiokehyksestä, joka vetää vahvuuksistaan ja yrittää lieventää heikkouksiaan. Hybriditestin laadunvarmistuksen automaatiokehys on se, mitä useimmat testiautomaatiokehykset kehittyvät ajan ja useiden projektien myötä. Suurin teollisuus käyttää Keyword Frameworkia funktion hajotusmenetelmän yhdistelmässä.
PS: Muut mainitsemisen arvoiset automaatiokehykset ovat
Testaa modulaarisuuskehystä
Tässä kehyksessä testiskriptin yhteinen tehtävä on ryhmitelty moduuleiksi.
esimerkki: Toimintojen käyttäminen QTP:ssä voi luoda modulaarisia komentosarjoja
Esimerkkiskripti kirjautumiseen
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'End of Script
Nyt voit kutsua tätä toimintoa pääskriptissä seuraavasti -
RunAction ("Login[Argument]", oneIteration)
Liiketoimintaprosessien testaus (BPT)
Nämä automaatiokehykset hajottavat suuret liiketoimintaprosessit osiin, joita voidaan käyttää useita kertoja samassa tai eri testiskripteissä. Esimerkiksi lennon varauksen liiketoimintaprosessi on jaettu osiin, kuten sisäänkirjautuminen, lentojen etsiminen, varaus, maksu ja uloskirjautuminen, joita voidaan käyttää uudelleen samassa liiketoimintaprosessissa tai eri prosesseissa. Lisäksi BPT mahdollistaa tiiviimmän koordinoinnin pk-yritysten ja automaatioinsinöörien välillä.
Test Automation Frameworkin edut Archirakenne
Testausautomaation kehysarkkitehtuurin edut ovat seuraavat:
- Testausautomaatiokehys auttaa vähentämään riskejä ja kustannuskustannuksia
- Se parantaa testien tehokkuutta
- Se auttaa vähentämään ylläpitokustannuksia
- Mahdollistaa koodin uudelleenkäytön
- Se mahdollistaa maksimaalisen testin kattavuuden
- Se maksimoi sovelluksen toiminnallisuuden
- Auttaa vähentämään testitapausten päällekkäisyyttä
- Se auttaa parantamaan testauksen tehokkuutta ja suorituskykyä testiautomaation avulla
Yhteenveto
- Framework on joukko ohjeita, kuten koodausstandardeja, testitietojen käsittelyä, objektivaraston käsittelyä jne., joita automaation komentosarjojen aikana noudatettaessa saadaan hyödyllisiä tuloksia, kuten lisääntynyt koodin uudelleenkäyttö, suurempi siirrettävyys, pienemmät komentosarjan ylläpitokustannukset jne.
- Lineaarinen komentosarja on yksinkertaisin kaikista Automation Frameworkeista ja tunnetaan myös nimellä "Tallenna ja toisto".
- Testikirjasto Architecture Framework tunnetaan myös nimellä "Structured Scripting" tai "Functional Decomposition".
- Data-Driven Testing Frameworkissa testitapauksen logiikka on testiskripteissä, ja testidata erotetaan ja pidetään testiskriptien ulkopuolella.
- Avainsana- tai taulukkopohjainen kehys edellyttää tietotaulukoiden ja avainsanojen kehittämistä niiden suorittamiseen käytetystä testiautomaatiotyökalusta riippumatta.
- Hybridiautomaatiokehys on se, mitä useimmat testiautomaatiokehykset kehittyvät ajan ja useiden projektien myötä.