fbpx

Uurimuslik testimine on tarkvara testimise eriliik, millel on rakenduse jaoks palju eeliseid, mis võimaldavad tal saavutada kogu oma potentsiaali.

See, kuidas meeskond integreerib uurimusliku testimise oma rutiinsetesse kontrollidesse, võib isegi määrata, kui hästi tarkvara toimib, eriti kui see läheneb testimisprotseduuridele uutel ja ootamatutel viisidel. See aitab testijatel avastada rakenduses esinevaid probleeme, mis muidu võivad jääda kuni käivitamiseni märkamatuks ja mille tulemuseks on, et põhifunktsioonid ei tööta.

Uuriva testimise protsesside, tüüpide ja lähenemisviiside mõistmine võib aidata teil suunata organisatsiooni ja selle testimismeeskondi, kuidas seda tavapärastesse kontrollidesse lisada.

Samuti on olemas mitmeid tasuta vahendeid, mida meeskond saab kasutada, et hõlbustada neid kontrolle ja märgata probleeme enne, kui need võivad muutuda arengu takistusteks.

Selles juhendis tutvustame uuriva testimise eeliseid ning peamisi kaalutlusi, mida meeskond peaks enne rakendamist kaaluma.

 

Table of Contents

Mis on uurimuslik testimine?

 

Uurimuslik testimine ühendab testide kavandamise ja teostamise etapid, tagades testijale täieliku tegevusvabaduse ja võimaldades tal oma tööd pidevalt täiustada.

Kui need meeskonnad tarkvara kontrollivad, avastavad nad tõenäoliselt uusi komponente, mis vajavad põhjalikku kontrolli, ja võivad kergesti välja pakkuda uusi teste, mis oleksid rakendusele kasulikud.

Uurimuslik testimine sarnaneb ad hoc testimisega, kuid järgib palju rangemat dokumentatsiooni, hõlmates ka aktiivsemat õppimisprotsessi.

Vähem struktureeritud lähenemisviis aitab testijatel kindlaks teha, kuidas rakendus tõenäoliselt reageerib realistlikele stsenaariumidele ja testjuhtumitele, ning on oluline täiendus skriptidega testimisele.

Meeskonna uurimusliku testimise kvaliteet sõltub sageli üksikute testijate oskustest, sest kontrollimine nõuab loovust ja tarkvara põhjalikku tundmist. See on pidev avastamisprotsess, mille puhul testijad kasutavad deduktiivset arutlust, et juhtida oma üldist tehnikat.

Uurimuslik testimine on eriti kasulik, sest see peegeldab, kuidas kasutajad võivad tarkvara kasutada. Enamik kasutajaid leiab vead ja probleemid juhuslikult, nii et need skriptimata protsessid võivad aidata testijatel leida probleeme, mida etteantud kontrollid ei pruugi avastada.

Samuti on võimalik, et meeskond automatiseerib selle protseduuri, et tagada suurem tõhusus.

 

1. Millal on vaja teha uurimuslikku testimist?

 

Uurimuslik testimine on üldiselt kasulik peaaegu igas tarkvara testimise protsessis, kuigi see on eriti hea kiire tagasiside andmisel rakenduse kohta.

Meeskond võib neid kontrolle kasutada ka siis, kui skriptkatsed saavad otsa. Ilma selge suunitluseta oma tarkvara kontrollimiseks võib uurimuslik testimine aidata avastada probleeme, mis jäävad standardkontrollidest välja.

Mitmekesiste testimisprotseduuride tagamine võimaldab testijatel seda tarkvara igal etapil palju sügavamalt mõista, kuid nende varajane läbiviimine võib pakkuda rohkem kasu.

Meeskondadel on võimalik hiljem vajaduse korral uuesti läbi viia uurimuslikke teste, et tagada täiendav meelerahu.

 

2. Kui te ei pea tegema uurimuslikku testimist.

 

On mõned stsenaariumid, kus uuriv testimine ei paku mingit kasu, kuigi testijatele võib olla kasulikum oodata, kuni tarkvara põhifunktsionaalsus on olemas.

Rakenduse funktsioonid lõikuvad või mõjutavad üksteist tavaliselt, mis tähendab, et ühe funktsiooni uurivad testid võivad olla vananenud, kui arendusmeeskond lisab sellele tarkvarale rohkem funktsioone.

Samuti on võimalik neid teste probleemideta läbi viia koos skriptkontrollidega, eeldusel, et testijad suudavad tagada tugeva dokumentatsiooni taseme, et vältida segadust.

Uurimuslik testimine on võrreldes teiste testimisviisidega väga mitmekülgne, mistõttu on need kontrollid väga hästi rakendatavad.

 

3. Kes osaleb uurimuslikus testimises?

 

Ekspluatoorne testimine hõlmab mõnes mõttes paljusid töötajaid, sealhulgas:

– Neid teste saavad läbi viia mis tahes tasemega tarkvaratestijad, kuigi tarkvara paremini tundvad meeskonnaliikmed saavad kavandada rohkem erinevaid kontrolle.

Kogemus võib mõjutada ka nende võimet määrata kõige kasulikumad testid.

– Tarkvaraarendajad, kes tunnustavad nende testide tulemusi, võtavad kõik ettepanekud arvesse ja töötavad sageli välja oma lahenduse probleemile.

Nende vastus testidele võimaldab rakendusel saavutada sobiva seisundi edukaks vabastamiseks.

– Projektijuhid, kes jälgivad kogu seda protsessi ja võivad isegi otsustada, milliseid testimisviise meeskonnad kasutavad.

Samuti võivad nad vastutada meeskondade jaoks tarkvara hankimise eest, mis võib teste lihtsustada või isegi automatiseerida.

 

Uurimusliku testimise elutsükkel

 

Uurimusliku testimise protsess keskendub tugevalt testija vabadusele, kuid järgib siiski kindlat struktuuri.

Selle lähenemisviisi kolm peamist etappi on järgmised:

 

1. etapp: Õppimine

 

Testijad alustavad tarkvara ja selle funktsionaalsuse põhjaliku tundmaõppimisega – nad analüüsivad seda kriitiliselt, et teha kindlaks, kuidas see kokku sobib.

See võimaldab testijal välja selgitada tavalised sisendid, mida kasutaja võiks teha, kuigi ta võib olla juba teadlik rakendusest ja selle toimimisest.

Õppeetapis võib olla vaja isegi õpetust, kuidas tarkvara kasutada. See on uurimisetapp ja annab testijale kogu vajaliku teabe, et ta saaks kavandada laiaulatusliku hulga kasulikke teste.

 

2. etapp: Katse kavandamine

 

Uurimusliku testimise kavandamine hõlmab küll erinevaid reegleid ja parameetreid, kuid pakub siiski oluliselt rohkem vabadust võrreldes skriptiga testimisega, mille spetsiifika on juba enne testimise algust teada.

Testija saab koostada kontrolle, mis tema arvates sobivad rakendusele täpsemalt ja võivad potentsiaalselt avastada arendusmeeskonnale väärtuslikke andmeid, sealhulgas märkimisväärseid vigu, mida nad saavad parandada.

Testimismeeskonnad kasutavad seda etappi selleks, et teha kindlaks, millist lähenemisviisi kasutada ja kuidas jagada töö erinevate testijate vahel nii, et see arvestaks nende tugevaid külgi.

 

3. etapp: täitmine

 

Pärast kasutatavate kontrollide kavandamist saavad testijad nüüd kontrollida rakendust viisil, mida nad peavad kõige tõhusamaks – nad võivad seda teha kohe pärast konkreetse testi väljatöötamist.

See on etapp, kus testijad otsivad aktiivselt probleeme ja seda, kuidas nende poolt avastatud probleemid võivad mõjutada teisi funktsioone ja funktsioone.

Kuigi uurimusliku testimise läbiviimisel on teatud määral intuitiivset tööd, järgib see siiski kindlaksmääratud protsesse ja eesmärke, võimaldades sujuvat testi, mis võib kergesti kohandada konkreetseid testimiseesmärke.

 

Uurimuslik vs. käsikirjaline testimine

 

Uurimuslik testimine on sisuliselt vastupidine skriptidega testimisele, kuigi mõlemad võivad olla olulised, et tagada rakenduse valmisolek avaldamiseks. Viimane on tavaliselt formaalsem ja struktureeritum, hõlmates palju laiaulatuslikke teste, võrreldes uurimusliku kontrolliga, mis on sageli spetsiifilisemad rakenduse funktsionaalsuse suhtes.

Selle osana on uuriv testimine ka oluliselt kohanemisvõimelisem, samas kui skriptidega testimine võib olla raskendatud, kui tarkvaras toimuvad suured muudatused. Uurimuslikud testid võivad avastada vead ja tegutseda nende vastu kiiremini, mistõttu on esimesed eriti kasulikud juhtudel, kus kiire tagasiside on esmatähtis.

 

1. Aktiivne uurimuslik testimine

 

