Avainsanalähtöinen testauskehys esimerkin kanssa

⚡ Älykäs yhteenveto

Avainsanaohjattu testaus erottaa testilogiikan automaatiokoodista kartan avullaping selkokielisistä avainsanoista uudelleenkäytettäviin funktioihin, jotta testaajat suunnittelevat, ylläpitävät ja skaalaavat automatisoituja paketteja laskentataulukoiden avulla sen sijaan, että kirjoittaisivat skriptejä jokaista yksittäistä testitapausta varten.

  • 🔑 Avainsanojen perusteet: Jokainen toiminto, kuten openbrowser, click tai Typtext, muuttuu itseään kuvaavaksi avainsanaksi, jota tukee täsmälleen yksi funktio.
  • 🧩 Neljä rakennuspalikkaa: Excel-taulukot, funktiokirjasto, datataulukot ja objektisäilö pitävät vaiheet, objektit, toiminnot ja tiedot erillään.
  • 📊 Pöytäpohjainen suunnittelu: Testaajat kirjoittavat tapaukset avainsanariveinä parametreilla, joten testin kirjoittamiseen ei tarvita skriptikielen tuntemusta.
  • ⚙️ Ohjainskriptin suoritus: Ajuriskripti lukee jokaisen avainsanan, kutsuu kartoitettua funktiota ja kirjoittaa tuloksen takaisin taulukkoon.
  • 🧪 Työkalujen valinta: HP QTP, Selenium, ja Robot Framework tulkitsevat kaikki avainsanataulukoita ilman mukautettua jäsentämistä.
  • 🇧🇷 Kehyksen sovitus: Hybridiympäristöissä avainsanat yhdistetään datapohjaisiin syötteisiin, mikä laajentaa kattavuutta ilman, että yhtäkään testivaihetta tarvitsee toistaa.
  • 🚧 Suunnitelma yleiskustannuksille: Avainsanojen suunnittelu ja kirjaston ylläpito etukäteen maksavat reaaliajassa, joten pidä sanasto pienenä ja tarkista se jokaisen julkaisun jälkeen.

Mitä avainsanalähtöinen testaus on?

Avainsanalähtöinen testaus on komentosarjatekniikka, joka käyttää datatiedostoja sisältämään testattavaan sovellukseen liittyvät avainsanat. Nämä avainsanat kuvaavat tietyn vaiheen suorittamiseen vaadittavia toimintoja.

Avainsanoihin perustuva testi koostuu korkean ja matalan tason avainsanoista, mukaan lukien avainsanaargumentit, jotka on muodostettu kuvaamaan testitapauksen toimintaa. Sitä kutsutaan myös taulukkopohjaiseksi testaukseksi tai toimintasanapohjaiseksi testaukseksi.

Avainsanoihin perustuva kehys on kyseisen tekniikan ympärille rakennettu toiminnallinen automaatiotestauskehys. Se jakaa testitapaukset neljään eri osaan erottaakseen koodauksen testitapauksista ja testivaiheista paremman automatisoinnin takaamiseksi: itse testivaiheet, vaiheiden kohteena olevat objektit, objekteille suoritettavat toiminnot ja niille toimitettu data.

Avainsanoihin perustuvassa testauksessa tunnistat ensin joukon avainsanoja ja yhdistät sitten näihin avainsanoihin liittyvän toiminnon (tai toiminnon). Tässä jokainen testaustoiminto, kuten selaimen avaaminen tai sulkeminen, hiiren napsautus, näppäinpainallukset jne., kuvataan avainsanalla, kuten esim. openbrowser, napsauta, Kirjoitusteksti ja niin edelleen.

Alla oleva kaavio näyttää kaksi tavallista liiketoimintaa, jotka muuttuvat uudelleenkäytettäviksi avainsanoiksi. Esimerkin:

  1. Kirjaudu sisään "guru99" -sivustolle – Avainsanaa "login" käytetään automaatiokehyksessämme siihen liittyvän kirjautumistoiminnon tai toiminnon testaamiseen.
  2. Kirjaudu ulos "guru99"-verkkosivustolle—Avainsanaa "logout" käytetään automaatiokehyksessämme uloskirjautumistoiminnon tai siihen liittyvän toiminnon testaamiseen.

Näet lisää esimerkkejä myöhemmin artikkelissa. Kaava ei koskaan muutu: yksi liiketoimintatoiminto, yksi avainsana, yksi toiminto.

Esimerkki avainsanoista

