Mis on uurimuslik testimine?

⚡ Nutikas kokkuvõte

Uuriv testimine on testimismeetod, kus testijad kavandavad ja käivitavad testjuhtumeid samaaegselt ilma neid eelnevalt skriptimata, rõhutades uurimist, õppimist ja testija intuitsiooni, et avastada defekte, mida skriptitud testimine sageli kahe silma vahele jätab, ning seda kasutatakse laialdaselt agiilses arenduses.

  • 🔍 Uuriva testimise definitsioon: Testijad kavandavad ja käivitavad teste lennult, selle asemel, et neid eelnevalt skriptida.
  • 🆚 vs skriptitud testimine: Skriptitud testimine kinnitab nõudeid; uurimuslik testimine uurib ja kohandub testimise ajal.
  • 🧠 Mõtlemistegevus: See rõhutab õppimist, loovust ja testija intuitsiooni peidetud vigade leidmiseks.
  • 🗂️ SBTM-protsess: Vigade taksonoomia, testi juhend, ajakava, tulemuste ülevaatamine ja arutelu.
  • Parim: Puuduvad nõuded, varased iteratsioonid, kriitilised rakendused ja kogenud testijad.
  • 🇧🇷 Kompromiss: Leiab rohkem vigu ja ergutab loovust, aga sõltub suuresti testija oskustest.

Mis on uurimuslik testimine

Mis on uurimuslik testimine?

Uurimuslik testimine on tarkvara testimise tüüp, kus testjuhtumeid ei koostata eelnevalt, vaid testijad kontrollivad süsteemi käigu pealt. Nad võivad enne testi sooritamist üles märkida ideid selle kohta, mida testida. Uurimusliku testimise fookus on rohkem testimisel kui “mõtleval” tegevusel.

Uurimuslikku testimist kasutatakse laialdaselt agiilsetes mudelites ja see hõlmab avastamist, uurimist ja õppimist. See rõhutab individuaalse testija isiklikku vabadust ja vastutust.

Miks uurimuslik testimine?

Skriptitud testimise korral kavandate esmalt testjuhtumid ja seejärel jätkate testi täitmist. Vastupidi, uurimuslik testimine on samaaegne testi kavandamise ja testimise protsess, mida tehakse samal ajal.

Skriptitud testide täitmine on tavaliselt mõtlemisvaba tegevus, kus testijad täidavad testi samme ja võrdlevad tegelikke tulemusi oodatavate tulemustega. Sellist testide täitmist saab automatiseerida, kuna see ei nõua palju kognitiivseid oskusi.

Uurimuslik testimine

Kuigi tarkvara testimise praegune suundumus on peale suruda automaatika, uurimuslik testimine on uus mõtteviis. Automatiseerimisel on omad piirid

Uurimuslik testimine

Erinevused skriptitud ja uuriva testimise vahel

Skriptitud testimine Uurimuslik testimine
Suunatud nõuetest Juhitud nõuetest ja testimise ajal uurimisest
Katsejuhtumite kindlaksmääramine aegsasti Katsejuhtumite määramine testimise käigus
Nõuetega testimise kinnitus Süsteemi või rakenduse uurimine
Rõhutab ennustamist ja otsuste tegemist Rõhutab kohanemisvõimet ja õppimisvõimet
Hõlmab kinnitatud testimist Hõlmab uurimist
See puudutab testide kontrollimist See puudutab testi disaini täiustamist
Nagu kõne pidamine – loed mustandist Nagu vestluse pidamine – see on spontaanne
Skript on kontrolli all Testija mõistus on kontrolli all

Uurimuslikud testimismeetodid

  • See ei ole juhuslik testimine, vaid see on ad hoc testimine, mille eesmärk on leida vigu
  • On struktureeritud ja range
  • On kognitiivselt (mõtlemine) struktureeritud võrreldes skriptitud testimise protseduurilise struktuuriga. See struktuur pärineb hartast, ajapoksist jne.
  • On hästi õpetatav ja juhitav
  • See ei ole tehnika, vaid lähenemine. Järgmised toimingud sõltuvad sellest, mida te praegu teete

Kuidas läbi viia uurimuslikke teste

Järgnevalt on toodud samm-sammult uurimusliku testimise teostamise protsess, mida nimetatakse ka seansipõhiseks testihalduseks (SBTM Cycle).

1. samm) Looge vigade taksonoomia (klassifikatsioon)

  • Liigitage varasemates projektides leitud levinumad vead
  • Analüüsige probleemide või rikete algpõhjuste analüüsi
  • Otsige üles riskid ja töötage välja ideid rakenduse testimiseks.

Samm 2) Testige hartat

  • Testiharta peaks soovitama
    1. mida testida
    2. kuidas seda testida saab
    3. Mida on vaja vaadata
  • Katseideed on uurimiskatsete lähtepunktiks
  • Testiharta aitab kindlaks teha, kuidas lõppkasutaja saaks süsteemi kasutada

Samm 3) Aeg Box

  • See meetod hõlmab testijate paari, kes töötavad koos vähemalt 90 minutit
  • Sellel 90-minutilisel seansil ei tohiks olla katkestusi
  • Timeboxi saab pikendada või lühendada 45 minuti võrra
  • See seanss julgustab testijaid reageerima süsteemi vastusele ja valmistuma õigeks tulemuseks

