Vienetas 2 / 11

Bandymo scenarijus ir bandomojo atvejo generavimas: nuo reikalavimo iki visapusiško valdymo

Pelnas:

  • Galimybė paversti reikalavimą ir priėmimo kriterijus į išsamius bandymo atvejus, naudojant tokias technologijas kaip lygiavertiškumo klasės, ribinių verčių analizė ir sprendimų lentelės, naudojant dirbtinio intelekto paramą.
  • Galimybė sukurti teigiamus, neigiamus ir kraštutinių atvejų scenarijus atskirai ir užbaigti dirbtinio intelekto praleistus kraštutinius atvejus su informacija apie produktą
  • Galimybė nustatyti atsekamumą ir pašalinti aprėpties spragas bei nereikalingą išsipūtimą susiejant bandomuosius atvejus su priėmimo kriterijais

Testuotojo darbas dažnai prasideda nuo šio tuščio lapo: jis turi reikalavimą („vartotojas turi turėti galimybę iš naujo nustatyti slaptažodį“) ir jis turi paversti šį vieną sakinį dešimtimis konkrečių patikrinimų, kurie įrodys, kad programinė įranga iš tikrųjų veikia tinkamai. Ši transformacija vadinama bandomuoju dizainu. Svarbu žinoti skirtumą tarp bandymo scenarijaus – aukšto lygio tikslo, nurodančio, ką reikia išbandyti, pvz., „netinkamas slaptažodis turi būti atmestas“ – ir bandomojo atvejo – vykdomojo vieneto, kuriame detaliai aprašomas scenarijus su konkrečiais veiksmais, įvestimi ir laukiamu rezultatu. Dirbtinis intelektas (AI) pagreitina būtent šį tuščio puslapio momentą: per kelias sekundes vieną reikalavimą paverčia dešimtimis scenarijų juodraščių. Tačiau atminkite – AI atkartoja, kokias situacijas galite pagalvoti; Remdamiesi savo žiniomis apie produktą, pasirenkate, kurios situacijos yra tikrai svarbios.

Šiame skyriuje žingsnis po žingsnio išmoksite, kaip reikalavimą paversti išsamiu, bet netvarkingu testų rinkiniu su AI palaikymu.

Žingsnis po žingsnio: nuo reikalavimo iki bandymo rinkinio

1 veiksmas. Išsiaiškinkite reikalavimą. Prieš pateikdami AI neapdorotą reikalavimą, surinkite priėmimo kriterijus (sąlygas, kurias turi atitikti darbas, kad jis būtų laikomas atliktu). „Slaptažodis turi būti nustatytas iš naujo“ neužtenka; Tokios taisyklės kaip „nustatyti iš naujo nuoroda galioja 30 minučių“, „to paties slaptažodžio pakartotinai naudoti negalima“ yra tikrojo testo šaltinis.

2 žingsnis. Įdiekite bandymo metodus. Nesakykite tiesiog „rašyk scenarijų“ apie AI; Klauskite klasikinių bandymų projektavimo metodų pagal pavadinimą:

  • Ekvivalentiškumo klasės (ekvivalentinis skaidymas): įvesties padalijimas į grupes, kurios, kaip tikimasi, elgsis taip pat. Pavyzdžiui, amžiaus lauke „galiojantis diapazonas“, „per mažas“ ir „per didelis“ yra klasės; Pakanka išbandyti vieną pavyzdį iš kiekvienos klasės.
  • Ribinių verčių analizė: slenkstinių verčių tikrinimas, pagrįstas tuo, kad klaidų dažniausiai pasitaiko ties ribomis. Tai panašu į 17, 18, 19 metų testavimą atskirai pagal 18 metų ribą.
  • Sprendimų lentelė: kelių sąlygų derinių lentelė ir numatomas kiekvieno derinio rezultatas.
  • Būsenos perėjimas: tikrinami sistemos perėjimai iš būsenos į būseną (pavyzdžiui, užsakymas: sukurtas → sumokėtas → išsiųstas) ir netinkami perėjimai.

3 veiksmas. Atskirkite teigiamą, neigiamą ir kraštinę būsenas. Prašykite teigiamo testo (tikėtinas rezultatas su teisinga įvestis), neigiamo testo (tinkama klaida su netinkama įvestimi) ir kraštinio atvejo – ribinio ar neįprasto atvejo. AI paprastai pabrėžia teigiamą; Neigiami ir kraštiniai atvejai yra neužbaigti, nebent jūs jų aiškiai prašote.

4 veiksmas – nustatykite prioritetus ir genėkite. AI gali sukurti 60 scenarijų; Ne visi jie vienodos vertės. Pirmenybę teikite tiems, kurie turi didelę riziką (pinigai, saugumas, duomenų praradimas) ir derinkite tuos, kurie yra pasikartojantys.