Alla oleva sanasto listaa tyypillisiä pankkisovelluksen avainsanoja ja kunkin käynnistämiä liiketoimintatoimintoja.

Avainsanat Tuotetiedot
Kirjaudu Kirjaudu guru99 pankin demosivustolle
Sähköpostit Lähetä sähköposti
uloskirjautumiset Kirjaudu ulos guru99 pankin esittelysivustolta
ilmoitukset Etsi lukemattomat ilmoitukset

💡 Vinkki: Nimeä avainsanat liiketoimintatoimenpiteen, älä teknisen vaiheen jälkeen. ”Login” säilyy sivun uudelleensuunnittelussa; ”ClickBlueButton” ei.

Avainsanapohjaisen viitekehyksen osat

Avainsanan tunteminen vie sinut vain puoliväliin. Avainsanapohjaisen viitekehyksen luomiseksi kokoat pienen joukon tiedostoja, joista jokaisella on oma ongelmansa.

  1. Excel Sivu – Tunnista avainsanat ja tallenna ne Excel-taulukkoon, yksi rivi testivaihetta kohden.
  2. Toimintakirjasto – Koostuu liiketoimintavirtojen funktioista (mikä tahansa verkkosivuston kirjautumispainike). Kun testi suoritetaan, se lukee avainsanan Excel-taulukosta ja kutsuu funktioita sen mukaisesti.
  3. Tietolomakkeet – Tallenna sovelluksessa käytetyt testitiedot, jotta yksi avainsana toimii useilla syötteillä.
  4. Objektivarasto – Säilyttää avainsanojen koskettamien elementtien paikantimet, joten muutettua paikanninta muokataan yhdessä paikassa.
  5. Testikomennot – Sinulla voi olla testiskriptejä jokaiselle käyttöohjeelle Testitapaus tai yksittäinen ajuriskripti.
  6. Ohjainskripti – Käy läpi Excel-taulukon rivi riviltä, ​​vertaa jokaisen avainsanan funktiokirjastoon ja tallentaa tuloksen.
  7. Automaatiotyökalu – Suorittaa ratkaistut komennot sovellukselle ja toimittaa tiedot raportointikerrokselle.

Yhdessä nämä seitsemän osaa muodostavat kokonaisen kokonaisuuden testiautomaatiokehysMiksi valita tämä malli?

Miksi avainsanalähtöinen testaus?

Ohjelmistosuunnittelussa avainsanalähtöistä testausta tehdään seuraavista syistä

  • Vakiokirjaston käsittelemät yleiset komponentit
  • Tällä lähestymistavalla testit voidaan kirjoittaa selkeämmintract-tapa
  • Korkea uudelleenkäytettävyysaste
  • Skriptin yksityiskohdat on piilotettu käyttäjiltä
  • Käyttäjien ei tarvitse käyttää komentosarjakieliä
  • Testi on ytimekäs, ylläpidettävä ja joustava

Koska avainsanakerros ottaa huomioon sovelluksen muutokset, suuri regressiotestaus Suite pysyy vihreänä muokkaamalla kourallista funktioita satojen skriptien sijaan. Tämä perustelu muokkaa lähestymistavan soveltamista.

Avainsanoihin perustuvan testauksen suorittaminen

Avainsanapohjaista testausta voidaan tehdä sekä manuaalisesti että automatisoidusti. Yleensä sitä käytetään kuitenkin yhdessä automatisoidun testauksen kanssa.

Avainsanapohjaisen testauksen automatisoinnin tavoitteena on

  • Se auttaa vähentämään ylläpitokustannuksia
  • Välttää päällekkäiset tekniset tiedot
  • Funktion komentosarjojen laajempi uudelleenkäyttö
  • Parempi testaustuki ja siirrettävyys
  • Saavuta enemmän testausta vähemmällä tai samalla vaivalla

Avainsanapohjaisen testauksen avulla voit luoda yksinkertaisia toiminnalliset testit kehitysvaiheissa sovellusta testataan pala palalta. Helpoin tapa laatia avainsanapohjainen testi on tallentaa se. Tallennuksen jälkeen testiä voidaan muokata ja räätälöidä vaatimusten mukaisesti.

Jokainen avainsana on linkitettävä vähintään yhteen komentoon, testiskriptiin tai funktioon, joka toteuttaa kyseiseen avainsanaan liittyvät toiminnot.

Kun testitapauksia suoritetaan, avainsanat tulkitsee testikirjasto, jota kutsuu testiautomaatiokehys.