Aktiivne uurimuslik testimine hõlmab testija, kes koostab oma kontrollide jaoks automatiseeritud skripti, mida teine testija täidab. Need skriptid võtavad vajaduse korral arvesse eelmisi teste.

Kaks testijat vahetavad tavaliselt kogu kontrollimenetluse jooksul rolle, et kontrollida nende skriptide ja protsesside usaldusväärsust.

Aktiivsed testid on laiema katvusega, ilma et ohverdataks uurivate kontrollide spetsiifilisus. Need skriptid võimaldavad ka paremat dokumentatsiooni, mis lihtsustab testijate poolt leitud probleemide reprodutseerimist.

Dokumentatsioon on aktiivsete testide oluline osa, sest see aitab sidusrühmadel näha ka rakenduse üldist arengut.

 

2. Passiivne uurimuslik testimine

 

Passiivne uurimuslik testimine nõuab ainult ühte testijat, kuigi paarikaupa töötades võib protsessi veelgi lihtsustada.

See lähenemisviis hõlmab spetsiaalset tarkvara, mis salvestab testijate tegevused – pakkudes neile lihtsaid samme iga avastatud probleemi kordamiseks. Tavaliselt on see video kujul, kus testija annab kommentaari, mis selgitab tema tegevust samm-sammult.

Testimisprotsessi salvestamine annab ka ülevaate rakenduse jõudlusest, sealhulgas sellest, kui kiiresti see reageerib sisendpäringutele.

Passiivne testimine annab nii testijatele kui ka arendusmeeskonnale hulgaliselt üksikasjalikku teavet tarkvara toimimise kohta.

 

Uurimusliku testimise meetodid

 

Uurimuslik testimine toimub tavaliselt ringkäigu vormis, kus testija uurib tarkvara kõige tõhusamal viisil.

Meeskond võib valida erinevate ekskursioonide vahel, sealhulgas:

 

– Ekskursioonid giidiga

Selline lähenemisviis seab prioriteediks rakenduse esiletõstetud funktsionaalsuse, jäljendades täpselt seda, kuidas keskmine kasutaja tarkvaraga tegeleb, ja paljastades probleemid, mida ta loomulikult leiaks.

 

– Ajaloo ekskursioonid

See ringkäik kontrollib rakenduse vanimaid funktsioone, et veenduda, et need ikka veel toimivad; see on eriti oluline, kui arendajad on lisanud uusi funktsioone, mis on sellega vastuolus.

 

– Rahaturnee

See uurimuslik test kontrollib rakenduse kriitilisi funktsioone, eelkõige neid, mille kasutamise eest kliendid ja kliendid maksavad raha – need on tavaliselt testimismeeskonna jaoks kõige prioriteetsemad.

 

– Kuritegevuse tuur

Testijad töötavad mõnikord aktiivselt rakenduse rikkumiseks või negatiivsete stsenaariumide esilekutsumiseks, näiteks sisestades ebaõiget teavet ja uurides, kuidas rakendus sellele reageerib.

 

– Tagasitee ekskursioon

See protsess hõlmab funktsioone, mida tõenäoliselt kasutavad vähem kliente; need on sama olulised mis tahes testimisviiside puhul, eriti kuna nad suhtlevad teiste funktsioonidega.

 

– Intellektuaalne ekskursioon

See ringkäik viib rakenduse edasi, testides kõige keerulisemaid funktsioone suuremate (mõnikord maksimaalsete) väärtustega, et määrata kindlaks tarkvara töötluskiirus.

 

Uurimusliku testimise lähenemisviisid

 

Uurimusliku testimise puhul on kaks peamist lähenemisviisi:

 

1. Sessioonipõhine uuriv testimine

 

See on ajapõhine meetod, mille eesmärk on kvantifitseerida testimisprotsessi, jagades selle “sessioonideks”, millel on kaks komponenti: missioonid ja kaardid.

Missioon on selle konkreetse sessiooni eesmärk ja kestus, mis annab uurivale testijale selge fookuse.

Harta sätestab iga sessiooni ulatuse ja täpsustab kõik konkreetsed eesmärgid, mida testija kavatseb täita. Selle tulemuseks on suurem vastutus (ja dokumenteerimine), kuna need kontrollid jagatakse paremini hallatavateks komponentideks.

Sessioonipõhised testid parandavad ka tootlikkust ja annavad testijale selgeid mõõdikuid ja teavet tõrkeotsingu kohta.

 

2. Paaripõhine uurimuslik testimine

 

Paartestimine sarnaneb aktiivse uurimusliku testimisega, kuna see hõlmab peamiselt paarides töötamist – tavaliselt samal seadmel -, et pidevalt ja samaaegselt kontrollida rakendust. Sellise korralduse puhul pakub üks testija välja hulga testjuhtumeid ja teeb märkmeid edusammude kohta, samal ajal kui teine testib tarkvara.

Kommunikatsioon on oluline kogu paaristesteerimise ajal, sest see tagab, et mõlemad testijad on teadlikud kontrollidest ja nende eesmärgist.

Kui te määrate need paarid ise, veenduge, et arvestate iga testija tugevate ja nõrkade külgedega, sest see võimaldab teil luua tugevamaid uurimusliku testimise protsesse.

 

Millised tegurid mõjutavad uurimuslikku testimist?

 

Tegurid, mis võivad mõjutada meeskonna uurimusliku testimise kvaliteeti, on järgmised:

 

– Tarkvara üldeesmärk ja põhifunktsioonid.

– Rakenduse praeguse etapi konkreetsed testimiseesmärgid.

– Iga testija individuaalsed rollid ja võimed meeskonnas.

– Olemasolevad vahendid, näiteks tasuta tarkvara testide automatiseerimiseks.

– Toetus, mida testijad saavad kolleegidelt või juhtkonnalt.

– Kliendi soovid ja turu praegused üldised suundumused.

– Rakenduse kasutusmugavus, näiteks kasutajaliidese sujuvus.

– Aeg, mis testijatel on testimisfaasi lõpuleviimiseks.

– Sisendid ja muud andmed, mida testijad kavatsevad kasutada.

– Funktsioonid, mida arendajad aja jooksul tarkvarale lisavad.

 

Uurimusliku testimise tüübid

 

Kolm peamist tüüpi uurimuslikku testimist, mida meeskond võiks kasutada, on järgmised:

 

1. Vabatüüpi uurimuslik testimine

 

Vabatüübiline testimine hõlmab ad hoc lähenemist rakenduse kontrollimisele. Selle puhul on vähe reegleid, mistõttu selle tõhusus võib varieeruda; mõned tarkvara ja komponendid nõuavad tugevamat metoodikat.

Need kontrollid võivad siiski pakkuda palju kasu, aidates testijatel selle rakendusega tutvuda ja valideerida eelmise testija tööd.

Isegi ilma rangete reegliteta võivad kogenud ja oskuslikud testijad seda formaati hõlpsasti enda kasuks ära kasutada. Nad saavad hõlpsasti liikuda läbi tarkvara iga aspekti – mõnes olukorras on testimisreeglid piiravad ja võivad tahtmatult piirata meeskonna tulemusi.

 

2. Stsenaariumipõhine uurimuslik testimine

 

Stsenaariumipõhine testimine kasutab iga testi alusena realistlikke olukordi, näiteks kontrollides sisendeid, mida kasutajad tõenäoliselt teevad selle tarkvara tüüpilise töö käigus.

Testijad teevad kõvasti tööd, et tagada, et iga stsenaarium, mille nad kavandavad, vastab sellele, kuidas kasutaja rakendusega suhtleb.

Aeg võib olla piiranguks, sest meeskonna eesmärk on katsetada võimalikult palju stsenaariume; sõltuvalt eelseisvatest tähtaegadest ei ole tõenäoliselt võimalik kõiki võimalusi katta.

Testijad peaksid kasutama laia valikut teste erinevates kategooriates.

 

3. Strateegiapõhine uurimuslik testimine

 

Strateegiapõhine testimine hõlmab mitmesuguseid spetsiifilisi meetodeid, sealhulgas piirväärtuse testimist, samaväärsuse meetodeid, riskipõhiseid meetodeid ja muud. Üldiselt eelistatakse testijaid, kes on rakendusega juba tuttavad, kuna nad saavad välja töötada kohandatud strateegiaid, mis hõlmavad neid individuaalseid meetodeid.

Strateegiapõhine lähenemine keskendub peamiselt tarkvara funktsionaalsusele (ja sisemisele toimimisele), ilma et vaadeldaks võimalikke stsenaariume, mis võivad viia kasutaja esilekerkivate probleemidega kokkupuutumiseni. Selle tulemuseks võib olla rakenduse ja selle erinevate omaduste laiem analüüs, mis võib olla põhjalikum kui mitmesugused muud lähenemisviisid.

 

Manuaalsed või automatiseeritud uurimuslikud testid?

 

Testimismeeskonnad võivad teha uurimuslikke kontrolle kas käsitsi või automatiseerida neid. Mõlemal võimalusel on võimalik pakkuda tohutut kasu; õige valik sõltub sageli projekti eripärast.

 

