Mikä on testivaljaat? (Esimerkkejä)
⚡ Älykäs yhteenveto
Ohjelmistotestauksen testivaljaat yhdistävät tynkät, ajurit, testidatan ja suoritustyökalut, jotta tiimit validoivat moduulit ennen kuin jokainen riippuvuus on olemassa. Tämä muuttaa estetyt testisyklit toistettaviksi, automatisoiduiksi varmenteiksi, jotka raportoivat tulokset ilman manuaalista työtä.

Testivaljaat ohjelmistotestauksessa
Testivaljaat ohjelmistotestauksessa on kokoelma tyngöitä, ohjaimia ja muita tukityökaluja, joita tarvitaan testin suorittamisen automatisointiin. Testivaljaat suorittaa testejä käyttämällä testikirjastoa ja luo testiraportteja. Testivaljaat sisältävät kaikki tiedot, joita tarvitaan testin kääntämiseen ja suorittamiseen, kuten testitapaukset, kohdekäyttöportti (TDP), testattava lähdetiedosto, tyngät jne.
Yksinkertaisesti sanottuna johtosarja kietoo todennettavan komponentin kontrolloituun ympäristöön. Puuttuvat viereiset moduulit korvataan pienillä malliohjelmilla, syötteet tulevat kiinteästä datajoukosta ja jokainen tulos kirjoitetaan lokiin sen sijaan, että se luettaisiin näytöltä. Seuraavissa osioissa selitetään, miksi tiimit rakentavat sellaisen, mistä se on tehty, miten se toimii ja mihin se sopii.
Miksi käyttää testivaljaita?
Testisyklin odottamisen poistamiseksi on olemassa johdinsarja. Koska se simuloi kaikkea, mikä ei ole vielä valmista, ohjelmistojen testaus Tiimi voi aloittaa toiminnan varmentamisen ensimmäisessä sprintissä eikä vasta lopullisen integraation jälkeen. Alla oleva kaavio näyttää, missä testiskriptien ja testattavan sovelluksen välinen yhteys sijaitsee.
- Automatisoi testausprosessi
- Suorita testitapausten testisarjat
- Luo liittyvät testiraportit
- Tuki virheenkorjaukseen
- Tallentaaksesi kunkin testin testitulokset
- Auttaa kehittäjiä mittaamaan koodin kattavuutta kooditasolla
- Lisää järjestelmän tuottavuutta automatisoinnin avulla
- Paranna ohjelmistokomponenttien ja sovellusten laatua
- Selvittääkseen monimutkaisen tilan, jota testaajien on vaikea simuloida
Nämä hyödyt ovat merkittävimpiä lyhyillä julkaisusykleillä. Kun koodia lähetetään useita kertoja viikossa, integrointivaiheeseen asti selviävä vika maksaa paljon enemmän. trackuin kirjoituspäivänä tynkään naulan kantama. Tämä voitto kuitenkin koituu vasta, kun valjaat kootaan oikeista osista.
Testivaljaiden keskeiset osat
Johtosarja ei ole yksittäinen ohjelma, vaan osien kokoonpano, joista jokainen poistaa yhden esteen, joka muuten estäisi testin suorittamisen valvomatta.
- Testiskriptit: Automatisoidut ohjeet, joissa kerrotaan suoritettavat vaiheet ja odotettu tulos, kirjoitettuna testiskripti yleissopimukset.
- Testien suoritusmoottori: Suoritusohjelma, joka lukee skriptejä järjestyksessä, ratkaisee riippuvuudet ja laukaisee peräkkäisen tai rinnakkaisen suorituksen.
- Testitietojen säilytyspaikka: Skriptin ulkopuolella CSV-, JSON-, XML- tai siementietokannassa olevat syöttöarvot, jotka usein täytetään testidatan luontityökalut.
- Ohjaimet: Testattavaa komponenttia käynnistävät valekutsumoduulit, kun varsinainen ylempi kerros, kuten käyttöliittymä, on keskeneräinen.
- Tyngät: Dummy kutsui moduuleja palauttamaan valmiita vastauksia, esimerkiksi maksupalvelun vastaavan "Maksu onnistui" ottamatta yhteyttä pankkiin.
- Tulosteen validointi: Väitelogiikka, joka vertaa todellista tuotosta odotettuun arvoon ja merkitsee jokaisen tapauksen hyväksytyksi tai hylätyksi.
- Loki- ja raportointikerros: Aikaleimat, kuvakaappaukset, konsolin tuloste ja suoritusyhteenveto, jotka korjaavat jokaisen epäonnistumisen trackäyttökelpoinen jälkikäteen.
Jos irrotat yhdenkin osan, valjaat lakkaavat olemasta automaattisia, koska jotain on sitten syötettävä käsin jokaisella ajokerralla.
Miten testijohtosarja toimii?
Valjaat toistavat saman silmukan jokaisella suorituskerralla. Silmukan tunteminen kertoo tarkalleen, missä omat valjaasi ovat. automaatiotestaus resurssit kytketään ja mikä vaihe epäonnistuu, kun ajo muuttuu punaiseksi.
- Valmistele ympäristö: Johtosarja ratkaisee ympäristön kokoonpanon, avaa yhteydet ja lataa kiinnittimet, joten jokainen ajo alkaa samasta tunnetusta tilasta.
- Lataa testiskriptit: Skriptit, parametrit ja odotetut tulokset luetaan repositoriosta. Suorituksen aikana ei kirjoiteta mitään, minkä vuoksi toinen suoritus on verrattavissa ensimmäiseen.
- Korvaa puuttuvat moduulit: Ajurit korvaavat soittajia, joita ei vielä ole olemassa, ja tynkät korvaavat palveluita, joihin soittaminen on keskeneräistä, epävakaata tai joiden soittaminen on kallista.
- Käynnistä testattava sovellus: Suoritusmoottori käynnistää skriptin kuvaaman työnkulun, olipa kyseessä sitten metodikutsu, API pyyntö tai selaintoiminto.
- Tallenna todellinen tuloste: Paluuarvot, vastausten hyötykuormat, tietokannan rivit, lokirivit ja näytön tila tallennetaan kaikki sitä mukaa, kun niitä tuotetaan.
- Vertaa odotettuihin tuloksiin: Tulosteen validointitoiminto tarkistaa jokaisen siepatun arvon. Mikä tahansa ristiriita merkitsee tapauksen epäonnistuneeksi ja tallentaa sekä odotetun että havaitun arvon.
- Loki ja raportti: Johtosarja kirjoittaa aikaleiman tracajon e ja luo hyväksymis/hylkäys-raportin, jonka kehittäjä voi lukea ilman, että mitään tarvitsee suorittaa uudelleen.
- Purkaa: Väliaikaiset tiedot, yhteydet ja tynkätilat tyhjennetään, joten seuraava tapaus ei voi periä jäänteitä tästä tapauksesta.
💡 Vinkki: Päivitä tynkäsi aina, kun varsinainen moduuli muuttuu. Tönkä, joka vastaa edelleen edellisen neljänneksen formaatilla, raportoi vihreän suorituksen, vaikka reaaliaikainen integraatio on jo rikki.
Toimiva esimerkki tekee silmukasta konkreettisen. Oletetaan, että kassasivu on valmis, mutta maksuyhdyskäytävä ei ole. Ajuri suorittaa pyynnön, jonka rajapinta normaalisti lähettäisi, tynkä vastaa ensin "Maksu onnistui" ja sitten aikakatkaisulla, ja validaattori vahvistaa tilauksen toisessa tapauksessa ja yrittää uudelleen toisessa. Molemmat polut tarkistetaan ennen kuin yhdyskäytävätiimi kirjoittaa rivin koodia.
Testivaljaita käytetään kahdessa kontekstissa
Sama mekanismi palvelee kahta erillistä tarkoitusta, ja sanasto muuttuu hieman riippuen siitä, kummassa mekanismissa olet.
- Automaatiotestaus: Se sisältää testiskriptejä, parametrit, joita tarvitaan näiden komentosarjojen suorittamiseen ja tulosten keräämiseen sen analysoimiseksi
- Integraatiotestaus: Sitä käytetään koottamaan kaksi koodiyksikköä tai moduulia, jotka ovat vuorovaikutuksessa toistensa kanssa tarkistaakseen, onko yhdistetty käyttäytyminen odotettavissa vai ei.
Tarkastellaan kirjautumismoduulia ja profiilimoduulia, joiden on vaihdettava käyttäjätunnus. Integrointikontekstissa ajuri simuloi onnistunutta kirjautumista ja luovuttaa tunnustunnuksen profiililogiikalle, joten datakarttaping, käyttöoikeuksien tarkistus ja näytön renderöinti voidaan kaikki varmistaa ennen varsinaisen todennuspalvelun päättymistä. Automaatiokontekstissa sama tapauspari lisätään pakettiin ja suoritetaan uudelleen jokaisella koontiversiolla ilman, että kukaan koskeu siihen uudelleen.
Testivaljaiden tyypit
Koska ohjelmisto on rakennettu kerroksittain, johdinsarja on yleensä erikoistunut varmennettavaan kerrokseen. Neljä tyyppiä kattavat lähes kaikki projektit.
A yksikkötestausjohtosarja suorittaa pienimpiä koodin osia, kuten yksittäistä funktiota tai metodia, ja jokainen riippuvuus korvataan tynkällä. Se on nopein suorittaa ja halvin ylläpitää, minkä vuoksi yksikkötestaus Suitet ovat yleensä ensimmäiset valjaat, jotka tiimi rakentaa. Verolaskelman testaaminen laskutusmoduuliin koskematta on tyypillinen käyttötarkoitus.
An integrointitestausjohtosarja tarkistaa, että kaksi tai useampi moduuli toimii oikein, ja se on kerros, jossa datan ristiriitaisuudet ja epäonnistuneet puhelut nousevat esiin. Se on johdinsarja, jota on kuvattu integraatiotestaus yllä olevassa kontekstissa, esimerkiksi sen varmistaminen, että tilauspalvelu toimittaa oikean hyötykuorman maksupalvelulle.
A järjestelmän testijohtosarja ohjaa kokonaisvaltaista kokonaisvaltaista työnkulkua rajapinnan, palvelun ja tietokannan välillä, joten järjestelmän testaus voi varmistaa, että liiketoimintasäännöt pätevät, kun jokainen kerros on läsnä. regressiotestien valjaat suorittaa sitten kertyneen sarjan uudelleen jokaisen muutoksen jälkeen, mikä tekee siitä regressiotestaus käytännöllinen, kun jokaisessa yhdistämisessä on toistettava useita satoja skenaarioita.
Testaa valjaat työkalut
Kukin näistä tyypeistä rakennetaan yleensä olemassa olevan työkalun pohjalle eikä tyhjästä. Kaksi klassista vaihtoehtoa ovat edelleen yksikkötason viitekehykset:
- Junit: Käytön aikana käytetty työkalu Java
- Nunit: Käytössä käytetty työkalu .Net puitteet
Näiden kahden lisäksi useimmat tiimit lisäävät työkaluja, jotka laajentavat valjaat selaimeen, API-kerrokseen tai kuormitusprofiiliin. Alla oleva taulukko kuvaa yleisiä vaihtoehtoja kunkin roolin mukaan.
| Työkalu | Sopii parhaiten | Rooli valjaiden sisällä |
|---|---|---|
| JUnit | Java yksikkö- ja integraatiopaketit | Tarvikkeiden ajurit, kiinnikkeet ja väitteet |
| nunit | C#- ja VB.NET-koodia .NET-alustalla | Sama rooli kuin JUnit .NET-kielille |
| Selenium | Selainpohjaiset kokonaisvaltaiset työnkulut | Toimii käyttöliittymäkerroksen ajurina |
| TestNG | Suuri Java sviitit, jotka tarvitsevat pohjatyötäping ja rinnakkaisajot | Toimii testien suoritusmoottorina |
| PyTest | Python palvelut ja API-tason tarkistukset | Otteluohjelmat toimivat sekä tynkinä että tiedon toimittajina |
| Apache JMeter | Kuormitus-, rasitus- ja suorituskykyskenaariot | Luo synteettistä liikennettä testattavaa sovellusta vastaan |
| Postman | REST API -konversiotract-vahvistus | Tarjoaa valepalvelimia, jotka korvaavat keskeneräiset päätepisteet |
Valitsetpa minkä tahansa yhdistelmän, valjaat maksavat itsensä takaisin vasta, kun niitä ei käytetä valvomatta, joten kytke ne jatkuva integrointi työpaikka aikaisin. Laajempi luettelo vaihtoehdoista on lueteltu Guru99 testaustyökalut yhteenveto. Yksi ero aiheuttaa edelleen hämmennystä, ja se kannattaa selvittää ennen kuin valitsee mitään.
Testivaljaat vs Test Framework
Harness-järjestelmää ja automaatiokehystä käsitellään usein samana asiana, mutta ne vastaavat eri kysymyksiin: harness-järjestelmä suorittaa testin, kun taas kehys on rakenne, jonka sisällä testit suunnitellaan. Alla oleva taulukko asettaa ne rinnakkain.
| Testavaljaat | Testaa automaatiokehystä |
|---|---|
| Testivaljaat koostuvat ohjaimista ja tyngistä, jotka ovat pieniä valeohjelmia, jotka ovat vuorovaikutuksessa testattavan ohjelmiston kanssa | Se on joukko prosesseja, menettelytapoja ja vatsalihaksia.trackonsepti ja ympäristö, jossa automatisoidut testit suunnitellaan ja toteutetaan |
| Et voi kirjoittaa "Tallennus ja toisto" -komentosarjaa Test Harnessissa | Testaaja voi manuaalisesti "Tallenna ja toisto" -skriptin tässä kehyksessä |
| Testivaljaat sisältävät kaikki tiedot, joita tarvitaan testin kääntämiseen ja suorittamiseen, kuten testitapaukset, kohdekäyttöportti (TDP), testattava lähdetiedosto, tyngät jne. | Testausautomaatiokehys sisältää tietoja, kuten testikirjasto, testaustyökalut, automatisoidut testauskäytännöt, testausalusta jne. |
| Testivaljaat on luokiteltu Automaatiotestaus Integraation testaus |
Automaatiokehys Esimerkit Dataohjattu testaus Avainsanoihin perustuva testaus Modulaarisuuslähtöinen testaus Hybriditestaus Mallipohjainen testaus Code ajettu testaus Käyttäytymislähtöinen testaus |

