Ohjelmistojen Testaus

Ohjelmistojen testausartefaktit – Yksityiskohtainen opas

30. lokakuuta 2021

Sisällysluettelo

  • Ohjelmistojen testausartefaktit
  • 1. Testisuunnitelma
  • Testisuunnitelmien tyypit
  • Testisuunnitelmamalli
  • Testisuunnitelman ohjeet
  • 2. Test Suite
  • Mikä on Test Suite?
  • Mitä Suite tarkoittaa? Esimerkki selittää
  • Testisarjan tyypit
  • Test Suitesin ominaisuudet
  • Test Suites -mallit
  • Ero testiskenaarion, testipaketin, testisuunnitelman ja testitapauksen välillä
  • Johtopäätös
  • 3. Testitapaus
  • Mikä on testitapaus?
  • Kuinka kirjoittaa hyviä testitapauksia?
  • Testitapausmalli
  • Testitapausesimerkki vakiotestitapauksista
  • Test Case Management Tools
  • 4. Test Script
  • Mikä on Test Script?
  • Testaa skriptikieli esimerkin avulla
  • Millaista koodia käytetään?
  • Kuinka luoda testiskripti?
  • Kuinka suorittaa testiskripti?
  • 5. Testitiedot
  • Mitä testidata on?
  • Testitietojen tärkeys
  • Testitietojen tyypit
  • Testitiedot testauksessa
  • Hyvät testidatan ominaisuudet
  • Tekniikat testitietojen valmistelua tai luomista varten
  • Lähestymistavat testidatan luomiseen
  • Testaa tiedon luontityökaluja
  • Testitietojen hallinta (TDM)
  • Testitietojen rajoitukset
  • Johtopäätös
  • Suositellut artikkelit

4. Test Script

Mikä on Test Script?

img 617dd4e96d22c

Testikirjoitus määritellään ihmisellä (manuaalisella) tai komentosarja-/ohjelmointikielellä (automatisoidulla) kirjoitettujen ohjeiden sarjaksi varmistaakseen, että testattava järjestelmä toimii odotetulla tavalla.

Se on osa testitapausta, jossa voi olla useita testiskriptejä.

Testin suoritusmoottoria yhdessä testiskriptien arkiston kanssa kutsutaan testivaljaiksi.

Yhdellä testitapauksella voi olla useita testiskriptejä, kun:

  • Testitapaukset voivat olla manuaalisia ja käyttämällä automaattisia komentosarjoja.
  • Jokainen testiskripti tarjoaa erilaisen testiskenaarion testitapauksen testaamiseksi.

Testausskriptikoodi suorittaa tyypillisesti seuraavan kerran tai kaksi:

  1. Tunnista syöttöelementit käyttöliittymästä
  2. Siirry käyttöliittymäkomponenttiin ja odota ja tarkista näkyviin tulevat syöttöelementit.
  3. Käyttäjän syötteen simulointi.
  4. Lähtöelementtien tunnistaminen
  5. Odota ja tarkista tuloselementit, jotta tulos näkyy.
  6. Lue tuloselementin tulos.
  7. Tuotoksen arvon väite, joka on yhtä suuri kuin odotettu arvo.

Testaa skriptikieli esimerkin avulla

Automaattinen testaus voidaan tehdä seuraavilla kielillä:

  • TCL
  • Python
  • JavaScript
  • VBScript
  • Perl
  • Rubiini
  • Unix Shell Script

Jotkut testiautomaatiotyökalut tai -kehykset, joissa on oma komentosarjakieli, voivat luoda testikomentosarjat ilman varsinaista koodausta.

Esimerkki: Sikuli, joka on GUI-automaattinen työkalu, testaa testitapauksia Pythonilla. Esimerkiksi seuraava on esimerkki testiskriptistä Pythonissa:

|_+_|

Esimerkki testiskriptistä

Harkitsemme lisäystoiminnon automaattista testausta verkkokauppasivustolla. Verkkosivuston testiskripti suorittaa seuraavat:

  1. Määritä, kuinka löydät Lisää tuote ostoskoriin -painikkeen ostoskorisivulta. Esim. käyttämällä CSS-elementtitunnuksia.
  2. Lataa verkkosivuston kotisivu, napsauta Ostoskori-kuvaketta, varmista, että ostoskorisivu tulee näkyviin ja näytä, että ostoskori on tyhjä.
  3. Hae mitä tahansa tuotetta tuoteluettelosta. Esim. Lisää mekko. Paina sitten Lisää ostoskoriin.
  4. Määritä, miten ostoskoriin lisätty tuote näytetään käyttäjälle.
  5. Odota ja varmista, että tuote on lisätty onnistuneesti ja riittävät tiedot näkyvät ostoskoriin.
  6. Lue ostoskorin sivu.
  7. Varmista, että tuotteen nimi ja sen tiedot ovat näkyvissä

Millaista koodia käytetään?