Patarimas: išsiųskite atskirą užklausą AI, sakydami: „Sukurkite 5 neįsivaizduojamus atvejus pagal šį reikalavimą“. Vertingiausias AI indėlis yra tai, kad jis dažnai primena jums nepaprastas situacijas, kurių nepastebėjote.

Silpnas raginimas / Stiprus raginimas

Silpnas: „Parašykite bandomuosius slaptažodžio nustatymo atvejus“.
Stiprus: „Generuokite „slaptažodžio nustatymo iš naujo“ funkcijos bandomuosius atvejus su šiais priėmimo kriterijais: nuoroda galioja 30 minučių, vienkartinis naudojimas, paskutinių 3 slaptažodžių negalima naudoti pakartotinai, paskyra užrakinta 15 minučių po 5 neteisingų bandymų. Taikykite lygiavertiškumo klases ir ribinių verčių analizę. Pateikite teigiamus, neigiamus ir kraštutinius atvejus atskiruose atvejouose: tikėtini bandymo rezultatai, išankstiniai duomenys, bandymo rezultatai, išankstiniai duomenys. priėmimo kriterijus.

Galingas raginimas; Jame pateikiamos taisyklės, metodai, išvesties formatas ir prioritetų tvarka. Taigi AI sukuria vykdomuosius ir atsekamus bandymo atvejus, o ne dekoratyvinius.

Bandymo atvejo išvesties formatas

Paprašykite struktūrinio formato, kurį būtų galima importuoti tiesiai į jūsų komandos testų valdymo įrankį (pvz., TestRail, Zephyr, Xray). Šioje lentelėje pateikiami gero bandomojo atvejo komponentai:

plotas

Aprašymas

pavyzdys

ID

unikalus ID

TC-PWD-014

Pavadinimas

trumpas tikslas

Pasibaigusi nuoroda bus atmesta

būtina sąlyga

Reikalinga būklė prieš bandymą

Nustatyti iš naujo nuoroda buvo sukurta prieš 31 minutę

žingsniai

Nuosekli veiksmai

1. Spustelėkite nuorodą 2. Įveskite naują slaptažodį

bandymo duomenis

Naudojamos konkrečios vertės

sena nuoroda, naujas slaptažodis "Abc!2345"

laukiamas rezultatas

Elgesys, kurį reikia patikrinti

Klaida "Nuorodos galiojimo laikas baigėsi", slaptažodis nesikeičia

Priėmimo kriterijai

atsekamumo nuoroda

AK-3: nuoroda galioja 30 minučių

prioritetas

Rizikos lygis

aukštas

Keturi kopijuojami šablonai

1) Techniškai pagrįstas scenarijus:

Jūsų vaidmuo: vyresnysis testavimo dizaineris. Generuoti funkcijos bandymų atvejus: [funkcijos ir priimtinumo kriterijai]. Taikyti: lygiavertiškumo klases, lūžio taško analizę, sprendimų lentelę. Pateikite išvestį 3 grupėse: teigiamas / neigiamas / kraštinis atvejis. Kiekvienas atvejis: ID, išankstinė sąlyga, žingsniai, bandymo duomenys, laukiamas rezultatas, susiję priėmimo kriterijai, prioritetas (aukštas / vidutinis / mažas).

2) Edge case hunter:

Išvardykite 10 dažniausiai nepastebimų šios funkcijos kraštinių atvejų: [funkcija]. Vienu sakiniu parašykite, kodėl tai rizikinga kiekvienam. Pagalvokite apie tokias ašis kaip tuščia / nulis, per ilga įvestis, lygiagretumas, skirtasis laikas, formato klaidos, unikodas / jaustukai, neigiamas / nulis, tinklo nutraukimas.

3) Sprendimų lentelės gamyba:

Sukurkite šios verslo taisyklės sprendimų lentelę: [taisyklės]. Stulpeliai: sąlygų deriniai; eilutės: kiekviena sąlyga ir numatomas veiksmas. Pažymėkite nepasiekiamus arba prieštaraujančius derinius. Tada pasiūlykite kiekvieno derinio bandomąjį atvejį.

4) Atsekamumo kontrolė:

Pateikiamas toks priėmimo kriterijų sąrašas ir šie bandymo atvejai: [kriterijai] / [atvejai]. Lentelėje parodykite, kuriuos priėmimo kriterijus atitinka JOKIŲ bandymų atvejai (aprėpties tarpas), o kurie atvejai neatitinka jokie kriterijai (perteklinis atvejis).

trys mini dėklai

