Sisukord
- Tarkvara testimise artefaktid
- 1. Katseplaan
- Testiplaanide tüübid
- Testiplaani mall
- Katseplaani juhised
- 2. Test Suite
- Mis on testkomplekt?
- Mida sviit tähendab? Selgitab näide
- Testsviitide tüübid
- Test Suitesi omadused
- Test Suites mallid
- Erinevus testistsenaariumi, testikomplekti, katseplaani ja testjuhtumi vahel
- Järeldus
- 3. Testjuhtum
- Mis on testjuhtum?
- Kuidas kirjutada häid testjuhtumeid?
- Testjuhtumi mall
- Standardsete testjuhtumite näidisvorming
- Testjuhtumite haldamise tööriistad
- 4. Testi skript
- Mis on testskript?
- Testige skriptikeelt näitega
- Millist koodi kasutatakse?
- Kuidas luua testskripti?
- Kuidas testiskripti käivitada?
- 5. Testi andmed
- Mis on testiandmed?
- Testiandmete tähtsus
- Testiandmete tüübid
- Testimise andmed testimisel
- Head testiandmete omadused
- Testiandmete ettevalmistamise või genereerimise tehnikad
- Testandmete genereerimise lähenemisviisid
- Testi andmete genereerimise tööriistad
- Testiandmete haldamine (TDM)
- Katseandmete piirangud
- Järeldus
- Soovitatavad artiklid
4. Testi skript
Mis on testskript?