Step 4) Revvaata tulemusi

  • Defektide hindamine
  • Testimisest õppimine
  • Katvusalade analüüs

5. samm) Debriifing

  • Väljundtulemuste koostamine
  • Võrrelge tulemusi hartaga
  • Kontrollige, kas on vaja täiendavaid katseid

Parim tava uurimuslik testimine

Uurimistöö käigus tuleb teha järgmist:

  • Testimise missioon peaks olema väga selge
  • Tehke märkmeid selle kohta, mida on vaja testida, miks seda on vaja testida ja hinnata toote kvaliteeti
  • Tracking uurimusliku testimise käigus tekkinud küsimustest ja probleemidest
  • Tõhusaks testimiseks on parem testijad paari panna
  • Mida rohkem testime, seda tõenäolisemalt teostame vajalike stsenaariumide jaoks õigeid testjuhtumeid

Väga oluline on võtta kaasa dokument ja jälgida järgmist

  • Testi katvus – kas oleme teinud märkmeid testjuhtumite katvuse kohta ja parandanud tarkvara kvaliteeti
  • Riskid – millised riskid tuleb katta ja millised on kõik olulised?
  • Test Execution Log – testi täitmise salvestused
  • Probleemid/päringud – tehke küsimuse ja süsteemi probleemide kohta märkmeid

Nutikam uurimuslik testimine leiab lühema ajaga rohkem vigu.

Uurimusliku testimise plussid ja miinused

Eelised

  • See testimine on kasulik, kui nõutavad dokumendid pole saadaval või osaliselt saadaval
  • See hõlmab uurimisprotsessi, mis aitab leida rohkem vigu kui tavaline testimine.
  • Avastage vead, mida teised testimistehnikad tavaliselt ignoreerivad
  • Aitab avardada testijate kujutlusvõimet, teostades üha rohkem testjuhtumeid, mis lõpuks parandab ka tootlikkust
  • See testimine hõlmab rakenduse väikseima osa ja hõlmab kõiki nõudeid
  • See testimine hõlmab kõiki testimise tüüpe ning hõlmab erinevaid stsenaariume ja juhtumeid
  • Ergutab loovust ja intuitsiooni
  • Uute ideede genereerimine testimise käigus

Puudused

  • See testimine sõltub puhtalt testija oskustest
  • Piiratud testija domeeniteadmistega
  • Ei sobi pikaks täitmiseks

Uurimusliku testimise väljakutsed

Uurimuslikul testimisel on palju väljakutseid ja neid selgitatakse allpool.

  • Rakenduse või tarkvarasüsteemi kasutamise õppimine on väljakutse
  • Ebaõnnestumise kordamine on keeruline
  • Tööriistade kasutamise vajaduse kindlaksmääramine võib olla keeruline
  • Parimate testjuhtumite kindlaksmääramine võib olla keeruline
  • Testitulemuste aruandlus on väljakutse, kuna aruandes ei ole kavandatud skripte ega juhtumeid, mida tegeliku tulemuse või tulemusega võrrelda
  • Kõikide täitmise ajal toimunud sündmuste dokumenteerimist on raske salvestada
  • Uurimuslikul testimisel pole sooritamiseks kindlaid testjuhtumeid, mistõttu on raske otsustada, millal lõpetada.

Millal kasutada uurimuslikku testimist?

Uurimuslikku testimist saab laialdaselt kasutada, kui

  • Testimismeeskonnas on kogenud testijad
  • Vajalik on varajane iteratsioon
  • On kriitiline rakendus
  • Meeskonda astusid uued testijad

KKK

Uuriv testimine on struktureeritud, eesmärgipärane ning kasutab vigade leidmiseks põhimäärusi ja ajapiiranguid, samas kui ad hoc testimine on mitteametlik ja planeerimata. Uuriv testimine on dokumenteeritud ja korratav; ad hoc testimine tavaliselt mitte.

Uuriv testimine on peamiselt käsitsi tehtav, mõtlemisele orienteeritud tegevus, kuna see tugineb testija intuitsioonile ja reaalajas otsustele. Tööriistad saavad aga seansse salvestada, logisid jäädvustada ja dokumentatsiooni toetada testimise ajal.

SBTM on struktureeritud viis uurimusliku testimise läbiviimiseks ajaliselt piiratud ja ajakava alusel. Testijad dokumenteerivad oma leiud ja seejärel annavad ülevaate, et vaadata üle testimise ulatus, defektid ja kas on vaja rohkem testida.

Tehisintellekt toetab uurimuslikku testimist, pakkudes välja testiideid, genereerides testplaane, analüüsides logisid anomaaliate suhtes ja tuvastades testimata alasid. See täiendab testija intuitsiooni, selle asemel et asendada uurimuslikku mõtlemisprotsessi.

Ei. Uuriv testimine tugineb inimese loovusele, uudishimul ja valdkonna otsustusvõimele, mida tehisintellekt ei suuda täielikult korrata. Tehisintellekt aitab korduva analüüsi käsitlemisel, kuid oskuslikud testijad on avastamiseks endiselt hädavajalikud.

Võta see postitus kokku järgmiselt: