Tarkvara Testimine

Tarkvara testimise artefaktid – üksikasjalik juhend

30. oktoober 2021

Sisukord

5. Testi andmed

Mis on testiandmed?

Testi andmed

Tarkvara testimiseks vajalike andmete käsitlemist ignoreeritakse.

Testijad aga unustavad sageli, et ilma asjakohaste testandmeteta võib tarkvaraarendus ja testimine drastiliselt ebaõnnestuda.

Suurepärane ja esinduslik andmekogum on praktiliste testjuhtumite loomiseks hädavajalik.

Testiandmed on süsteemi eellaaditud andmed, mis on testija poolt tarkvaratesti täitmiseks sisestatud.

Need võivad olla lihtsad kasutajanimede ja paroolide komplektid või miljonid keerukate andmete kirjed.

Katseandmete põhinõue on, et need peavad olema täpsed ja täpsed.

Positiivse testimise korral kontrollivad testiandmed funktsioone, mis annavad oodatud tulemusi, ja negatiivse testimise korral funktsioonid, mis annavad oodatavate tulemustega võrreldes erakordseid või ebatavalisi tulemusi.

Testiandmete tähtsus

IBMi 2016. aasta uuringu kohaselt on umbes. 30–60% testija ajast kulub testiandmete otsimisele, genereerimisele või säilitamisele.

Seega on katseandmete tähtsus:

1. Liigne andmemaht

Tootmine on nagu andmete heinakuhja, millest hakatakse koostama katseandmeid.

Saadaolevate andmete terabaitide hulgast on raske leida erandjuhtumeid, et teha kasulikke teste.

2. Andmeallikale puudub juurdepääs

GDPR-l, HIPAA-l, PCI-l ja muudel turvaeeskirjadel on piiratud juurdepääs andmeallikale.

Kuigi need poliitikad on märkimisväärselt vähendanud andmetega seotud rikkumiste tõenäosust, muutuvad testirühmad sõltuvaks vähestest töötajatest. Neil on juurdepääs andmetele, et jätkata testjuhtumite koostamist.

3. Värskendusajad on pikad

Kuna testimismeeskondadele ei anta võimalust andmete isevärskendamiseks, on vajadus võtta ühendust DBA-ga.

See on pikk protsess, mis võib mõnikord võtta päevi või nädalaid, et värskendada.

4. Tootmisandmetele juurdepääsu viivitus

Kuna agiilset testimist organisatsioonides veel laialdaselt ei kasutata, põhjustab see konflikte, kui sama projekti kallal töötab mitu meeskonda ja pääseb juurde samadele andmebaasidele.

Tihti juhtub, et ühe meeskonnani jõudmise andmestik on eelmise meeskonna poolt sellega tehtud toimingute tõttu juba muudetud.

Testiandmete tüübid

1. Piiriandmed

Need on kehtivad andmed, mis vastavad piirtingimustele.

Kui andmed on õigesti seatud, annab tarkvara vastavalt sisendile oodatud väljundi.

2. Hiiglaslikud andmed

Jõudlustestimisel kasutatakse suurt andmehulka, mida nimetatakse tohututeks andmeteks ja mis testivad, kas süsteem läheb erinevatel tingimustel rikki või mitte.

3. Tühjad andmed

Nagu nimigi ütleb, ei sisalda see andmeid või on ainult tühi fail.

Nende andmete eeldatav tulemus on see, et tarkvara ei purune ja loodud erandeid käsitletakse õigesti, kasutades sobivaid veateateid.

4. Kehtivad andmed

Tarkvara toetab või eeldab kehtivaid andmeid, mis annab õigeks sisestamiseks oodatud tulemuse.

5. Kehtetud andmed

Tarkvara seda tüüpi andmeid ei toeta ega oota ning testib, kas süsteem läheb katki, kui edastatakse kehtetu andmekogum.

Samuti kontrollib see, kas erandeid käsitletakse hästi või mitte, kasutades õigeid veateateid.