Manuaalne uurimuslik testimine

 

Käsitsi läbiviidav uuriv testimine võimaldab suuremat valikut eritellimusel põhinevaid kontrolle. Kuigi see võib võtta kauem aega, kuna inimtestijad on aeglasemad kui arvutid, võib käsitsi kontrollimine olla oluline kasutajakogemuse kindlaksmääramisel.

Testija ei tööta mitte ainult selleks, et tagada, et rakenduse kõik funktsioonid töötavad nii, nagu nad peaksid, vaid ka selleks, et teha kindlaks, kas kasutajad saavad seda hõlpsasti kasutada. See on ehk kõige tavalisem uurimusliku testimise vorm – kuigi see ei tee seda tingimata kõige tõhusamaks.

 

1. Manuaalsete testide teostamise eelised

 

Käsitsi läbiviidava uurimusliku testimise eelised on järgmised:

 

Suurem keskendumine kasutatavusele

 

Automatiseeritud uurivad testid võivad märgata tarkvaras esinevaid lahknevusi, kuid ei pruugi olla võimelised neid probleeme samamoodi tõlgendama kui inimtestijad.

See hõlmab ka arusaamist sellest, kuidas tarkvara kasutajad tõenäoliselt rakenduses navigeerivad või sellega suhtlevad, mida automatiseerimine ei saa arvesse võtta.

Manuaalsed uurivad testijad saavad pakkuda põhjalikumat tagasisidet, sealhulgas konkreetseid üksikasju selle kohta, kuidas nende leitud probleemid mõjutavad üldist tarkvara või üldist kogemust.

 

Saab teha muudatusi reaalajas

 

Uuriva testimise üks peamisi tugevaid külgi on see, et enne vajalike paranduste enampakkumist on võimalik tuvastada testimise vajadus ja viia see suhteliselt kiiresti läbi.

Automatiseeritud testimine on üldiselt palju kiirem protsess, kuid testijad peavad enne muudatuste tegemist ootama, kuni kõik on valmis – manuaalsed testijad saavad seda teha, kui uuriv testimisprotsess on veel käimas.

Sageli on see siiski võimalik ainult selliste vigade puhul, mis mõjutavad tarkvara väiksemaid osi.

 

Suurem tähelepanu detailidele

 

Uurimuslik testimine seisneb peamiselt selles, et leida uusi viise rakenduse testimiseks, mõistes seda samal ajal; see võib mõnikord tähendada, et üks test viib teise testini, andes testerile ideid.

Automatiseeritud testid ei pruugi seda arvesse võtta, kuna nad on testimismeeskonnale suhteliselt väheste vahenditega. Manuaalsed testijad täiendavad pidevalt oma teadmisi tarkvarast ja töötavad välja uusi, kuid sama tähtsaid teste – kuid see võib olla keeruline, kui kolmanda osapoole tarkvara automatiseerib neid.

 

Võib leida vigu väljaspool koodi

 

Käsitsi teostatavad uurimuslikud kontrollid võimaldavad testijatel vaadata rakenduse ja tarkvara kõiki tahke, sealhulgas ka koodi enda kõrval.

Paljud automatiseeritud lähenemisviisid piirduvad koodiga ja selle toimimisega, mille tulemusel võivad testimismeeskonnad jätta märkamata probleemid, mis võivad ilmneda rakenduse teistes osades.

See sõltub peamiselt kasutatavast automatiseerimistarkvarast, kuna mõned lahendused võivad pakkuda laiemat lähenemist uurivale testimisele.

 

Tagab kvaliteedi kogu projektis

 

Automaatne uuriv kontroll otsib ainult rakenduses olevaid vigu ja mõõdikuid; käsitsi testijad võiksid hoopis tarkvara kontrollida ja anda oma põhjalikku tagasisidet.

Näiteks saavad nad testida koodi ja teha kindlaks, et see on liiga keeruline – see on eriti oluline, sest surnud kood võib aeglustada jõudlust, kuid automatiseeritud protsessid ei pruugi seda märgata.

Testija teadmised tarkvarast võivad olla abiks probleemide diagnoosimisel, mis ilmnevad testimise teistes etappides.

 

2. Manuaalse uuriva testimise väljakutsed

 

Käsitsi tehtava uuriva testimise väljakutsed on järgmised:

 

Inimlike vigade võimalus

 

Automaatne uurimuslik testimine võib käivitada täpselt sama kontrolli nii mitu korda kui vaja, ilma et täpne kulgemine muutuks, tagades järjepidevuse ja usaldusväärsed tulemused.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Käsitsi teostatav uuriv testimine on haavatav inimlike vigade suhtes, mis tähendab, et testija võib sisestada vale väärtuse. Tavaliselt on võimalik neid teste kaks korda kontrollida ja kõik lahknevused parandada, sest need võivad ilmneda juba esmapilgul.

Siiski võib testi uuesti tegemine pärast vea märkamist rohkem aega võtta.

 

Üldiselt aeganõudvam

 

Isegi kui testijad viivad iga ekspluatatsioonikontrolli korrektselt ja ilma inimlike vigadeta läbi, võtab see üldine protsess märkimisväärselt palju aega võrreldes automatiseeritud tarkvaraga, mis suudab testid palju kiiremini välja arvutada.

See võib olla vähemalt mitme tunni vahe; aeg, mida testijad võiksid kulutada rakenduse osadele, mis ei saaks automatiseerimisest mingit kasu.

Uurimuslikud testid nõuavad ka pidevat järelevalvet, samas kui automatiseerimine võimaldab teste läbi viia üleöö.

 

Pikk dokumentatsiooniprotsess

 

Samamoodi võib käsitsi dokumenteerimine käsitsi testimise ajal ja pärast seda olla tarbetu koormus uurivale testimisprotsessile.

See raskendab muudatuste ja tarkvara muutmise jälgimist aja jooksul – automatiseeritud tarkvara suudab seda tavaliselt testide tegemisel intuitiivselt arvesse võtta.

See on veel üks haldusküsimus, mis võtab aega ja energiat muudelt asjadelt, mis vähendab tegelikult kogu tarkvara testimise ulatust ja ulatust.

 

Peab tarkvara põhjalikult tundma

 

Igasuguse oskustasemega manuaalsed testijad saavad rakendust kontrollida ja põhjalikult testida. Selle põhjuseks on töö, mida nad on teinud tarkvara mõistmiseks – see on uurimisprotsessi esimene etapp.

Kui testija aga vaevleb või unustab õppida, kuidas see rakendus töötab, siis on tal tõenäoliselt raske koostada ja teostada sobivaid teste.

Tarkvara hea tundmine võimaldab testijatel minna tavapärastest testimisparameetritest kaugemale.

 

Kulukas ülalpidamine

 

Manuaalsele testimisele tuginemine nõuab tavaliselt suuremat testimismeeskonda, mis võib pikemas perspektiivis kaasa tuua suuremaid kulusid võrreldes automatiseeritud kontrolliga. Kolmanda osapoole tarkvara, mis teostab neid uurimuslikke teste, võib pakkuda tohutut väärtust või olla isegi täiesti tasuta.

Sõltuvalt ülesannete keerukusest võib ettevõte vajada rakenduste täielikuks kontrollimiseks kõrgelt kvalifitseeritud ja aastatepikkuse kogemusega testijaid. See võib suurendada testimise kulusid märkimisväärselt võrreldes tasuta automatiseerimistarkvara kasutamisega.

 

3. Millal kasutada manuaalset uurivat testimist

 

Manuaalne testimine on sageli seotud mitmete väljakutsetega, kuid on siiski oluline osa põhjalikust tarkvara testimisest. Selle põhjuseks on see, et on olemas tarkvara aspektid, mida automatiseerimine ei suuda täielikult arvesse võtta ja mis nõuavad samuti tugevat keskendumist.

Näiteks ei saa tarkvara anda usaldusväärset tagasisidet kasutajaliideste või kasutajakogemuse testide kohta. Testijad saavad hea ettekujutuse sellest, kuidas rakendus praktikas töötab, ainult siis, kui nad seda käsitsi testivad. See tähendab, et nii arendajad kui ka testimismeeskonnad peavad kaaluma vähemalt teatud määral manuaalsete testide integreerimist oma kontrollidesse.

 

Automatiseeritud uurimuslik testimine

 

Automatiseeritud testimine kasutab kolmanda osapoole tarkvara, et automatiseerida teatud kontrolle – testijad saavad seda tavaliselt kohandada, et see sobiks praktiliselt iga testiga.

See nõuab aga tavaliselt, et meeskond kontrolliks vähemalt korra käsitsi, et kalibreerida automatiseerimist. See võib oluliselt lihtsustada protsessi nii testimis- kui ka arendusmeeskondade jaoks.

Kuigi uurivate testide automatiseerimine võib olla haruldane, on selle tegemisest teie rakenduse ja selle jõudluse jaoks mitmeid selgeid eeliseid.

 

1. Exploratiivse testimise automatiseerimise eelised

 

Peamised eelised uuriva testimise automatiseerimisest on järgmised:

 

