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.
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.
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.
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.