Testskript on defineeritud kui inimkeeles (käsitsi) või skriptimis-/programmeerimiskeeles (automatiseeritud) kirjutatud juhiste kogum, et kontrollida, kas testitav süsteem toimib ootuspäraselt.
See on osa testjuhtumist, millel võib olla mitu testskripti.
Testimismootorit koos testskriptide hoidlaga nimetatakse testrakmed.
Ühel testjuhtumil võib olla mitu testskripti, kui:
- Testjuhtumid võivad olla käsitsi ja automatiseeritud skriptide abil.
- Iga testskript pakub testjuhtumi testimiseks erineva testistsenaariumi.
Testskripti kood teostab tavaliselt üks või kaks korda järgmist.
- Tuvastage kasutajaliidese sisendelemendid
- Liikuge kasutajaliidese komponendile ja oodake ning kontrollige kuvatavaid sisendelemente.
- Kasutaja sisendi simulatsioon.
- Väljundelementide tuvastamine
- Tulemuse kuvamiseks oodake ja kontrollige väljundelemente.
- Lugege väljundelemendi tulemust.
- Väljundväärtuse väide, mis on võrdne eeldatava väärtusega.
Testige skriptikeelt näitega
Automatiseeritud testimist saab teha järgmistes keeltes:
- TCL
- Python
- JavaScript
- VBScript
- Perl
- Rubiin
- Unixi Shelli skript
Mõned testimise automatiseerimise tööriistad või raamistikud, millel on oma skriptikeel, võivad genereerida testskripte ilma tegeliku kodeerimiseta.
Näide: Sikuli, mis on GUI automatiseeritud tööriist, kasutab testjuhtumite testimiseks Pythonit. Näiteks järgmine on Pythoni testskripti näide:
|_+_|Testskripti näide
Kaaluge lisamisfunktsiooni automaatset testimist e-kaubanduse veebisaidil. Veebisaidi testskript täidab järgmist.
- Määrake, kuidas leida ostukorvi lehel nuppu Lisa toode ostukorvi. Nt. kasutades CSS-i elementide ID-sid.
- Laadige veebisaidi avaleht, klõpsake ikooni Ostukorv, veenduge, et ostukorvi leht ilmub, ja kuvage ostukorvi tühi ekraan.
- Otsige tootekataloogist mis tahes toodet. Näiteks lisage kleit. Seejärel vajutage Lisa ostukorvi.
- Määrake, kuidas ostukorvi lisatud kaupa kasutajale kuvatakse.
- Oodake ja kontrollige, kas kauba lisamine õnnestus ning ostukorvi ekraanil on näha piisavad andmed.
- Loe ostukorvi lehte.
- Kinnitage, et toote nimi ja selle andmed on nähtavad
Millist koodi kasutatakse?
Testskripti loomiseks võib olla kolme tüüpi kodeerimine:
Salvestamine/taasesitus
Kui kasutaja toimingud on salvestatud, ei ole vaja koodi kirjutada ja skript genereeritakse automaatselt.
Kuna aga skript luuakse automaatselt, võib loojal olla vaja sageli skripti kontrollida, et automatiseerimise käitumist täpsustada või asju parandada.
Sellegipoolest on see lihtsam kui skripti nullist kirjutamine, kuna skript on otse testija ees ja on üldiselt kodeeritud lihtsustatud keeltes, nagu VBScript.
Tõeline programmeerimiskeele kood
Isegi kui testijal võib olla võimalus koodi salvestada/esitada või luua lihtsat skriptimiskoodi, võivad testijad lõpuks õppida ise kodeerima.
Testijad saavad valida mis tahes programmeerimiskeele, olenemata tarkvara kirjutamiseks kasutatud programmeerimiskeelest. Näiteks isegi kui programm on kirjutatud Java keeles, kuid testija valdab Pythoni keelt, saab ta kirjutada Pythoni testskripti.
Märksõna/andmepõhine skriptimine
Testijad, kes pole aluskoodist teadlikud, määravad testid tavaliselt märksõnade abil. Teisest küljest rakendavad arendajad märksõnade testskripti koodi ja värskendavad neid.
See meetod on testijatele kasulik, kuid sõltub suuresti ressursside väljatöötamisest uute funktsioonide automaatseks testimiseks.
Kuidas luua testskripti?
Testskripti loomiseks on kolm võimalust:
1. Salvestamine/taasesitus
Algajatele sellised tööriistad nagu HP Kiirtesti professionaal võib aidata kvaliteedikontrolli spetsialistidel luua automatiseeritud testskripte.
Need tööriistad sooritavad veebisaidil või rakenduses toimingute komplekti, salvestavad kasutaja tegevused ja genereerivad testskripte nende toimingute automaatseks taasesitamiseks või kordamiseks.
Need võimaldavad teste redigeerida ja muuta, valides objekte ja määrates kasutaja toiminguid nende simuleerimiseks.
Selle meetodi simulatsiooni ja valideerimise erinevus on järgmine:
- Avage ostukorvi leht ja klõpsake vahekaarti makse üksikasjad.
- Sisestage kaardi number
- Sisestage kaardi aegumiskuupäev
- Sisestage CVV
- Sisestage kaardile nimi
- Minge lehele Payment Gateway
2. Päris programmeerimiskeele kood
Täiustatud testijad eelistavad salvestamise/taasesituse funktsioonide kasutamise asemel oma koodi kirjutada. Sellised raamistikud nagu Appium, Microsoft Coded UI ja Selenium võimaldavad testijatel kirjutada nullist testskripte, kasutades selliseid keeli nagu Java, C++, PHP või JavaScript.
Need keeled võivad, kuid ei pruugi olla sarnased testitavas rakenduses kasutatava keelega.
Raamistikud pakuvad hetkel testitava rakenduse puhul spetsiaalseid käske, nagu ekraanielementide tuvastamine, menüüvalikute valimine, klõpsamine, tippimine ja muu.
Enamik testimise automatiseerimise raamistikke toetab ka salvestamise/taasesituse skriptimist.
Selle meetodi simulatsiooni ja valideerimise erinevus on järgmine:
3. Märksõna/andmepõhine skriptimine
Mõnes testimistööriistas, nagu Robot Framework, määravad testijad märksõnad, et genereerida testitavale süsteemile soovitud toimingute tegemiseks automaatselt skript.
Selle lähenemisviisi sarnane variant on andmepõhine lähenemisviis. Sama testi korratakse mitu korda ja iga kord erinevate andmeväärtuste või kasutajatoimingutega. Näiteks iga kord erinevate esemete ostmine erinevate võimalustega ja seejärel tulemuste analüüsimine.
Sel juhul esitatakse testija tabel, mis täpsustab testide kompleksi koos vastavate toimingute ja andmetega.
Seda tüüpi testskriptide genereerimise peamine eelis on see, et iga testskripti jaoks pole vaja kasutaja toiminguid korduvalt simuleerida. Selle asemel on need määratletud ühes kohas, et testija saaks neid mitmes testiskriptis kasutada.
Vaatleme a näide deebetkaardiga maksmise võimalust kasutades:
Märksõna checkout määrab, et skript peaks liikuma ostukorvi lehele ja võimaldama kasutajal sisestada makseandmed. Seejärel kirjutab arendaja selle funktsiooni rakendamiseks koodi. Testija pakutav tabel on järgmine:
Kaardi number | Aegumine | CVV | Nimi kaardil | |
Sisestage makse üksikasjad | 1234-1234-1234-1234 | 2/20 | *** | John |
Tester võib pakkuda ka selliseid tekstiridu nagu:
Genereeritakse testskript, mis teab, kuidas ülaltoodud tekstiridu rakendada.
Selle meetodi simulatsiooni ja valideerimise erinevus on järgmine:
Kuidas testiskripti käivitada?
Testija ei saa toota üldist testskripti, mis töötaks üheski automatiseerimissüsteemis, ega portida teste ühest süsteemist teise ilma testiraamistikule vastamata.
Automatiseerimisraamistikud, mida mõnikord nimetatakse testrakmed, käitavad testskripte.
Need raamistikud (Selenium, Appium, HP QTP ja Robot Framework) võivad võtta spetsifikatsioonide kohaselt kirjutatud skripti ja laadida kasutajaliidese, simuleerida kasutaja toiminguid liideses ja raporteerida tulemustest.
Testide läbiviimiseks kasutatakse järgmisi meetodeid:
Seega käivituvad kasutajaliidese spetsiifilised automatiseeritud testid ja raporteerivad iga uue ehituse tulemused. Seda saab kasutada kergete testide jaoks, nagu ühikutestid.