Järjepidev testide läbiviimine

 

Inimlik eksimus võib kergesti põhjustada testimisvigu, mille parandamine võtab aega ja raha; automatiseeritud uurimuslik kontroll võimaldab testimismeeskondadel sellest probleemist mööda hiilida.

Testijad õpetavad automatiseerimistarkvarale tõhusalt, kuidas testi õigesti läbi viia, tagades, et see teeb seda iga kord samamoodi. See parandab testide üldist usaldusväärsust ja vähendab aega, mida arendajad kulutavad tulemuste ootamisele – eriti kuna testijad saavad seda hõlpsasti üleöö käivitada.

 

Säästab kõigi jaoks aega

 

Automatiseeritud testid võimaldavad arendajatel palju kiiremini alustada tööd probleemide parandamisega, võimaldades samas testijatel katta laiemat valikut uurimuslikke kontrolle. Meeskond saab arvestada ainult teatud arvu stsenaariume, olenemata nende tähtajast, mis tähendab, et testijad peavad võimalikult palju kontrolle oma lubatud ajakavasse mahutama.

Automatiseerimine aitab neid uurimuslikke teste teha palju kiiremini kui käsitsi testijad.

 

Kulutõhus lähenemisviis

 

Sõltuvalt meeskonna valitud tarkvarast võib automatiseerimine olla palju kuluefektiivsem kui käsitsi testimine – see võib olla isegi tasuta.

Kuigi manuaalsete testijate palkamine on endiselt kriitilise tähtsusega ja mõned neist vastutavad automatiseerimisprotseduuride kalibreerimise eest, annab võimalikult paljude uurivate testide automatiseerimine ettevõttele võimaluse vähendada personalikulusid.

Kui meeskond saab automatiseerimistarkvarast aru, saab ta seda kohandada mitmesuguste ülesannete jaoks.

 

Kohandatav mitme seadme jaoks

 

Manuaalne testimine võib nõuda töötajaid, kellel on kogemusi erinevate seadmete osas, näiteks erinevate telefonide operatsioonisüsteemide, sealhulgas Androidi ja iOSi tundmist, kui tegemist on mobiilirakendusega.

Automaatne tarkvara saab seda arvesse võtta ja testida mitmel seadmel, et tagada rakenduse järjepidevalt hea toimivus. Neid seadmeid tundvad testimismeeskonnad võivad leida protsessi tüütuks; automatiseerimine suudab taas kord lihtsustada tavapäraseid uurimusliku testimise protsesse ja testida iga iteratsiooni samaaegselt.

 

Taaskasutatavad skriptid

 

Kui meeskond testib sama tarkvara mitut versiooni või isegi mitut sarnase arhitektuuri või funktsioonidega toodet, on võimalik skripte ühest testimistsüklist teise taaskasutada.

Kui ühilduvuse tagamiseks on vaja teha mingeid kohandusi, saavad manuaalsed testijad need teha palju kiiremini kui täiesti uue skripti kirjutamine.

Automatiseerimine optimeerib praktiliselt iga uurimusliku testimise etappi, kuna seda on lihtne seadistada erinevate tarkvarakonfiguratsioonide puhul.

 

2. Uurimusliku testimise automatiseerimise väljakutsed

 

See protsess hõlmab ka mitmesuguseid väljakutseid, näiteks:

 

esindab ainult ühte katsetamise poolt

 

Rakenduse testimisel ei ole otstarbekas ega mõistlik automatiseerida kõiki kontrolle, sest on mõningaid aspekte, mille kohta saab usaldusväärset tagasisidet anda ainult manuaalne testija.

See hõlmab ka kasutajakogemust, kuigi sõltuvalt valitud tarkvarast võib olla võimalik saada põhjalikku tulemuslikkuse ja koormuse testimise analüüsi automatiseerimise abil.

Uurivate testide automatiseerimisel puudub inimlik hinnang ja see võiks kõige paremini toimida koos manuaalse testijaga mõnede kontrollide puhul.

 

Ebarealistlikud ootused võimete suhtes

 

Samamoodi võivad automatiseeritud uurimuslikud testimismenetlused pakkuda rakendusele ja kogu projektile tohutut kasu.

Selline lähenemisviis ei ole siiski alati lahendus. Organisatsioonid, mis tuginevad igas etapis suuresti automatiseerimisele, võivad omada tarkvara suhtes ebatäielikku vaatenurka.

Automatiseerimine tuvastab probleemid, kuid nende parandamise eest vastutavad testimis- ja arendusmeeskonnad. Oluline on määratleda üldine automatiseerimisstrateegia, et kõik projektis osalejad mõistaksid selle võimalusi ja piiranguid.

 

Kõrgemad nõuded oskustele

 

Automatiseerimine eeldab tavaliselt teadmist, kuidas teostada keerulisi kontrolle, ning kuidas neid programmeerida ja tegelikult automatiseerida. Selleks on sageli vaja aastatepikkust kogemust skriptide koostamisel, kuigi automatiseerimistarkvara võib aidata neid protsesse märkimisväärselt optimeerida.

On väga oluline, et ettevõte värbaks mitmekesiste ja tugevate oskustega testijaid, et hõlbustada tõhusat automatiseerimist.

Automatiseerimises kogenud testijad teavad ka, milliseid funktsioone tuleb kolmanda osapoole tarkvaravõimaluste hulgast valides eelistada, tagades, et meeskond saab hea toote.

 

Ebakorrektsed strateegiad ja kommunikatsioon

 

Ühtsest strateegiast teavitamine on iga eduka automatiseerimise jaoks ülioluline; arendajad, testijad ja isegi projektijuhid peavad olema kogu testimise ajal ühel ja samal leheküljel.

Meeskonnad peavad tegema koostööd, et määrata kindlaks eelseisvate menetluste ulatus ja ajakava. See kehtib iga testimisprotsessi kohta, kuid on eriti oluline automatiseerimise lisakomplekside tõttu. Paremad kommunikatsiooniliinid ja teabesilode puudumine võimaldavad teie meeskondadel tõhusamalt teste läbi viia.

 

Õige automatiseerimistarkvara valimine

 

Automatiseerimine hõlmab tavaliselt kolmanda osapoole rakenduse valimist, mis sobib meeskonna testimise eesmärkidega. Igal võimalusel on erinevad hinnakavad ja funktsionaalsus. See võib olla märkimisväärne pikaajaline kulu, isegi kui tarkvara täidab edukalt automatiseeritud teste, pakkudes samas märkimisväärset väärtust.

On mitmeid tasuta võimalusi, mis pakuvad muljetavaldavat funktsionaalsust, mis on võrreldav premium-alternatiividega. Oluline on, et testimismeeskond uuriks kõiki olemasolevaid võimalusi, sealhulgas tasuta tarkvara.

 

Kokkuvõte: Uurimusliku testimise automatiseerimine vs. manuaalne uuriv testimine: Uurimusliku testimise automatiseerimine vs. manuaalne uuriv testimine

 

On vähe projekte, mille puhul on kasulik kas täielikult manuaalne testimine või täielikult automatiseeritud testimine, kuna igasugused rakendused toimivad paremini mõlema kombinatsiooniga.

Kuigi automatiseeritud testid võivad optimeerida protsessi arendus- ja kvaliteedi tagamise meeskondade jaoks, nõuavad mõned disaini aspektid käsitsi läbiviidavat testimist; see on ainus viis saada kasutajakohast tagasisidet.

Aja jooksul töötab üha rohkem organisatsioone selle nimel, et rakendada hüperautomaatikat, mis on protsess, mille eesmärk on maksimeerida automatiseerimist intelligentselt, tagades ettevõtte tõhusa strateegia – see võib endiselt eksisteerida käsitsi testimise kõrval.

Automatiseeritud testimine on muutumas ettevõtetele kättesaadavamaks tänu automatiseerimistarkvara levikule, eriti tänu mitmetele tasuta võimalustele, mis on saadaval rohkete funktsioonidega. See muudab ettevõtete jaoks lihtsamaks kombineeritud käsitsi ja automatiseeritud testimise lähenemisviisi kasutuselevõtmise.

Arendustegevuses on üha populaarsemaks muutunud ka agiilne tehnika (projektijuhtimise tehnika, mis keskendub järkjärgulisele, kuid olulisele arengule), mis nõuab lühikesi testimistsükleid. Kombineeritud testimisstrateegia võiks hõlmata seda ja mitmesuguseid muid arendusstrateegiaid, näiteks pidevat integratsiooni, mis samamoodi nõuab korduvat testimist, et tagada edu sama tarkvara paljude iteratsioonide puhul.

 

Mida on vaja Exploratiivse testimise alustamiseks

 

Uurimusliku testimise eeldused on järgmised:

 

1. Selged testimise eesmärgid

 

Kuigi uurimuslik testimine on vabaduse sünonüüm ja mõnikord segi aetud ad hoc testimisega, järgib see siiski konkreetseid reegleid või määratletavaid eesmärke. Ainus viis, kuidas kvaliteedi tagamise meeskond saab edukalt liikuda peaaegu igas testimisstruktuuris, on teada iga testi oodatavat tulemust, eriti kuna testijad kavandavad need kontrollid tavaliselt ise.

 