Testimise andmed testimisel

1. Turvatestimises

Turvalisuse testimine vastutab süsteemi üldise kaitse eest pahatahtlike kavatsuste eest.

Seega tuleks turvalisuse tagamiseks kavandatud testandmed koostada nii, et need kontrolliksid põhjalikult tarkvara turvalisust:

    Konfidentsiaalsus:Testiandmed peaksid olema kavandatud nii, et kliendi andmeid hoitakse turvaliselt ja neid ei jagata teiste kolmandate osapooltega.Terviklikkus:Pärast süsteemi kujunduse, andmebaasi, koodi ja failistruktuuride põhjalikku tutvumist saab koostada sobivad testandmed, mis kontrollivad, kas süsteemi esitatud teave on õige või mitte.Autentimine:Erinevate kasutajanimede ja paroolidega testandmeid saab koostada, et kontrollida, kas ainult autentitud saavad süsteemi sisse logida või mitte. Autentimine on protsess, mis tuvastab kasutaja identiteedi.Autoriseerimine:Konkreetse kasutaja õiguste või privileegide kontrollimiseks testandmed, mis sisaldavad kasutajate, toimingute ning nende rollide ja kujunduste kombinatsiooni.

2. Valges kastis testimine

Testiandmed uurivad otseselt valge kasti testimisel testitavat koodi. Selle kujundamisel võetakse arvesse järgmisi asju:

  • Tee testimise osana peavad testiandmed olema kavandatud nii, et need katavad maksimaalse arvu testjuhtumeid, mis hõlmavad kõiki programmi lähtekoodi teid.
  • Negatiivses API testimine , võib testimine koosneda sobimatutest parameetritüüpidest või argumentide kombinatsioonist, et kutsuda programmis erinevaid meetodeid.
  • Testimisandmed võivad olla kavandatud viisil, mis testib programmi lähtekoodi kõiki harusid vähemalt korra.

3. Musta kasti testimine

Musta kasti testimise funktsionaalsete testjuhtumite testiandmetel võivad olla järgmised kriteeriumid:

    Piirseisundi andmekogum:Katseandmed, mis vastavad piirväärtuse tingimustele.Kasuta juhtumitesti andmeid:Kasutage juhtumeid sünkroonitud testandmetega.Kehtivad andmed:Andmed, et kontrollida, kas süsteemi vastused on õiged andmesisestused.Kehtetud andmed:Andmed, mis kontrollivad süsteemi reageeringut vigasele andmesisendile.Samaväärsuse partitsiooni andmekogum:Testiandmed, mis kvalifitseerivad samaväärsuse sektsioonid.Oleku ülemineku testi andmekogum:Test Andmed, mis vastavad olekuüleminekute testimisstrateegiale.Ebaseaduslik andmevorming:Kui testiandmed on ebaseaduslikud, tuleb süsteemi jõudlust kontrollida.Otsustabeli andmekogum:Testiandmed, mis sobivad otsustustabeli testimisstrateegiaga.

4. Jõudluskontrollis

Maksimaalse töökoormuse määramiseks, mille korral süsteem suudab kiiresti vastata esitatud päringutele, kutsutakse välja jõudluse testimine .

Tavaliselt kasutatakse klientidelt saadud tegelikke või reaalajas andmeid katseandmete ja toimivustestimise katsejuhtumite genereerimiseks.

Seda testimist ei kasutata vigade leidmiseks, vaid seda kasutatakse ainult kitsaskohtade kõrvaldamiseks.

Kliendid annavad tagasisideks juba olemasolevaid või uusi andmeid selle kohta, kuidas andmed reaalses maailmas välja näeksid.

Head testiandmete omadused

Kasulikud katseandmed peavad olema täpsed ja neil peavad olema järgmised omadused:

1. Mitmekülgne

Katseandmed tuleb valida nii, et tagada ühe stsenaariumi maksimaalne katvus minimaalse andmekogumiga.