1 atvejis – kraštinių būsenų reikšmė. „Fintech“ komandos ekspertas parašė 18 pinigų pervedimo funkcijos scenarijų. Jis pritaikė „kraštų atvejo medžiotojo“ šabloną dirbtiniam intelektui; AI priminė situaciją, kai „to paties likučio perkėlimas iš dviejų įrenginių tuo pačiu metu“ (lygiagretumas). Kai šis scenarijus buvo išbandytas, buvo rastas dvigubas išlaidų pažeidžiamumas ir jis buvo uždarytas prieš pradedant transliuoti. Vienintelė situacija užkirto kelią galimam šešiaženkliam pralaimėjimui.

2 atvejis – iškilumo apipjaustymas. Komanda privertė dirbtinį intelektą parengti narystės formos scenarijų ir buvo gauta 74 atvejai. Paleidus atsekamumo šabloną nustatyta, kad 74 atvejai atitiko tik 9 priėmimo kriterijus, o daugelis iš naujo išbandė tą pačią lygiavertiškumo klasę. Rinkinys sumažintas nuo 74 iki 23 reikšmingų atvejų; veikimo laikas sumažėjo 68%, aprėptis nesumažėjo.

3 atvejis – klaidinga prielaida. AI pasiūlė išbandyti netinkamas datas, pvz., „Vasario 31 d.“, datos lauke, tačiau nežinojo, kad komandos naudojamas kalendoriaus komponentas tai jau užblokavo. Ekspertas pašalino 4 iš 6 AI sukurtų datos scenarijų kaip nereikalingus produkto kontekste. AI generuojamos galimybės; pasirinko produkto informaciją.

Dažnos klaidos

  • Scenarijaus užklausa nenurodant priėmimo kriterijų. Nežinodamas, kas yra tiesa, dirbtinis intelektas sukuria paviršutiniškus scenarijus, kurie dažnai praleidžia realią riziką.
  • Tereikia pasitenkinti teigiamais testais. Aiškiai nenori neigiamų ir kraštinių atvejų. Čia dažnai slypi klaidos.
  • Priimti tai, kas gaminama, tokį, koks yra. Pamiršus, kad dirbtinis intelektas nežino produkto konteksto, ir paliekant filmavimo aikštelėje nereikalingus ar neįmanomus scenarijus.
  • Apeinant atsekamumą. Bylų nesiejimas su priėmimo kriterijais; dėl to nesimato, kuris kriterijus nėra patikrintas (aprėpties spraga).
  • Kiekybės klaidingumas. Džiaugiasi, nes „išleista 60 scenarijų“. Vertė yra ne skaičiuje, o apimtyje, kuri apima riziką.

Apibendrinant

Testo dizainas yra vieno sakinio reikalavimo pavertimas konkrečiais vykdomais atvejais, kurie įrodo programinės įrangos teisingumą. Dirbtinis intelektas labai pagreitina šią transformaciją: jis sukuria išsamius brėžinius, kai pateikiate priimtinumo kriterijus, klasikinius testavimo metodus (ekvivalentiškumo klases, lūžio tašką, sprendimų lentelę, būsenos perėjimą) ir aiškų išvesties formatą. Tačiau dirbtinis intelektas yra linkęs į teigiamą pusę, nežino produkto konteksto ir gali sukelti nereikalingą išsipūtimą. Jūsų darbas yra aiškiai prašyti neigiamų ir kraštutinių atvejų, nustatyti atsekamumą, nustatyti prioritetus pagal riziką ir genėti.

Taikymo užduotis

Pasirinkite funkciją iš savo projekto ir užsirašykite priėmimo kriterijus. Leiskite dirbtiniam intelektui sugeneruoti bandomuosius atvejus naudodami „technika pagrįsto scenarijaus generavimo“ šabloną. Tada pritaikykite šablonus „kraštų atvejo medžiotojas“ ir „sekimo tikrinimas“. Dėl to: (1) pridėkite bent 3 kraštutinius atvejus, kuriuos AI praleidžia, (2) apkarpykite atvejus, kurie nesusiję su jokiais priėmimo kriterijais, (3) parašykite naujus atvejus, jei liko neišbandytų priėmimo kriterijų. Supilkite galutinį rinkinį į skaičiuoklę.

kontrolinis sąrašas

  • [ ] Prieš prašydamas scenarijaus, išsiaiškinau priėmimo kriterijus.
  • [ ] YZ paprašiau lygiavertiškumo klasių ir ribinių verčių analizės pagal pavadinimą.
  • [ ] Atskirai sugeneravau teigiamas, neigiamas ir kraštines būsenas.
  • [ ] Kiekvieną bandomąjį atvejį susiejau su priėmimo kriterijumi (atsekamumu).
  • [ ] Lentele patikrinau apimties spragą ir nereikalingus atvejus.
  • [ ] Suskirstiau prioritetą pagal riziką ir apkarpiau išsipūtusį rinkinį.