2. Loovad, intuitiivsed testijad

 

Uurimuslik testimine keskendub uute ja loominguliste testide kavandamisele, mis võivad avastada rakendusega seotud probleeme. Isegi piiratud kogemustega testijad saavad seda teha, eeldusel, et nad mõistavad tarkvara.

Oluline on, et testijad mõistaksid rakendust ja selle toimimist; see võimaldab neil intuitiivselt välja töötada mitmeid kasulikke kontrolle.

 

3. Ühtsed dokumendid

 

Igasugusel testimisel peab olema tugev dokumentatsioon, et iga meeskonnaliige järgiks eeldatavat testimise ajakava ja et keegi ei kordaks kogemata mingit kontrolli.

See on oluline aspekt suhtlemisel kogu ühe osakonna ja mitme osakonna vahel, näiteks arendajad, kes vajavad korrapäraseid testimisuuendusi, et välja selgitada, kuidas probleeme parandada.

 

4. Kliendi vaatenurk

 

Uurimuslik testimine hõlmab mitmeid strateegiaid ja stsenaariume, sealhulgas neid, mis kajastavad seda, kuidas kasutajad rakendusega praktiliselt tegelevad. On väga oluline, et testimismeeskonnad võtaksid seda kontrollide käigus arvesse, isegi kui nad ei tee stsenaariumipõhiseid teste.

Selle omaksvõtmine võimaldab testijal läheneda testimisele erinevatest vaatenurkadest, parandades nende kontrollide kvaliteeti.

 

5. Automatiseeritud testimise tarkvara

 

Kuna meeskond saab tõenäoliselt automatiseerida märkimisväärse osa kavandatavatest testidest, on oluline, et nad suudaksid hankida kvaliteetset automatiseeritud testimistarkvara enne täitmisetappi.

Arendajad ja testimismeeskond saavad kasutada oma arusaamist projektist, et määrata kindlaks kolmanda osapoole rakendus, mis vastaks nende enda nõuetele.

 

Uurimusliku testimise protsess

 

Uurimusliku testimise konkreetsed sammud on järgmised:

 

1. Klassifitseerige katsemenetlus

 

Uuriva testimise esimene samm on see, et asjaomased meeskonnaliikmed mõistaksid, kuidas nad võiksid neid kontrolle teha, näiteks liigitades tavalised vead ja viies läbi algpõhjuste analüüsi.

See on koht, kus testijad töötavad ise välja oma ideid testide jaoks; sõltuvalt nende täpsest metoodikast võivad nad ka koostada testimisjuhendi.

Selles määratakse kindlaks selle istungi või tööpäeva ulatus ja katsed.

 

2. Alustage teste

Kuigi täpsed parameetrid (näiteks iga testi või üldise sessiooni aeg) sõltuvad meeskonna enda eelistustest ja projekti nõuetest, järgivad kõik uurimuslikud testid teatavaid ühiseid põhimõtteid.

Pärast asjakohaste kontrollide klassifitseerimist alustavad kvaliteedi tagamise töötajad testide läbiviimist ja tulemuste registreerimist.

Kui kontrollid vajavad automatiseerimist, võivad testijad selle seadistada nii, et see töötaks öösel või jälgiksid seda ise päeva jooksul.

 

3. Tulemuste läbivaatamine

 

Järgmine etapp on tulemuste läbivaatamine, võrreldes neid vaikimisi ja oodatavate tulemustega. Kui nende testide tulemuseks on mis tahes märkimisväärsed ootamatud kõrvalekalded, võivad testijad kontrollimist korrata või hakata kohe välja mõtlema, kuidas seda parandada. Nende soovitused arendajatele võivad olla olulised õige lähenemisviisi kindlaksmääramisel – ja nende veateated võivad seda üksikasjalikult kirjeldada.

 

4. Katse kokkuvõte

 

Pärast testitulemuste oksjonit alustab kvaliteedi tagamise meeskond testimisprotseduuri enda läbivaatamist ja kasutab seda selleks, et teha kindlaks, kas nende uurimuslik testimisviis oli sobiv.

Selles katse kokkuvõtvas aruandes võidakse isegi järeldada, et kontrollide käigus esinesid talitlusvead, mis nõuavad korduskatset. Kui arendajad on need probleemid kõrvaldanud, võib testimismeeskond rakendust uuesti kontrollida, et teha kindlaks, kas see õnnestus.

 

Parimad tavad uurivaks testimiseks

 

Kõige tõhusamad tavad uurivaks testimiseks on järgmised:

 

1. Testijate paaritamine

Paljude uurimusliku testimise vormide puhul on kasulik, kui testijad töötavad koos – see lihtsustab protsessi veelgi ja võimaldab ühe ja sama kontrolli puhul kasutada mitut vaatenurka.

Paartestimisega välditakse ka tunneli nägemise võimalust, mis soodustab loovamat testide kavandamist.

Kui mitu inimest töötab samade testidega, võib see suurendada üldist täpsust ning töökoormuse jagamine aitab ka kogu meeskonna jaoks testimist palju kiiremini teha.

 

2. Manuaalsete ja automatiseeritud testide segamine

 

Mõned ettevõtted võitlevad ikka veel automatiseerimise kasutuselevõtmisega, samas kui teised kasutavad seda liigselt, isegi kui käsitsi töötamise perspektiivid võiksid olla kasulikumad. Nende kontrollide tasakaalustamine võimaldab testimismeeskonnal katta rohkem aluseid ja tagada kvaliteedi kogu rakenduses, sealhulgas subjektiivsemate aspektide, näiteks tarkvara kasutajaliidese puhul.

Manuaalsete ja automatiseeritud testide läbiviimine koos on ainus viis tagada iga funktsiooni või funktsiooni täielik testimine.

 

3. Turu mõistmine

 

Oluline on, et testijad tunneksid testimise ajal nii sihtrühma kui ka konkurente; see aitab neil hinnata, kuidas inimesed tõenäoliselt reageerivad rakenduse praegusele funktsionaalsusele.

Teatud funktsioonid on väga nõutud ja testimismeeskond saab kasu, kui ta neid kontrollide käigus tähtsuse järjekorda seab. Kuigi nad peavad säilitama ka laia testimisulatuse. See võib määrata kindlaks testimise suuna koos tarkvara võimaliku eduga turuletuleku ajal.

 

4. Kasutage testimiseks reaalseid seadmeid

 

Tarkvara testimisrühmad võivad kasutada emulaatoreid, et hõlbustada nende uurimuslikke kontrolle; see võib olla kasulik, kuid harva peegeldab praktilist kasutajakeskkonda.

Reaalsed seadmed aitavad parandada uurimusliku testimise usaldusväärsust, kuna nad loovad realistlikuma kogemuse – emulaatorid on ebatäiuslikud ja neis võib esineda vigu, mida klientidel ei ole.

Emulatsioon on kiire viis mitme platvormi testimiseks, kuid see ei asenda tegelikke seadmeid.

 

Uurimusliku testi väljundite tüübid

 

Pärast kontrolli läbiviimist võivad testijad saada mitmesuguseid tulemusi, sealhulgas:

 

1. Katsetulemused

 

Tulemused ise võtavad mitmeid vorme, kuna uurimuslik testimine võib hõlmata sadu unikaalseid teste. Need tulemused moodustavad suurema osa testimisrutiini väljunditest, pakkudes olulist teavet rakenduse seisundi ja selle võime kohta rahuldada kasutaja vajadusi.

Testijad võiksid nende tulemuste saamisel süsteemi uuesti kontrollida ja teavet valideerida, et määrata kindlaks oma järgmine tegevus.

 

2. Katseprotokollid

 

Rakenduse enda logid paljastavad sageli testimise käigus ilmnenud vead ja probleemid; need annavad tugevaimaid vihjeid selle kohta, miks tarkvara testimisel ebaõnnestus. Vanemad testijad on eriti osavad rakenduse logide tõlgendamisel, mis võimaldab neil tuvastada keeruliste probleemide põhjuseid.

Mida rohkem teavet testijad nendest logidest saavad, seda rohkem saavad nad arendajaid aidata.

 

3. Katsearuanded

 

Sõltuvalt meeskonna automatiseerimismenetlusest võivad nende väljundid automaatselt genereerida veateate. Selles esitatakse kõik rakenduses esinevad vead, sealhulgas nende põhjused ja muud arendajatele olulised andmed.

Testijad võivad seda kasutada selleks, et avaldada oma arvamust selle kohta, kas tarkvara on valmis käivitamiseks, mida tavaliselt nimetatakse “go/no-go” otsuseks.

 

Näiteid uurimuslikust testimisest

 

Siin on kolm näidet, kuidas ettevõte võiks kasutada uurimuslikku testimist:

 

1. Mobiilne mängurakendus

 

