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.
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:
- Kirjaudu sisään "guru99" -sivustolle – Avainsanaa "login" käytetään automaatiokehyksessämme siihen liittyvän kirjautumistoiminnon tai toiminnon testaamiseen.
- 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.
- Excel Sivu – Tunnista avainsanat ja tallenna ne Excel-taulukkoon, yksi rivi testivaihetta kohden.
- Toimintakirjasto – Koostuu liiketoimintavirtojen funktioista (mikä tahansa verkkosivuston kirjautumispainike). Kun testi suoritetaan, se lukee avainsanan Excel-taulukosta ja kutsuu funktioita sen mukaisesti.
- Tietolomakkeet – Tallenna sovelluksessa käytetyt testitiedot, jotta yksi avainsana toimii useilla syötteillä.
- Objektivarasto – Säilyttää avainsanojen koskettamien elementtien paikantimet, joten muutettua paikanninta muokataan yhdessä paikassa.
- Testikomennot – Sinulla voi olla testiskriptejä jokaiselle käyttöohjeelle Testitapaus tai yksittäinen ajuriskripti.
- Ohjainskripti – Käy läpi Excel-taulukon rivi riviltä, vertaa jokaisen avainsanan funktiokirjastoon ja tallentaa tuloksen.
- 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.
- TC_01: Kirjaudu guru99-demosivustolle, niin näet kuinka monta tapahtumaa on tänään suoritettu
- TC_02: Kirjaudu guru99-demosivustolle, lähetä sähköposti jollekin asiakkaallesi ja kirjaudu sitten ulos
- 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.