Koodauksen tyyppi testiskriptin luomiseksi voi olla seuraavaa kolmea tyyppiä:

Tallennus/toisto

Koodia ei tarvitse kirjoittaa, jos käyttäjän toimet tallennetaan ja komentosarja luodaan automaattisesti.

Koska skripti kuitenkin luodaan automaattisesti, tekijä saattaa usein joutua tarkistamaan komentosarjan hienosäätääkseen automaation toimintaa tai korjatakseen asioita.

Tämä on kuitenkin yksinkertaisempaa kuin skriptin kirjoittaminen tyhjästä, koska käsikirjoitus on suoraan testaajan edessä ja se on yleensä koodattu yksinkertaistetuilla kielillä, kuten VBScript.

Todellinen ohjelmointikielikoodi

Vaikka testaaja voisikin tallentaa/toistaa koodia tai luoda yksinkertaista komentosarjakoodia, testaajien saattaa viime kädessä joutua oppimaan koodaamaan itse.

Testaajat voivat valita minkä tahansa ohjelmointikielen ohjelmiston kirjoittamiseen käytetystä ohjelmointikielestä riippumatta. Esimerkiksi vaikka ohjelma olisi kirjoitettu javalla, mutta testaaja osaa sujuvasti Pythonia, he voivat kirjoittaa Python-testikoodin.

Avainsanoihin/tietoihin perustuva komentosarja

Testaajat, jotka eivät tiedä taustalla olevaa koodia, määrittelevät testit yleensä avainsanojen avulla. Toisaalta kehittäjät ottavat käyttöön avainsanojen testikoodin ja päivittävät ne.

Tämä menetelmä on hyödyllinen testaajille, mutta se on erittäin riippuvainen uusien toimintojen resurssien kehittämisestä automaattisesti testattavaksi.

Kuinka luoda testiskripti?

On kolme tapaa luoda testiskripti:

1. Tallennus/toisto

Aloittelijoille työkalut, kuten HP Pikatestauksen ammattilainen voivat auttaa laadunvarmistuksen ammattilaisia ​​luomaan automaattisia testikomentotiedostoja.

Nämä työkalut suorittavat joukon toimintoja verkkosivustolla tai sovelluksessa, tallentavat käyttäjän toimet ja luovat testikomentosarjat toistaakseen tai toistaakseen kyseiset toiminnot automaattisesti.

Niiden avulla testejä voidaan muokata ja muokata valitsemalla objekteja ja määrittämällä käyttäjän toimia niiden simuloimiseksi.

Ero simulaation ja validoinnin välillä tässä menetelmässä on:

    Simulointi:Käsikirjoituksen simulaation kaappaaminen on helppoa tallennus-/toistojärjestelmien avulla. Testaajat suorittavat käyttäjän toimia, ja järjestelmä luo suhteellisen komentosarjan käyttämällä yksinkertaisia ​​komentosarjakieliä, kuten VBScript.Validointi:Kun simulointi on tehty, seuraava vaihe on validointi, mikä on ongelmallista. Komentosarjaan on lisätty selkeästi vaiheet käyttöliittymäelementtien tunnistamiseksi ja odotettujen ja todellisten arvojen vertaamiseksi. Näitä tarkistuksia ei voida tallentaa, koska ne suoritetaan peräkkäin automaatiojärjestelmän graafisen käyttöliittymän avulla.

2. Todellinen ohjelmointikielen koodi

Edistyneet testaajat kirjoittavat koodinsa mieluummin tallennus-/toistotoimintojen käyttämisen sijaan. Kehykset, kuten Appium, Microsoft Coded UI ja Selenium, antavat testaajille mahdollisuuden kirjoittaa testiskriptejä tyhjästä käyttämällä Java-, C++-, PHP- tai JavaScript-kieliä.

Nämä kielet voivat olla samanlaisia ​​kuin testattavassa sovelluksessa käytetty kieli.

Kehykset tarjoavat erikoiskomentoja, kuten näyttöelementtien tunnistamisen, valikkovaihtoehtojen valitsemisen, napsautuksen, kirjoittamisen ja paljon muuta tällä hetkellä testattavassa sovelluksessa.

Useimmat testiautomaatiokehykset tukevat myös tallennus-/toistoskriptausta.

Ero simulaation ja validoinnin välillä tässä menetelmässä on:

    Simulointi:Selenium tarjoaa yksirivisiä komentoja objektien valitsemiseen, napsautukseen, odottamiseen tai muiden käyttöliittymätoimintojen suorittamiseen. Joten jos testaaja osaa kielen, on suhteellisen helppo automatisoida näiden sisäänrakennettujen komentojen avulla.Vahvistukset:Kuten tallennus/toisto, myös kirjoituskoodimenetelmässä tämä osio on haastava. Vaikka Selenium auttaa paikantamaan järjestelmän tulosobjektien rajapinnan, väitteitä ei tueta. Tämä tarkoittaa, että testaajien on kirjoitettava koodi itse tarkistaakseen odotetut arvot. Toisin kuin simulaatio, joka on kehitetty ja ylläpidetty vain kerran käyttäjän toimintoa kohden, validointikoodissa on useita osia jokaiselle testattavalle käyttöliittymäelementille.