Kui mängufirma soovib välja anda mobiilirakenduse suurema uuenduse, saavad uurivad testijad kontrollida nii vanu kui ka uusi funktsioone, et teha kindlaks, kas rakendus on ikka veel stabiilne. See võib suurendada tarkvara keerukust nii palju, et see ei tööta teatud seadmetel.

Testijad töötavad selle mõju minimeerimiseks, tagades samal ajal kasutatavuse võimalikult paljudel platvormidel.

Uurivad testijad kontrollivad mängu ja selle paljusid keerulisi stsenaariume põhjalikult, et tagada iga funktsiooni toimimine nii, nagu see on ette nähtud; see protsess nõuab tavaliselt käsitsi testijat.

 

2. Teenusepakkuja veebisait

 

Veebilehed läbivad ka uurimusliku testimise, et veenduda, et need toimivad nii kasutajate kui ka töötajate jaoks, nii et testijad võivad alustada veebilehele sisselogimisega. Sellega testitakse saidi võimet luua uusi kasutajaprofiile ja kontrollitakse, et kasutajad ei saaks juurdepääsu haldusfunktsioonidele.

Seejärel lähevad testijad edasi teenuse kontrollimiseks, mis võib toimuda kohtumise broneerimise või tellimuse tegemise vormis. Seejärel viivad nad ostu lõpule, et veenduda, et kassasüsteem toimib nõuetekohaselt, ning seejärel vaatavad tellimuse e-posti kinnitust ja konto ajalugu.

 

3. Haigla juhtimissüsteem

 

Igasugused rakendused ja süsteemid võivad kasu saada uurivast testimisest. Haigla haldussüsteemide puhul võib testija uurida, kuidas maksemoodul suhtleb teiste funktsioonidega.

Kõrgemad integratsioonitasemed võivad ilma range testimiseta põhjustada olulisi vigu. Need kontrollid võivad hõlmata arhitektuurset skeemi, milles jälgitakse süsteemi paljusid komponente ja nende omavahelisi seoseid.

Testijad vaatavad ka süsteemi eelmiste iteratsioonide probleeme ja testivad konkreetselt, kas need on endiselt olemas, ning võtavad kiireid meetmeid, kui nad avastavad vigu.

 

Uuriva testimise käigus avastatud vigade ja vigade tüübid

 

Vigade hulka, mida testijad võivad uurimusliku testimise käigus avastada, kuuluvad:

 

1. Ühildumatud omadused

Teatud funktsioonid rakenduses ei pruugi üksteisega ootuspäraselt suhelda, mis võib viia selleni, et kasutajad ei saa ostu sooritada või rakendust kasutada. Testijad kontrollivad funktsioone eraldi ja koos, et veenduda, et kõik sobib kokku.

 

2. Ebakorrektne kasutajaliidese disain

Rakenduse kasutajaliides määrab täpselt, kuidas keegi tarkvara kasutab. Näiteks kui olulised funktsioonid ei ole klientidele nähtavad, ei pruugi nad nende olemasolu märgata, mis piirab nende rakendusest saadavat naudingut.

Manuaalne kasutajaliidese testimine tuvastab ja parandab kasutajasõbraliku disaini.

 

3. Autentimisvead

Paljud rakendused ja veebisaidid võimaldavad luua teatud õigustega kasutaja profiili. Väga oluline on, et testijad kontrolliksid, kas tavakasutajad saavad kuidagi juurdepääsu tundlikele andmetele või isegi haldusfunktsioonidele, kui nad kasutavad tarkvara ootamatul viisil.

 

4. Surnud kood

Testijad võivad leida rakendusest endiselt vananenud koodi, mis võib olla isegi märkimisväärsete jõudlusprobleemide põhjuseks. Surnud kood teeb rakenduse sisemise töö liiga keeruliseks ja võib põhjustada välditavaid vigu. Selle tuvastamine ja optimeerimine muudab tarkvara töötajate ja kasutajate jaoks tundlikumaks.

 

Üldised uuriva testimise mõõdikud

 

Tavalised mõõdikud, millega testijad võivad oma uurimusliku testimise käigus kokku puutuda, on järgmised:

 

1. Tulemuslikkuse testimise näitajad

Uurimuslikud testid, mis vaatlevad rakenduse üldist jõudlust, võivad anda tulemuseks mitmesuguseid näitajaid. See võib hõlmata minimaalset, keskmist ja maksimaalset reageerimisaega koos tõrke- ja edukuse määradega, et määrata stabiilsus.

 

2. Testimise ulatuse näitajad

Testide katvus on oluline, sest see määrab, kui paljusid rakenduse kategooriaid ja tahke hõlmavad testid. Nõuete katvuse protsendi abil hinnatakse näiteks, kas on funktsioone, mis vajavad täiendavaid testimisringe.

 

3. Katse üldine tõhusus

Edukate ja ebaõnnestunud kontrollide arvu jälgimine aitab testijatel välja selgitada rakenduse üldist tervislikku seisundit. Lisaks sellele saab meeskond jälgida, kui paljud avastatud vead on kriitilised.

 

4. Defektide jaotumine

Samamoodi näitab defektide jaotuse kontrollimine, millised komponendid või funktsioonid on kõige vigaohtlikumad. Need võivad olla rakenduse osad, mis sageli suhtlevad teistega, mistõttu on oluline neid teste tähtsustada.

 

5. Regressioonimeetodid

Uurimuslik regressioonitestimine võimaldab testijatel näha, kuidas sama tarkvara erinevad iteratsioonid käituvad ja kuidas see võib mõjutada jõudlust.

Defektide süstimise määr ja defektid ehitamise kohta on konkreetsed mõõdikud, mis aitavad seda teha.

 

Mõningate segaduste selgitamine: Uurimuslik testimine vs. ad hoc testid

 

Kuna keskendutakse tugevalt testija vabadusele, ajavad mõned inimesed sageli segi uurimusliku testimise ja ad hoc testimise. Neil kahel formaadil on mitmeid olulisi sarnasusi, kuid lõppkokkuvõttes teenivad nad erinevaid eesmärke.

 

1. Mis on ad hoc testimine?

 

Ad hoc testimine on täiesti struktureerimata lähenemisviis, mis rikub tavapärase testimise disaini, et leida defekte, mida muidu ei pruugi ilmneda.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

See testimise vorm ei hõlma tavaliselt dokumentatsiooni, mistõttu on keeruline probleeme reprodutseerida, kui testija ei ole põhjuses täiesti kindel.

Üheks näiteks on nn ahvidest testimine, mis hõlmab juhuslikke sisendeid ja mille eesmärk on lõpuks süsteemi rikkumine.

Sarnaselt uurimusliku testimisega töötavad paljud ad hoc testijad nende kontrollide läbiviimiseks paaridena; see parandab nende usaldusväärsust. Ad hoc lähenemisviis võib olla kasulik pärast formaalse testimise läbiviimist, et tagada, et kontrollid võtavad arvesse kõiki võimalusi; see aitab ka siis, kui edasise testimise läbiviimiseks on vähe aega. Õige teostuse korral on ad hoc testid väga kasulikud.

 

2. Uurimusliku testimise ja ad hoc testide erinevused

 

Ad hoc testimine ei hõlma tavaliselt mingit ametlikku dokumentatsiooni. See on teravaks kontrastiks uurimuslikele testidele, mille puhul kontrollide improviseeritud olemus muudab arvestuse pidamise veelgi olulisemaks.

Uurimuslikud testid kasutavad rohkem erinevaid formaalseid testimismeetodeid, samas kui ad hoc kontrollid väldivad seda, vaadates väljapoole tavapärast testimise etiketti. See aitab neil avastada vigu, mida testijad muidu kunagi ei leiaks.

Uurimuslikul testimisel on selged eesmärgid ja piirid, kuid see võimaldab meeskonnaliikmetel siiski kasutada loomingulisi teste. Ad-hoc testidel ei ole tavaliselt kindlaid lõppeesmärke peale selle, et tarkvara on võimalikult palju võimalik edasi lükata. Ad hoc testimine eeldab sageli ka tarkvara ja selle funktsioonide eelnevat tundmist, samas kui uuriv testimine hõlmab rakenduse õppimist tavapärastesse protsessidesse.

 

Uurimuslik testimine agiilses testimises

 

Kergem metoodika edendab tugevalt pidevat täiustamist. See tähendab, et see sobib hästi kokku uurivate testidega, eriti kui kasvab nõudlus sagedaste tarkvarauuenduste järele.

Uuriva testimise kombineerimine agiilse testimisega võib anda meeskonnaliikmetele tugevama testimisstruktuuri, hõlmates nende ajakavasse väljalaske planeerimise ja sprindi täitmise. Ettevõte, mis kasutab agiilset tehnikat, võib seda veelgi paremini ära kasutada, ühendades selle uuriva testimisega; see on suurepärane võimalus testida rakenduse iga üksikut tarkvarakomponenti. Kuna testijad võivad teha uurimuslikke kontrolle ilma skriptideta, säästab see nii kvaliteedi tagamise töötajatele kui ka arendajatele palju väärtuslikku aega.