2. Realistlik

Katseandmed peavad olema täpsed ja olema tegelike stsenaariumide kontekstis.

Realistlik andmekasutus muudab tarkvara tugevamaks, kuna enamik vigu jäädvustatakse tegelike tingimuste tõttu.

Realistlik andmekasutus säästab ka aega ja vaeva, mis kulub ikka ja jälle uute andmete loomisele.

3. Erakorralised andmed

Katseandmeid saab luua ka erakorraliste stsenaariumide jaoks reklaamina, kui see on asjakohane või seda nõuab süsteem.

Need erandlikud stsenaariumid esinevad harvemini ja nõuavad suurt tähelepanu.

4. Praktiliselt kehtiv

Seda tüüpi andmed on sarnased realistlike andmetega, kuid ei ole samad. See on seotud rohkem AUT äriloogikaga.

Testiandmete ettevalmistamise või genereerimise tehnikad

Katseandmete ettevalmistamiseks on kaks tehnikat:

1. Sisestage

Selle käigus sisestatakse testandmed vastavalt testjuhtumite vajadustele andmebaasi, mis ei pruugi olla tühi.

Mure:

  • Kuna andmebaasi tabelitel on vastastikused sõltuvused, on andmete sisestamine tühja andmebaasi testija jaoks keeruline.
  • Juhul kui jõudluse või koormuse testimine , ei pruugi sisestatud testiandmed olla piisavad.
  • Andmebaasi arendajate abi on vaja, kuna testandmete andmebaasi sisestamiseks võidakse kasutada keerulisi päringuid või protseduure.
  • Kuna testandmete kogum on piiratud, võib see varjata mõningaid leitud vigu, arvestades ulatuslikumat andmekogumit.

Eelised:

  • Uute andmete sisestamine vähendab testimiseks ja tulemuste võrdlemiseks kuluvat aega.
  • Kuna andmebaas sisaldab ainult piiratud andmehulka, muutub testjuhtumite täitmine tõhusamaks.
  • Testiandmete kättesaadavuse tõttu muutub testimisprotsess segadusevabaks.
  • Vigade isoleerimine võtab vähem aega, kuna andmebaasis on ainult testjuhtumites määratud andmed.

2. Valige näidisandmete alamhulk

See valik on katseandmete ettevalmistamisel teostatavam ja praktilisem.

Meetod hõlmab tootmisandmete kopeerimist ja kasutamist, asendades välja väärtused näivate väärtustega.

Selle tehnika rakendamiseks on head tehnilised oskused ja üksikasjalikud teadmised andmebaasi skeemi ja SQL on vajalik.

Kuigi see meetod on testimiseks parim andmete alamhulk, ei pruugi see andmeturbe ja privaatsusprobleemide osas alati teostatav olla.

Testandmete genereerimise lähenemisviisid

    Taustaandmete sisestamine:Abiga SQL päringute korral saab olemasolevat andmebaasi hõlpsasti värskendada. See lähenemisviis on kiire ja tõhus, kuid seda tuleks hoolikalt rakendada, et vältida andmebaasi rikkumist.Katseandmete käsitsi genereerimine:See ajavõtt ja veaohtlik meetod hõlmab katseandmete käsitsi sisestamist testijate poolt vastavalt testjuhtumi nõudele.Kolmanda osapoole tööriistade kasutamine:Turul vastavad mõned tööriistad klientide ärivajadustele, kuid on kulukad. Neid saab kohandada nii, et need sobiksid katsestsenaariumiga andmete genereerimiseks või sisestamiseks, et pakkuda terviklikku testi katvust.Automatiseeritud testiandmete genereerimine:See meetod on kulukam kui käsitsi katseandmete genereerimine, kuid annab kiireid ja täpseid andmeid. See kasutab testandmete genereerimise tööriistu.

Testi andmete genereerimise tööriistad