3. Avainsanoihin/tietoihin perustuva komentosarja

Joissakin testaustyökaluissa, kuten Robot Frameworkissa, testaajat määrittävät avainsanat, jotka luovat automaattisesti komentosarjan testattavalle järjestelmälle haluttujen toimien suorittamiseksi.

Tämän lähestymistavan samanlainen muunnelma on tietoihin perustuva lähestymistapa. Sama testi toistuu useita kertoja ja joka kerta eri data-arvoilla tai käyttäjän toimilla. Esimerkiksi eri tuotteiden ostaminen joka kerta eri vaihtoehdoilla ja sitten tulosten analysointi.

Tässä tapauksessa testaajan laatima taulukko, jossa määritellään monimutkainen testisarja vastaavien toimintojen ja tietojen kanssa.

Tämän tyyppisen testikomentosarjan luomisen tärkein etu on, että käyttäjän toimintoja ei tarvitse simuloida toistuvasti jokaiselle testiskriptille. Sen sijaan ne määritetään yhteen paikkaan, jotta testaaja voi käyttää niitä useissa testiskripteissä.

Tarkastellaanpa an esimerkki kassalla debit-korttimaksuvaihtoehdolla:

Avainsana checkout määrittää, että komentosarjan tulee siirtyä ostoskorisivulle ja antaa käyttäjän syöttää maksutiedot. Tämän jälkeen kehittäjä kirjoittaa koodin toteuttaakseen tämän toiminnon. Testaajan toimittama taulukko on:

Kortin numero Vanheneminen CVV Nimi kortissa
Anna Maksutiedot 1234-1234-1234-12342/20***John

Testaaja voi myös tarjota tekstirivejä, kuten:

  • Avaa Ostoskori-sivu ja napsauta Maksutiedot-välilehteä.
  • Anna kortin numero
  • Anna kortin viimeinen voimassaolopäivä
  • Syötä CVV
  • Kirjoita nimi kortille
  • Siirry Payment Gateway -kohtaan

Testikirjoitus, joka osaa toteuttaa yllä olevat tekstirivit, luodaan.

Ero simulaation ja validoinnin välillä tässä menetelmässä on:

    Simulointi:Tämä osa skriptistä voidaan käsitellä helposti yhdellä avainsanalla, joka määrittelee käyttäjän toiminnon.Validointi:Tämä osa vaatii useita avainsanoja ja odotettuja tietoarvoja jokaiselle käyttöliittymän osalle, jotka on vahvistettava. Testaajan ei ole kovin vaikeaa määrittää erilaisia ​​avainsanoja eri toiminnallisuuksille, mutta tämä tarkoittaa, että testaajilla on rajoitetut validointivaihtoehdot ja heidän on turvauduttava kehittämiseen lisävaihtoehtojen lisäämiseksi.

Kuinka suorittaa testiskripti?

Testaaja ei voi tuottaa yleistä testiskriptiä ajettavaksi missään automaatiojärjestelmässä tai siirtää testejä järjestelmästä toiseen noudattamatta testauskehystä.

Automaatiokehykset, joita joskus kutsutaan testivaljaiksi, suorittavat testikomentosarjat.

Nämä puitteet (Selenium, Appium, HP QTP ja Robot Framework) voivat ottaa ohjeiden mukaan kirjoitetun komentosarjan ja ladata käyttöliittymän, simuloida käyttäjän toimia käyttöliittymässä ja raportoida tulokset.

Testien suorittamiseen käytetään seuraavia menetelmiä:

    Jatkuva integrointiympäristö:Jos kehittäjät rakentavat ohjelmiston automaattisesti käyttämällä työkaluja, kuten Jenkins tai Teamcity, automaattiset testiskriptit voidaan suorittaa osana rakennusprosessia.

Joten käyttöliittymän erityiset automaattiset testit suoritetaan ja raportoivat jokaisen uuden koontiversion tulokset. Sitä voidaan käyttää kevyisiin testeihin, kuten yksikkötesteihin.

    GUI-pohjainen kehys:GUI-pohjaisessa kehyksessä, kuten HP UFT, testaajat voivat valita testit luettelosta ja suorittaa tai ajoittaa ne eri aikoina napsauttamalla painiketta.Koodipohjainen kehys:Koodipohjaisissa kehyksissä testaajat avaavat IDE:n (esim Seleeni) , käännä ja suorita se. Kun koodi suoritetaan, testikehyksen osat aktivoituvat ja suorittavat käyttöliittymän edellyttämät testattavat toiminnot.