Automatiseeritud testimine suurendab seda kokkuhoidu, aidates ettevõtetel kontrollida oma rakenduse viimaseid iteratsioone palju kiiremini, potentsiaalselt üleöö. Uurimuslikud kontrollid annavad kiireid ja kasutatavaid tulemusi ning arendajad saavad vajalikke muudatusi teha järgmise sprindi käigus.

Manuaalne testimine pakub endiselt palju eeliseid koos agiilsete lahendustega, kuna see võimaldab tuvastada probleeme, mida automatiseeritud lähenemisviis ei pruugi tuvastada. Teised testimisviisid võtavad lihtsalt liiga kaua aega või pakuvad liiga vähe kasu, et mugavalt sobida Kibeda raamistiku sisse. Uurimusliku kontrolliga saab tagada, et iga agiilne etapp parandab tarkvara ja selle funktsionaalsust märkimisväärselt.

 

7 viga ja lõksu, mida vältida uurivate testide rakendamisel

 

Siin on seitse tavalist viga, mida ettevõtted sageli teevad uurivate testide rakendamisel, ning kuidas ettevõtted saavad neid probleeme vältida:

 

1. Tasakaalustamata manuaalne/automaatne testimine

 

Selle väljaselgitamine, millised testid toimivad kõige paremini käsitsi ja milliseid tuleks automatiseerida, võtab aega, kuid võimaldab meeskondadel testida palju tõhusamalt.

Liiga paljude testide automatiseerimise tulemuseks võib olla rakendus, mis on inimtesteri puudumise tõttu kohmakas või ei ole kasutajasõbralik.

 

2. Ajalised piirangud

Uurimuslik testimine on kiirem kui paljud teised testimisviisid, kuid projekti tähtaegade reaalsus tähendab, et meeskonnal on ikkagi piiratud võimalused testide läbiviimiseks.

Ajajuhtimine ja pühendumine testide katvusele aitavad testimismeeskonnal teha võimalikult palju kontrolle paljudes laiades kategooriates.

 

3. Paindumatud testijad

Ehkki uurivad testijad ei nõua tarkvara eelteadmisi ega eriti sügavaid oskusi, tuginevad kontrollid siiski üksikute meeskonnaliikmete võimetele ja initsiatiivile.

Projektijuht peab neid testimisülesandeid targalt jaotama, reserveerides need vajadusel meeskonna loomingulisematele ja intuitiivsematele liikmetele.

 

4. Raskused vigade kordamisel

Alati ei ole ilmne, millised tegevused aitavad kaasa testi ebaõnnestumisele; samuti võib olla ebaselge, millised rakenduse aspektid on süüdi.

Seetõttu hõlmavad paljud uurimuslikud lähenemisviisid testijate paaride moodustamist või isegi testija ekraani otsest salvestamist, et saada selgem arusaam probleemidest ja nende täpsetest põhjustest.

 

5. Ebaselge dokumentatsioon

Ükskõik, kas tegemist on automatiseeritud veateatega või käsitsi koostatud protokolliga lõpetatud testide kohta, hea dokumentatsioon lihtsustab arendajate jaoks testimismeeskonna leidude põhjal tegutsemist.

Testimismeeskond peab pühenduma sellele, et tagada kvaliteetne arvestuse pidamine kogu iga üksiku kontrolli jooksul, pakkudes iga aruande kohta võimalikult palju üksikasju.

 

6. Kõrged ootused

Uurimuslik testimine on kasulik peaaegu igas tarkvaraprojektis, kuid selle ulatus on siiski piiratud – see toimib kõige paremini koos teiste testimismeetoditega.

Testimismeeskonnad peavad neid kontrolle läbi viima koos tavaliste skriptiga testidega; see on ainus viis, kuidas kvaliteedi tagamise osakonnad saavad tagada järjepidevalt laiaulatusliku testide katvuse.

 

7. Ebaõige automatiseerimine

Oluline on, et testimismeeskond ja projektijuht mõistaksid, milline automatiseerimistarkvara pakub konkreetse rakenduse jaoks kõige rohkem kasu.

Erinevad kolmanda osapoole võimalused pakuvad oma unikaalseid omadusi, nii et meeskonna valik võib määrata nende robotiseeritud protsesside automatiseerimise edu; nad peavad kaaluma kõiki võimalusi, mis on nende ees.

 

5 parimat tasuta uuriva testimise tööriista

 

Viis parimat uuriva testimise vahendit, mida kvaliteedi tagamise meeskonnad saavad tasuta kasutada, on järgmised:

 

1. ZAPTEST FREE Edition

ZAPTEST Free pakub esmaklassilist funktsionaalsust täiesti tasuta, võimaldades igal organisatsioonil saada kasu lihtsast uurimusliku testimise rakendamisest.

See rakendus suudab automatiseerida mis tahes platvormi, seadet ja brauserit uuendusliku 1SCRIPT-tehnoloogia abil.

ZAPTEST pakub ka paindlikku RPA automatiseerimist, mis võimaldab seda kombineerida manuaalse lähenemisviisiga.

 

2. XRAY uurimuslik rakendus

XEA võimaldab kasutajatel luua põhjalikke testimisjuhendeid ja hõlpsasti registreerida oma edusamme, lihtsustades sellega uuriva testimise veateatise etappi.

See valik keskendub täielikult kasutaja vaatenurgale ja pakub tsentraliseeritud tulemuse keskuse, mille kaudu saab teisi testijaid ajakohastada.

XRAY-l ei ole praegu siiski integreeritud automatiseerimist, mis võib piirata selle pikaajalist tõhusust.

 

3. Bug Magnet

Bug Magnet on brauseripikendus, mis pakub põhjalikku uurimuslikku testimist ja võimaldab testijatel kontrollida servajuhtumeid ja muid problemaatilisi väärtusi.

See laiendus pakub ka lihtsat fiktiivse teksti, e-posti aadresside ja mitmete tähemärkide integreerimist.

See on siiski saadaval ainult Firefoxi ja Chrome’il põhinevate brauserite jaoks, mistõttu on see vähem mitmekülgne valik kui konkurentide puhul.

 

4. Azure’i testplaanid

Azure Test Plans on Microsofti Azure’i platvormi oluline osa ja võimaldab testijatel koguda rikkalikke andmeid paljude stsenaariumide kohta.

See võimalus sobib nii töölaua- kui ka veebipõhiste rakenduste jaoks, pakkudes samas ka läbivat jälgitavust, mis võimaldab tarkvara arenduse kohta selgeid andmeid.

Selline lähenemisviis nõuab aga sageli sügavamat integreerimist Azure’iga, mistõttu tuleb see paindlikkuse arvelt.

 

5. Testiny

Testiny on spetsialiseerunud manuaalsele testimisele, pakkudes nutikat redaktorit, mis võimaldab testijatel kavandada kontrolle, kasutades maksimaalset paindlikkust võimaldavat puude struktuuri.

Iga muudatus käivituses või testjuhtumis jääb rakenduse ajalukku, et tagada täielik vastutus ja jälgitavus.

See on siiski tasuta ainult väikestele meeskondadele ja avatud lähtekoodiga projektidele.

 

Millal peaksite kasutama Enterprise vs. Free Exploratory Test tööriistu?

 

Kuigi uurimuslik testimine on väärt investeering ja lisatasu rakendused pakuvad tavaliselt suuremat funktsionaalsust, on palju tasuta võimalusi, mis pakuvad rohkem kui piisavalt funktsioone.

Uurimuslik testimine võib olla märkimisväärne tegevuskulu, kui te võtate kohustuse kasutada kõrgema hinnaklassi mudelit, kuid mitte igal tarkvaraarendusettevõttel või -meeskonnal ei ole selleks raha. Parima kolmanda osapoole tarkvara valik sõltub sageli ettevõtte konkreetsetest nõuetest.

Tasuline lahendus võib olla ainus võimalus selle projekti vajaduste rahuldamiseks; meeskond peab uurima erinevaid valikuid, enne kui nad rakendusele pühenduvad.

Väiksemate meeskondadega ettevõtted võivad kõige rohkem kasu saada tasuta testimisvahenditest, kuna paljud võimalused on piiratud arvu kasutajate jaoks tasuta.

Teise võimalusena võivad nad valida võimalusi ilma selle piiranguta ja neid, mis on võimelised kohanduma testimisrühma skaalaga. See võib muuta veelgi elujõulisemaks uurimusliku testimise paaride moodustamise, et tagada täpsemad tulemused – meeskond vajab loomulikult vähem kasutaja profiile.

Paljud teenused pakuvad oma tarkvara tasuta prooviperioodi, et organisatsioonid saaksid näha, kas see vastab nende vajadustele; tavaliselt kestab see vaid paar nädalat.

 

Uurimusliku testimise kontrollnimekiri, näpunäited ja nipid

 

On palju täiendavaid nõuandeid, mida testijad saavad oma uurimusliku kontrolli alustamisel arvesse võtta, sealhulgas:

 

1. Jagage funktsioonid ja moodulid asjakohaselt