ToodeMüüja
EMS andmete generaator EMS
IBM DB2 testandmebaas IBM
E-Naxos DataGen E-Naxos
DTM-andmete generaator SQLEdit
SQL andmete generaator Punane värav

Testiandmete haldamine (TDM)

Testiandmete haldamine on terviklik protsess, mis hõlmab planeerimist, kavandamist, salvestamist ja tootmisega mitteseotud katseandmete otsimist, mis jäljendavad organisatsiooni tegelikke andmeid, et arendajad ja testijad saaksid neid kasutades asjakohaseid teste teha.

Testiandmete haldamise (TDM) tähtsus on järgmine:

    Turvalisus:Valitsuse ja teiste ametiasutuste kehtestatud rangete eeskirjade tõttu rakendab TDM testandmete genereerimise lahutamatu osana ka andmete maskeerimist, andmeturvet ja turvalisust.Usaldus:TDM pakub kasulikke kvaliteetseid andmeid ja andmekatte, mis aitavad testimisetapis vead kiiresti ja tõhusalt lahti harutada. TDM pakub klientidele väga stabiilset ja kvaliteetset tarkvara minimaalsete defektidega, suurendades seeläbi organisatsiooni usaldust.Katseandmete katvus:TDM-is rakendatud testiandmete jälgitavus tagab parema testiandmete katvuse ja defektide mustrite tuvastamise.Korduvkasutatavus:Andmete korduvkasutatavus vähendab kulusid, kuna korduvkasutatavad andmed arhiveeritakse ja neile pääseb juurde siis, kui testimismeeskond seda nõuab.Varajane veatuvastus:Parema testi katvuse ja jälgitavuse tõttu on vead võimalik leida ja need lahenevad varakult, vähendades seega tootmiskulusid.Esitatud andmed:TDM-is hallatakse andmeid ühes kohas ja neid saab varustada erinevate testimistüüpide jaoks, nagu funktsionaalne, jõudlus, integratsioon ja palju muud. See vähendab ka koondamis- ja salvestuskulusid.Vähenda koopiat:TDM hoiab kõiki andmeid samas hoidlas, mida saavad kasutada kõik meeskonnad, ja seega pole vaja meeskonda teha samadest andmetest individuaalseks kasutamiseks mitu koopiat. Seega tagab TDM panipaiga hoolsa kasutamise.

Katseandmete piirangud

  • Testiandmed ei tohiks sisaldada privaatsustundlikke andmeid ega isikut tuvastavat teavet (PII).
  • Ravikindlustuse kaasaskantavuse ja vastutuse seaduses (HIPAA), maksekaarditööstuse andmeturbe standardis (PCI DSS) ja andmekaitse üldmääruses (GDPR) sätestatud privaatsusreeglid on piiranud eraandmete kasutamist testimise eesmärgil.
  • Anonüümseks muudetud andmeid saab kasutada testimise ja arendamise eesmärgil.
  • Testija võib luua ka sünteetilisi andmeid, kuid sellega kaasnevad teatud piirangud, näiteks võltsandmete genereerimise piiratud võimalus, aja-, kulu- ja kvaliteedipiirangud.

Testimismeeskond vastutab testiandmete genereerimise eest; neil võib aga olla otsene juurdepääs tootmisandmetele või mitte.

Tootmine on algandmed, mis ei sobi otseseks testimiseks kasutamiseks ja nõuavad märkimisväärseid jõupingutusi andmete sorteerimiseks, haldamiseks ja kohandamiseks vastavalt testija vajadustele.

Kvaliteetse ja vähemate defektidega tarkvara loomiseks on vaja kvaliteetseid andmeid ning selleks on testandmete haldamine parim lahendus.

Järeldus

Need on mõned olulised tarkvara testimise artefaktid, mis on ette valmistatud kõigi tarkvara testimisprojektide jaoks üldiselt. Need dokumendid annavad selge pildi testitust ja ka testitulemustest.