Kasu:
- Võimalus muuta nõuded ja aktsepteerimiskriteeriumid tehisintellekti toel kõikehõlmavateks testjuhtumiteks selliste tehnikatega nagu ekvivalentsusklassid, piirväärtuste analüüs ja otsustustabelid
- Võimalus koostada eraldi positiivseid, negatiivseid ja äärmuslike juhtumite stsenaariume ning täiendada tehisintellekti poolt vahele jäänud äärmuslikke juhtumeid tooteteabega
- Võimalus luua jälgitavust ning kõrvaldada katvuse lüngad ja tarbetu paisumine, sidudes testjuhtumid aktsepteerimiskriteeriumidega
Testija töö algab sageli sellest tühjast lehest: tal on nõue ("kasutaja peab saama oma parooli lähtestada") ja ta peab muutma selle üksiku lause kümneteks konkreetseteks kontrollideks, mis tõestavad, et tarkvara tegelikult töötab õigesti. Seda teisendust nimetatakse testdisainiks. Olulise tähtsusega on katsestsenaariumi – kõrgetasemelise eesmärgi, mis kirjeldab, mida testida, ja testjuhtumi – erinevuse tundmine – käivitatava üksuse vahel, mis kirjeldab seda stsenaariumi konkreetsete sammude, sisendi ja oodatava tulemusega. Tehisintellekt (AI) kiirendab täpselt seda tühja lehe hetke: muudab ühe nõude sekunditega kümneteks mustandstsenaariumideks. Kuid pidage meeles – AI kordab, milliseid olukordi võite mõelda; Valite oma tooteteadmistega, millised olukorrad on tõeliselt olulised.
Selles üksuses õpite samm-sammult, kuidas muuta nõue tehisintellekti toega kõikehõlmavaks, kuid segadusevabaks testikomplektiks.
Samm-sammult: nõudest katsekomplektini
1. samm – täpsustage nõuet. Enne tehisintellektile töötlemata nõude esitamist koguge kokku vastuvõtukriteeriumid (tingimused, millele töö peab vastama, et seda loetaks tehtuks). "Parool peab olema lähtestatav" ei piisa; Reeglid nagu "reset link kehtib 30 minutit", "sama parooli ei saa uuesti kasutada" on tõelise testi allikaks.
2. etapp – rakendage testimistehnikaid. Ärge öelge AI kohta lihtsalt "kirjuta skript"; Küsige klassikalisi testide kujundamise tehnikaid nime järgi:
- Ekvivalentsusklassid (ekvivalentsuse jagamine): sisendite jagamine rühmadesse, millelt eeldatakse sama käitumist. Näiteks vanusevälja jaoks on "kehtiv vahemik", "liiga väike" ja "liiga suur" klassid; Piisab ühe näite testimisest igast klassist.
- Piirväärtuste analüüs: läviväärtuste testimine, mis põhinevad asjaolul, et vigu esineb kõige rohkem piiridel. See on nagu 17, 18, 19 eraldi testimine vanusepiirangu 18 jaoks.
- Otsustabel: mitme tingimuse kombinatsioonide ja iga kombinatsiooni oodatava tulemuse tabelid.
- Oleku üleminek: süsteemi üleminekute olekust olekusse (näiteks tellimus: loodud → makstud → saadetud) ja kehtetute üleminekute testimine.
3. samm – eraldage positiivsed, negatiivsed ja servaolekud. Küsige positiivset testi (oodatav tulemus õige sisendiga), negatiivset testi (õige viga kehtetu sisendiga) ja servajuhtumit - piiripealsed või ebatavalised juhtumid. AI üldiselt rõhutab positiivset; Negatiivsed ja servajuhtumid on puudulikud, välja arvatud juhul, kui te neid selgesõnaliselt taotlete.
4. samm – seadke prioriteedid ja lõigake. AI suudab luua 60 stsenaariumi; Need ei ole kõik võrdse väärtusega. Eelistage kõrge riskiga (raha, turvalisus, andmete kadu) ja ühendage need, mis on duplikaadid.
Näpunäide: saatke tehisintellektile eraldi taotlus, milles öeldakse: "genereerige sellest nõudest 5 mõeldamatut servajuhtumit". Tehisintellekti kõige väärtuslikum panus on see, et see tuletab teile sageli meelde erakordseid olukordi, millest olete kahe silma vahele jätnud.
Nõrk viip / Tugev viip
Nõrk: "Kirjutage parooli lähtestamiseks testjuhtumeid."
Tugev: "Looge parooli lähtestamise funktsiooni testjuhtumid järgmiste aktsepteerimiskriteeriumitega: link kehtib 30 minutit, ühekordne kasutamine, viimaseid 3 parooli ei saa uuesti kasutada, konto lukustatakse 15 minutiks pärast 5 vale katset. Rakendage samaväärsusklasse ja piirväärtuste samme. Andke iga juhtumi puhul positiivsed, negatiivsed ja servajuhtumid eraldi: eeldatavad tulemused, seotud testitulemused, andmete eelnev päis. vastuvõtmise kriteeriumid. Tõstke esile turvalisuse/lukustamise stsenaariumid.
Võimas viip; See annab reeglid, tehnikad, väljundvormingu ja prioriteedijärjestuse. Seega toodab AI käivitatavaid ja jälgitavaid testjuhtumeid, mitte dekoratiivseid.
Testjuhtumi väljundvorming
Küsige struktureeritud vormingut, mille saab importida otse teie meeskonna testihaldustööriista (nt TestRail, Zephyr, Xray). Järgmises tabelis on näidatud hea testjuhtumi komponendid:
ala
Kirjeldus
näide
ID
unikaalne ID
TC-PWD-014
Pealkiri
lühike eesmärk
Aegunud link lükatakse tagasi
eelduseks
Nõutav seisund enne testimist
Lähtesta link loodi 31 minutit tagasi
sammud
Järjestikused toimingud
1. Klõpsake lingil 2. Sisestage uus parool
katseandmed
Kasutatud konkreetseid väärtusi
vana link, uus parool "Abc!2345"
oodatud tulemus
Kontrollitav käitumine
Viga "Link aegunud", parool ei muutu
Vastuvõtmise kriteeriumid
jälgitavuse link
AK-3: link kehtib 30 minutit
prioriteet
Riski tase
kõrge
Neli kopeeritavat malli
1) Tehniline stsenaariumi koostamine:
Teie roll: vanemtesti kujundaja.Looge testijuhtumid funktsioonile: [funktsiooni ja aktsepteerimiskriteeriumid].Rakendage: samaväärsuse klassid, katkestuspunktide analüüs, otsustustabel.Esitage väljund kolmes rühmas: positiivne / negatiivne / servajuhtum.Iga juhtum: ID, eeltingimus, sammud, katseandmed, oodatav tulemus, seotud aktsepteerimiskriteeriumid, prioriteet (kõrge/keskmine/väike).
2) Edge case hunter:
Loetlege 10 tavaliselt tähelepanuta jäetud servajuhtumit järgmise funktsiooni jaoks: [funktsioon]. Kirjutage ühe lausega, miks see on igaühe jaoks riskantne. Mõelge sellistele telgedele nagu tühi/null, liiga pikk sisestus, samaaegsus, ajalõpp, vorminguvead, Unicode/emotikonid, negatiivne/null, võrgukatkestus.
3) Otsustabeli valmistamine:
Loo otsustustabel järgmise ärireegli jaoks: [reeglid].Veerud: tingimuste kombinatsioonid; read: iga tingimus ja eeldatav toiming. Märgistage saavutamatud või vastuolulised kombinatsioonid. Seejärel pakkuge iga kombinatsiooni jaoks välja testjuhtum.
4) Jälgitavuse kontroll:
Arvestades järgmist aktsepteerimiskriteeriumide loendit ja järgmisi testjuhtumeid: [kriteeriumid] / [juhtumid]. Näidake tabeli kujul, millistele aktsepteerimiskriteeriumidele MITTE MITTE EI OLE testjuhtumit (katvuslünk) ja millised juhtumid ei vasta ühelegi kriteeriumile (liigne juhtum).
kolm minikarpi
Juhtum 1 – servaolekute väärtus. Fintechi meeskonna ekspert oli rahaülekande funktsiooni jaoks kirjutanud 18 skripti. Ta rakendas tehisintellektile malli "edge case hunter"; AI tuletas meelde olukorda "sama saldo ülekandmine kahest seadmest korraga" (samaaegsus). Selle stsenaariumi testimisel leiti kahekordne kulutamise haavatavus ja see suleti enne avaldamist. Üksainus ääreseis hoidis ära võimaliku kuuekohalise kaotuse.
Juhtum 2 – kühmu kärpimine. Meeskond lasi tehisintellektil koostada liikmevormi skripti ja 74 juhtumit tuli läbi. Jälgitavuse malli käitamisel leiti, et 74 juhtumit vastas ainult 9 aktsepteerimiskriteeriumile, kusjuures paljud testisid uuesti sama ekvivalentsusklassi. Komplekti vähendati 74-lt 23-le olulisele juhtumile; tööaeg vähenes 68%, katvus ei vähenenud.
3. juhtum – vale eeldus. AI soovitas testida kuupäevavälja jaoks kehtetuid kuupäevi, nagu „31. veebruar”, kuid ei teadnud, et meeskonna kasutatav kalendrikomponent on selle juba blokeerinud. Ekspert kõrvaldas 4 kuuest tehisintellekti loodud kuupäevastsenaariumist kui toote kontekstis ebavajalikud. AI loodud võimalused; tegi tooteinfo valiku.
Levinud vead
- Skripti taotlemine aktsepteerimiskriteeriume esitamata. Teadmata, mis on tõsi, loob tehisintellekt pealiskaudseid stsenaariume, mis sageli jätavad tegeliku riski märkamata.
- Lihtsalt leppida positiivsete testidega. Selgelt ei soovi negatiivseid ja äärejuhtumeid. Siin peituvad sageli vead.
- Toodetava aktsepteerimine sellisena, nagu see on. Unustades, et tehisintellekt ei tunne toote konteksti, ja jättes võtteplatsile tarbetud või võimatud stsenaariumid.
- Jälgitamisest mööda hiilimine. Juhtumite mitte sidumine vastuvõtukriteeriumidega; selle tulemusena ei ole näha, millist kriteeriumi ei testita (katvusvahe).
- Kvantiteedi eksitus. Olles õnnelik, sest "60 stsenaariumi on välja antud". Väärtus ei ole arvus, vaid ulatuses, mis riski katab.
Kokkuvõttes
Testi ülesehitus seisneb ühelauselise nõude tõlkimises konkreetseteks käivitatavateks juhtumiteks, mis tõestavad tarkvara õigsust. Tehisintellekt kiirendab seda teisendust oluliselt: see loob põhjalikke plaane, kui annate sellele aktsepteerimiskriteeriumid, klassikalised testimistehnikad (ekvivalentsusklassid, katkestuspunkt, otsustustabel, olekuüleminek) ja selge väljundvormingu. Kuid tehisintellekt kaldub positiivse poole, ei tea toote konteksti ja võib tekitada tarbetut paisumist. Teie ülesanne on selgelt taotleda negatiivseid ja äärmuslikke juhtumeid, luua jälgitavus, seada prioriteedid riski järgi ja kärpida.
Rakenduse ülesanne
Valige oma projektist funktsioon ja kirjutage üles vastuvõtmise kriteeriumid. Laske AI-l luua testjuhtumid malliga „tehnikapõhise stsenaariumi genereerimine”. Seejärel rakendage mallid "edge case hunter" ja "traceability check". Selle tulemusena: (1) lisage vähemalt 3 servajuhtumit, mille AI vahele jätab, (2) kärpige juhtumeid, mis ei ole seotud ühegi aktsepteerimiskriteeriumiga, (3) kirjutage uued juhtumid, kui mõni aktsepteerimiskriteerium jääb testimata. Valage lõplik komplekt arvutustabelisse.
kontrollnimekiri
- [ ] Enne stsenaariumi taotlemist selgitasin vastuvõtmise kriteeriume.
- [ ] Küsisin YZ-lt nime järgi ekvivalentsusklasse ja piirväärtuste analüüsi.
- [ ] Genereerisin eraldi positiivsed, negatiivsed ja servaolekud.
- [ ] Sidusin iga testjuhtumi aktsepteerimiskriteeriumiga (jälgitavus).
- [ ] Kontrollisin tabeliga ulatuse lünka ja mittevajalikke juhtumeid.
- [ ] Seadsin riski järgi prioriteediks ja kärpisin paisunud komplekti.