Vääritimõistmise vältimiseks peaksid testimismeeskonnad koostama selge nimekirja igast funktsioonist ja kontrollidest, mida nad kavatsevad läbi viia. See tähendab ka selle tagamist, et testid on piisavalt laiali jaotatud tarkvara funktsioonide vahel.

Parimate tulemuste saavutamiseks on ülimalt oluline, et testimismeeskond lepiks kokku, millised liikmed iga testi läbi viivad, lähtudes nende vastavatest oskustest ja tugevustest.

 

2. Töö tarkvara mõistmiseks

Õppimise etapp on uurimusliku testimise kriitiline osa. See tähendab, et testijad peavad aktiivselt tegelema tarkvaraga ja enne testide väljatöötamist välja selgitama, kuidas see töötab.

Selle tarkvara sisemise toimimise tundmaõppimine võib olla koostööl põhinev protsess, mis tagab parema arusaamise kogu meeskonnas. See võimaldab testijatel arendada paremaid kontrolle ja testjuhtumeid.

 

3. Probleemsete valdkondade väljaselgitamine

Igal rakendusel on funktsioone või komponente, mis lõikuvad teistega. Mida keerulisemaks muutub tarkvara, seda tõenäolisemalt tekivad vead; see võib nõuda rohkem testimist. Meeskond peab aktiivselt välja selgitama, millised komponendid vajavad täiendavat abi.

Nad võivad kasutada konkreetseid testimisreisi, mis peegeldavad kõige paremini rakenduse vajadusi ja meeskonna üldisi testimise prioriteete.

 

4. Alustage põhiliste kasutusstsenaariumidega

Kvaliteedi tagamise meeskonnad võivad vajaduse korral teha uurimuslikke teste mis tahes järjekorras, kuid kasulikum võib olla alustada lihtsamatest kontrollidest enne keerukamatesse funktsioonidesse süvenemist.

See võimaldab keerukuse osas sujuvalt edasi liikuda, andes testijatele võimaluse tarkvarast aru saada. Samuti aitab see testida, kas põhifunktsioonid töötavad ootuspäraselt.

 

5. Paaristage testijad kokku

Paaris uuriv testimine nii lihtsustab kui ka kinnitab kvaliteedi tagamise etappi, võimaldades testijatel töötada absoluutse usaldusega iga kontrolli puhul. Koostöö muudab igasuguse testimise tõhusamaks, sest see parandab iga meeskonnaliikme tundmist tarkvaraga.

Samuti saavad nad tänu oma individuaalsetele vaatenurkadele esitada palju põhjalikumaid veateateid, andes arendajatele rohkem teavet, millega töötada.

 

6. Viige läbi mitu testi

Meeskonna võime taotlust uuesti testida sõltub nende ees olevast ajakavast ja tähtaegadest. Kuid kui see on võimalik, võib eriti probleemsete komponentide topeltkontroll olla kasulik.

Lisaks sellele saab testide kordamisega kontrollida, et varem tuvastatud probleem on nüüdseks kõrvaldatud ja ei mõjuta tarkvara enam. See hoolsus on mõnikord vajalik, et tagada testimise edukus.

 

Kokkuvõte

 

Uurimuslikul testimisel on palju pakkuda igasugustele tarkvaraarendusettevõtetele, sest see täiendab skriptidega testimist ja paljusid muid kontrolle.

Uuriva testimise abil võivad kvaliteedi tagamise meeskonnad testida rakendusi kõrgemate standardite järgi, parandades lõpliku tarkvara kvaliteeti ja aidates arendajatel parandada võimalikke vigu, kui need on olemas.

Manuaalse ja automatiseeritud uuriva testimise kombinatsioon võib tagada kõige suurema kasu, võimaldades võrdset tähelepanu kõikidele tarkvara komponentidele.

Kui teie ettevõttele on vaja testimise automatiseerimise tarkvara, pakub ZAPTEST FREE Edition palju laiemat ja paindlikumat funktsionaalsust kui teised premium-rakendused, mis võimaldab testijatel neid kontrolle hõlpsasti optimeerida.

 

KKK ja ressursid

 

1. Parimad kursused Exploratiivse testimise automatiseerimise kohta

 

Nii uued kui ka kogenud uurivad testijad võiksid saada kasu kursustest, et parandada oma oskusi. See hõlmab ka selle väljaselgitamist, kuidas läheneda uuele tarkvarale.

Kasulikud kursused, mis võivad selles aidata, on järgmised:

– Udemy’s Complete 2023 Software Testing Bootcamp; see õpetab laiaulatuslikku tarkvara testimist 28 tunni jooksul.

– Coveros’s Exploratory Testing; see keskendub sellele, kuidas töötada välja põhimäärused ja rakendada APIde suhtes uurimuslikke teste.

– Polteqi kahepäevane uurimusliku testimise koolitus; siin vaadeldakse, kuidas uurimuslikud testid toimivad agiilses kontekstis.

– LinkedIn’s Exploratory Testing; see näitab, kuidas kaasaegne tarkvara testimine on omaks võtnud uurimuslikud kontrollid.

– Coursera’s Introduction to Software Testing; see aitab esmakordsetel testijatel mõista tüüpilisi protseduure.

 

2. Millised on 5 kõige olulisemat intervjuuküsimust Exploratiivse testimise kohta?

 

Uurimusliku testimise ametikoha intervjuudel on oluline, et värbavad juhid esitaksid häid küsimusi, et hinnata täpselt kandidaadi oskusi ja kogemusi.

Viis kõige olulisemat küsimust on järgmised:

– Millised on peamised erinevused skriptide ja uuriva testimise vahel, sealhulgas nende sobivus?

– Milliste väljakutsetega olete uuriva testijana kokku puutunud ja kuidas olete need ületanud?

– Tooge näiteid uurimuslikest testidest, mis saaksid robotiseeritud protsesside automatiseerimisest kõige rohkem kasu.

– Mis on teie arvates kõige olulisem oskus (tehniline või muu) uuriva testija jaoks?

– Millist nõu annaksite testijale, kes püüab aru saada tarkvarast ja selle kontrollimisest?

 

3. Parimad YouTube’i õpetused uurimuslikust testimisest

 

Videoteemalistel veebisaitidel, näiteks YouTube’is, on saadaval palju tasuta õpetusi, mis aitavad tulevastel testijatel mõista selle põhiprintsiipe. Mõned neist on osa sarjast, teised on ühe video põhjalikumaid süvitsi teemasse sukeldumisi.

Neid õpetusi pakkuvad kanalid on järgmised:

– Testimisakadeemia pakub sadu videoid, mis hõlmavad kõiki tarkvara testimise aspekte.

– Software Testing Mentor, mis pakub samuti ulatuslikke videoid tarkvara testimise põhialuste kohta.

– QAFox, mis pakub ka reaalseid näiteid ja reaalseid projekte, mis täiendavad kõiki nende videoid.

– SDET-QA Automation Techie, kus on mitu põhjalikku videot erinevate testimisviiside kohta.

– GlitchITSystem, mis uurib erinevaid veebisaite uuriva testimise abil, et püüda avastada tõrkeid.

 

4. Kuidas säilitada uurimuslikke teste?

 

Hästi läbiviidud uurimuslikud testid sisaldavad tugevat dokumentatsiooni, millele arendajad ja tulevased testijad viitavad tarkvara uuemate iteratsioonide puhul.

Kui rakenduses tehakse olulisi uuendusi, on vaja selle põhifunktsioone uuesti testida, et tagada, et need täiendused ei avaldaks negatiivset mõju juba olemasolevatele funktsioonidele.

See on ainus viis tagada, et uurimuslikud katsed püsivad pikaajaliselt edukad. Samuti aitab see arvestada tulevikuplaane, näiteks esialgseid funktsioone, esialgse rakenduse ja selle kontrollide kavandamisel.

QA töötajad peavad neid teste piisavalt planeerima ja välja selgitama, millal rakendust uuesti kontrollida; automatiseeritud testimisvahendid võivad meeskonda selles aidata.

 

5. Kas uurimuslik testimine on musta kasti testimine?

Uurimuslik testimine on väga sarnane musta kasti testimisega, mis tähendab rakenduse kontrollimist, vaadates selle funktsioone, ilma koodi otseselt kontrollimata.

Uuriva testimise alla kuuluvate kontrollide tüübid ei ole selgelt piiratud; see lähenemisviis võib hõlmata tarkvara kõiki aspekte, sealhulgas koodi.

Üks peamisi sarnasusi nende kahe testimisviisi vahel on testija vähene eelteadlikkus. Musta kasti testijad ei ole tavaliselt enne testimist tarkvaraga tuttavad ja uurivad testijad õpivad esialgse uurimise käigus, kuidas tarkvara töötab.

Kuigi uuriv testimine üldiselt ei liigitu alati musta kasti testimise alla, on tõsi, et nende kahe lähenemisviisi vahel on märkimisväärne ristumine.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post

Virtual Expert

ZAPTEST

ZAPTEST Logo