Avainsanapohjaisen testauksen tärkeimmät toiminnot ovat

  • Vaihe 1) Matalan ja korkean tason avainsanojen tunnistaminen
  • Vaihe 2) Avainsanojen toteuttaminen suoritettavina
  • Vaihe 3) Testitapausten luominen
  • Vaihe 4) Ohjausskriptien luominen
  • Vaihe 5) Suoritetaan automaatiotestin komentosarjoja

Vaiheet 1 ja 2 ovat kertaluonteisia suunnittelutöitä; vaiheet 3–5 toistetaan jokaisessa sprintissä, kuten alla olevat esimerkit osoittavat.

Esimerkkejä testitapauksista

Näissä kolmessa skenaariossa käytetään uudelleen samoja aiemmin määriteltyjä avainsanoja.

  1. TC_01: Kirjaudu guru99-demosivustolle, niin näet kuinka monta tapahtumaa on tänään suoritettu
  2. TC_02: Kirjaudu guru99-demosivustolle, lähetä sähköposti jollekin asiakkaallesi ja kirjaudu sitten ulos
  3. TC_03: Kirjaudu guru99-demosivustolle ja tarkista, onko vastaanotettu ilmoituksia

Avainsanataulukkona kirjoitettuna TC_02:sta tulee kuusi riviä, jotka kuka tahansa testaaja voi lukea tai järjestää uudelleen avaamatta koodia:

Vaihe avainsana Perustelu Odotettu tulos
1 avoin selain kromi Selainistunto alkaa
2 Kirjaudu mngr123 / demopass Päällikön kotisivu näkyvissä
3 Sähköpostit asiakas@esimerkki.com Kirjoitusikkuna avautuu
4 napsauttaa Lähetä "Mail "lähetetty" tulee näkyviin
5 uloskirjautumiset - Istunto suljettu
6 sulje selain - Selain julkaistu

Vaihtaaping Vaiheen 3 argumentti muuttaa samat kuusi riviä eri testiksi, jossa testitiedot hallinta kannattaa.

Avainsanalähtöisen testauksen edut

  • Sen avulla toiminnalliset testaajat voivat suunnitella testausautomaation ennen kuin sovellus on valmis
  • Testejä voidaan kehittää ilman ohjelmointiosaamista
  • Se ei ole riippuvainen tietystä ohjelmointikielestä tai työkalusta
  • Yhteensopiva kaikkien markkinoilla olevien automaatiotyökalujen kanssa

Nämä hyödyt selittävät, miksi avainsanapohjainen testaus sopii pitkäaikaisiin automatisoitu testaus sviittejä. Myös kustannuksilla on merkitystä.

Avainsanapohjaisen testauksen rajoitukset

VatsalihaksettracAvainsanapohjaisten testien luettavuutta tekevä ominaisuus tekee myös niiden rakentamisesta kallista. Ennen ensimmäisiä testiajoja jonkun on tunnistettava avainsanat, toteutettava jokainen funktiona, kytkettävä objektitietovarasto ja kirjoitettava ajuriskripti. Pienessä projektissa tällaisen asennuksen tekeminen maksaa enemmän kuin testien suora skriptaus.

Ylläpito on toinen kustannuserä. Jokainen testi jakaa kirjaston, joten yksi huolimaton muokkaus rikkoo koko sarjan. Kirjastot myös levittäytyvät: tiimit lisäävät lähes kaksoiskappaleita, kuten ”Kirjaudu sisään”, ”Kirjaudu sisään” ja ”Kirjaudu sisään”.

  • Korkea alkuinvestointi – Kehyksen suunnittelu ja avainsanojen käyttöönotto edeltävät kaikkia testauksia.
  • Vähentynyt joustavuus – testaajat ilmaisevat vain sen, minkä olemassa olevat avainsanat sallivat, joten epätavalliset skenaariot vaativat kehittämistä.
  • Hankala monimutkaiselle logiikalle – haarautuminen ja silmukat vastustavat tasaisia ​​taulukkorivejä.
  • Taitoja tarvitaan edelleen – avainsanakerros on kooditon, funktiokirjasto ei ole.

⚠️ Varoitus: RevTarkista avainsanakirjasto jokaisessa julkaisussa ja poista käyttämättömät merkinnät. Hallitsematon sanasto on yleisin syy avainsanapohjaisten kehysten hylkäämiseen.

Nämä kompromissit muokkaavat alla olevaa vertailua.

Avainsanalähtöinen vs. datalähtöinen vs. hybridikehys

Avainsanalähtöinen ja datalähtöinen testaus ratkaisevat erilaisia ​​ongelmia. Datalähtöinen viitekehys vaihtelee kiinteän skriptin syötteitä; avainsanalähtöinen viitekehys vaihtelee vaiheita. Taulukossa on esitetty hybridimalli, jota useimmat yritystiimit käyttävät.

Aspect Avainsanoihin perustuva kehys Data Driven Framework Hybridikehys
Mitä ulkoistetaan Testausvaiheet ja -toiminnot Vain testidataa Sekä vaiheet että data
Suunnittelutyö Laaja ja tarkka Rajoitettu dataan ja skripteihin Korkein
Hoito-ohjeet Helpompi, enemmän vatsalihaksiatrackerrokset Kovemmat vatsalihaksettracon ohuempi Helpoin skaalautuvasti
Koodaustaitoja tarvitaan Vain funktiokirjastolle Pakollinen jokaiselle skriptille Vaaditaan ydinkerrokselle
Voi aloittaa jo ennen rakentamista Kyllä Ei Kyllä

Käytännössä tyylit yhdistyvät. Hybridikehys tallentaa vaiheet avainsanoina ja syötteinä datasivuille, usein yli Sivun objektimalliValitse avainsanapohjainen menetelmä, kun testejä kirjoittaa useita testaajia, datapohjainen menetelmä, kun yksi työnkulku vaatii useita syötteitä, ja hybridimenetelmä, kun molemmat soveltuvat.

Avainsanalähtöiseen testaukseen käytetyt työkalut

Avainsanaohjatussa testauksessa käytetään laajasti useita työkaluja, joista jokainen tulkitsee avainsanataulukkoa eri tavalla.

  • HP QTP – sisältää sisäänrakennetun avainsananäkymän, joten taulukko ja suoritettava testi ovat yksi artefakti.
  • Selenium – ei sisällä natiivia avainsanakerrosta, joten tiimit rakentavat funktiokirjaston ja ajuriskriptin itse.
  • Robottikehys – avoimen lähdekoodin hakukone, joka on suunniteltu avainsanojen ympärille, taulukkomuotoisella syntaksilla ja useilla valmiilla avainsanoilla.
  • TestNG – käytetään yleisesti rinnakkain Selenium avainsanakartoitusmenetelmien järjestämiseen ja raporttien luomiseen.

Meidän luettelo automaattiset testaustyökalut kattaa kunkin vaihtoehdon lisensoinnin ja alustatuen.

UKK

Tekoälyavustajat voivat luonnostella avainsanojen nimiä käyttäjätarinoista ja hahmotella niiden yhteensopivuutta Selenium menetelmät, jotka poistavat suurimman osan asennustyöstäpingIhmisen on edelleen vahvistettava liiketoiminnan sanasto ja validoitava jokainen luotu paikannuslaite, ennen kuin sarjaan luotetaan.

Se vähentää sitä sen sijaan, että poistaisi sen. Itsekorjaavat moottorit tunnistavat elementin uudelleen ympäröivistä ominaisuuksista, kun paikannuslaite rikkoutuu, mikä vähentää rutiinikorjauksia. Varastojen hallintaa tarvitaan edelleen, koska parantunut paikannuslaite, joka löytää hiljaisesti väärän elementin, piilottaa todellisen vian.

Ei. Molemmat piilottavat koodin luettavien vaiheiden taakse, mutta BDD-työkalut, kuten Cucumber Käytä vaatimusten mukaista yhteistyötä varten kirjoitettuja annettuja-kun-niin-lauseita. Avainsanapohjaiset testit käyttävät taulukkomuotoisia toimintasanoja, jotka on kirjoitettu uudelleenkäyttöön automaatiopaketissa.

Pidä sanasto mahdollisimman pienenä kuin sovellus sallii, tyypillisesti muutamia kymmeniä matalan tason toimintoja ja yksi korkean tason avainsana liiketoimintaprosessia kohden. Jos kaksi avainsanaa kuvaa samaa toimintoa, yhdistä ne välittömästi; kaksoiskappaleet tekevät kirjastoista ylläpitokelvottomia.

Kyllä. Vahvista avainsanataulukot versionhallintaan funktiokirjaston rinnalla ja anna sitten koontipalvelimen kutsua ajuriskriptiä. Suoritusohjelmat, kuten TestNG kahvan uraping ja raportointia, joten virheet näkyvät samassa koontiraportissa kuin yksikkötestit.

Tiivistä tämä viesti seuraavasti: