Vienība 2 / 11

Testa scenārijs un testa gadījuma ģenerēšana: no prasībām līdz visaptverošai kontrolei

Ieguvumi:

  • Spēja pārveidot prasības un pieņemšanas kritērijus visaptverošos testa gadījumos ar tādām metodēm kā ekvivalences klases, robežvērtību analīze un lēmumu tabulas ar mākslīgā intelekta atbalstu
  • Spēja izveidot pozitīvos, negatīvos un malas gadījumu scenārijus atsevišķi un papildināt mākslīgā intelekta garām neparedzētos gadījumus ar informāciju par produktu
  • Spēja noteikt izsekojamību un novērst pārklājuma nepilnības un nevajadzīgu uzpūšanos, saistot pārbaudes gadījumus ar pieņemšanas kritērijiem

Testētāja darbs bieži sākas ar šo tukšo lapu: viņam ir prasība ("lietotājam ir jāspēj atiestatīt paroli"), un viņam šis viens teikums ir jāpārvērš desmitiem konkrētu pārbaužu, kas pierādīs, ka programmatūra patiešām darbojas pareizi. Šo transformāciju sauc par testa dizainu. Zinot atšķirību starp testa scenāriju — augsta līmeņa mērķi, kas apraksta, ko pārbaudīt, piemēram, "nederīga parole ir jānoraida" — un testa gadījumu — izpildāmu vienību, kas detalizēti apraksta šo scenāriju ar konkrētām darbībām, ievadi un paredzamo rezultātu. Mākslīgais intelekts (AI) paātrina tieši šo tukšās lapas brīdi: vienu prasību dažu sekunžu laikā pārvērš desmitiem scenāriju uzmetuma. Bet atcerieties — AI atkārto situācijas, par kurām jūs varat iedomāties; Ar savām zināšanām par produktu jūs izvēlaties, kuras situācijas ir patiešām svarīgas.

Šajā nodaļā jūs soli pa solim uzzināsit, kā prasību pārvērst visaptverošā, bet bez traucējumiem testa komplektā ar AI atbalstu.

Soli pa solim: no prasības līdz testa komplektam

1. darbība. Noskaidrojiet prasību. Apkopojiet pieņemšanas kritērijus (nosacījumus, kuriem darbs ir jāatbilst, lai to uzskatītu par “paveiktu”), pirms AI sniedzat neapstrādātas prasības. Nepietiek ar "Parolei jābūt atiestatāmai"; Noteikumi, piemēram, "atiestatīšanas saite ir derīga 30 minūtes", "to pašu paroli nevar izmantot atkārtoti", ir patiesās pārbaudes avots.

2. solis. Ieviesiet testēšanas metodes. Nerunājiet tikai par AI "uzrakstīt skriptu"; Pieprasiet klasiskās testa dizaina metodes pēc nosaukuma:

  • Ekvivalences klases (ekvivalences sadalīšana): ievades sadalīšana grupās, kurām ir paredzama tāda pati darbība. Piemēram, vecuma laukā "derīgs diapazons", "pārāk mazs" un "pārāk liels" ir klases; Pietiek pārbaudīt vienu piemēru no katras klases.
  • Robežvērtību analīze: sliekšņa vērtību pārbaude, pamatojoties uz faktu, ka kļūdas visbiežāk rodas robežās. Tas ir tāpat kā atsevišķi pārbaudīt 17, 18, 19 gadus atbilstoši 18 gadu vecuma ierobežojumam.
  • Lēmumu tabula: vairāku nosacījumu kombinācijas un katras kombinācijas paredzamais rezultāts.
  • Stāvokļa pāreja: tiek pārbaudītas sistēmas pārejas no stāvokļa uz stāvokli (piemēram, pasūtījums: izveidots → apmaksāts → nosūtīts) un nederīgas pārejas.

3. darbība. Atdaliet pozitīvos, negatīvos un malas stāvokļus. Pieprasiet pozitīvu testu (paredzamais rezultāts ar pareizu ievadi), negatīvu testu (pareiza kļūda ar nederīgu ievadi) un malas gadījumu — robežgadi vai neparasti gadījumi. AI parasti uzsver pozitīvo; Negatīvie un malas gadījumi ir nepilnīgi, ja vien jūs tos nepārprotami nepieprasāt.

4. darbība. Nosakiet prioritātes un apgrieziet. AI var ģenerēt 60 scenārijus; Tie visi nav vienlīdz vērtīgi. Dodiet priekšroku tiem, kuriem ir augsts risks (nauda, ​​drošība, datu zudumi), un apvienojiet tos, kas ir dublikāti.

Padoms: nosūtiet AI atsevišķu pieprasījumu, sakot "ģenerējiet 5 neiedomājamus gadījumus no šīs prasības". Visvērtīgākais AI ieguldījums ir tas, ka tas bieži atgādina par neparastām situācijām, kuras esat neievērojis.

Vāja uzvedne / spēcīga uzvedne

Vāji: "Rakstiet paroles atiestatīšanas pārbaudes gadījumus."
Spēcīgi: "Ģenerējiet paroles atiestatīšanas funkcijas pārbaudes gadījumus ar šādiem pieņemšanas kritērijiem: saite ir derīga 30 minūtes, vienreizēja lietošana, pēdējās 3 paroles nevar izmantot atkārtoti, konts tiek bloķēts uz 15 minūtēm pēc 5 nepareiziem mēģinājumiem. Lietojiet ekvivalences klases un robežvērtību analīzi. Norādiet pozitīvos, negatīvos un malas gadījumus atsevišķos gadījumos: sagaidāmie testa rezultāti, saistītie dati, iepriekšējie dati. pieņemšanas kritēriji. Izceliet drošības/bloķēšanas scenārijus.

Spēcīga uzvedne; Tas sniedz noteikumus, metodes, izvades formātu un prioritāšu secību. Tādējādi AI ražo izpildāmus un izsekojamus testa gadījumus, nevis dekoratīvus.

Testa lietas izvades formāts

Pieprasiet strukturētu formātu, ko var importēt tieši jūsu komandas testu pārvaldības rīkā (piemēram, TestRail, Zephyr, Xray). Šajā tabulā parādītas labas pārbaudes lietas sastāvdaļas:

apgabalā

Apraksts

piemērs

ID

unikālais ID

TC-PWD-014

Nosaukums

īss mērķis

Saite, kurai beidzies derīguma termiņš, tiks noraidīta

priekšnoteikums

Nepieciešams stāvoklis pirms pārbaudes

Atiestatīšanas saite tika izveidota pirms 31 minūtes

soļi

Secīgas darbības

1. Noklikšķiniet uz saites 2. Ievadiet jauno paroli

testa dati

Izmantotas konkrētas vērtības

vecā saite, jauna parole "Abc!2345"

paredzamo rezultātu

Pārbaudāmā uzvedība

Kļūda "Saites derīguma termiņš beidzies", parole nemainās

Pieņemšanas kritēriji

izsekojamības saite

AK-3: saite derīga 30 minūtes

prioritāte

Riska līmenis

augsts

Četras kopējamas veidnes

1) Tehniski balstīta scenārija veidošana:

Jūsu uzdevums: vecākais testa izstrādātājs. Ģenerēt testa gadījumus objektam: [funkcijas un pieņemšanas kritēriji]. Lietot: ekvivalences klases, pārtraukuma punktu analīzi, lēmumu tabulu. Nodrošiniet izvadi 3 grupās: pozitīvs / negatīvs / malas gadījums. Katrs gadījums: ID, priekšnosacījums, darbības, testa dati, paredzamais rezultāts, saistītie pieņemšanas kritēriji, prioritāte (Augsta/Vidēja/Zema).

2) Edge case hunter:

Norādiet 10 parasti ignorētos malas gadījumus šādai funkcijai: [funkcija]. Vienā teikumā uzrakstiet, kāpēc katram tas ir riskanti. Padomājiet par tādām asīm kā tukša/nulle, pārāk ilga ievade, vienlaicīgums, taimauts, formāta kļūdas, unikoda/emoji, negatīvs/nulle, tīkla pārtraukums.

3) Lēmumu tabulas izgatavošana:

Izveidot lēmumu tabulu šādai biznesa kārtulai: [noteikumi]. Kolonnas: nosacījumu kombinācijas; rindas: katrs nosacījums un paredzamā darbība. Atzīmējiet nesasniedzamas vai pretrunīgas kombinācijas. Pēc tam katrai kombinācijai piedāvājiet testa gadījumu.

4) Izsekojamības kontrole:

Ņemot vērā šādu pieņemšanas kritēriju sarakstu un šādus pārbaudes gadījumus:[kritēriji] / [gadījumi]. Parādiet tabulas veidā, kuriem pieņemšanas kritērijiem atbilst NEVIENS testa gadījums (pārklājuma atstarpe) un kuri gadījumi neatbilst nevienam kritērijam (lieks gadījums).

trīs mini futrāļi

1. gadījums — malu stāvokļu vērtība. Fintech komandas eksperts bija uzrakstījis 18 naudas pārveduma funkcijas skriptus. Viņš AI piemēroja veidni “edge case hunter”; AI atgādināja situāciju, kad "vienāda un tā paša bilance tiek pārsūtīta no divām ierīcēm vienlaikus" (vienlaicīgums). Kad šis scenārijs tika pārbaudīts, tika atrasta dubulta tēriņu ievainojamība un tika aizvērta pirms publicēšanas. Viena situācija no malas novērsa potenciālu sešciparu zaudējumu.

2. gadījums — izliekuma apgriešana. Komanda lika AI izveidot dalības veidlapas skriptu, un tika saņemti 74 gadījumi. Palaižot izsekojamības veidni, tika konstatēts, ka 74 gadījumi atbilda tikai 9 pieņemšanas kritērijiem, un daudzi atkārtoti testēja to pašu ekvivalences klasi. Komplekts tika samazināts no 74 līdz 23 nozīmīgiem gadījumiem; darbības laiks samazinājās par 68%, pārklājums nesamazinājās.

3. gadījums — nepareizs pieņēmums. AI ieteica pārbaudīt nederīgus datumus, piemēram, “31. februāris” datuma laukam, taču nezināja, ka kalendāra komponents, ko komanda izmantoja, to jau ir bloķējis. Eksperts novērsa 4 no 6 AI izstrādātajiem datuma scenārijiem kā nevajadzīgus produkta kontekstā. AI radītās iespējas; veica produkta informācijas atlasi.

Biežas kļūdas

  • Skripta pieprasīšana, nenorādot pieņemšanas kritērijus. Nezinot, kas ir patiesība, mākslīgais intelekts rada virspusējus scenārijus, kas bieži nepalaiž garām reālo risku.
  • Vienkārši samierinājos ar pozitīviem testiem. Skaidri nevēloties negatīvus un malas gadījumus. Šeit bieži rodas kļūdas.
  • Saražotā pieņemšana tādu, kāds tas ir. Aizmirstot, ka AI nezina produkta kontekstu, un atstājot filmēšanas laukumā nevajadzīgus vai neiespējamus scenārijus.
  • Izsekojamības apiešana. lietu nesaistošana ar pieņemšanas kritērijiem; rezultātā nav redzams, kurš kritērijs nav pārbaudīts (pārklājuma plaisa).
  • Kvantitātes kļūda. Priecāties, jo "izlaisti 60 skripti". Vērtība ir nevis ciparā, bet apjomā, kas sedz risku.

Rezumējot

Testa dizains ir par viena teikuma prasības pārveidošanu konkrētos izpildāmos gadījumos, kas pierāda programmatūras pareizību. AI ievērojami paātrina šo transformāciju: tas rada visaptverošus projektus, kad tam piešķirat pieņemšanas kritērijus, klasiskās testēšanas metodes (ekvivalences klases, pārtraukuma punktu, lēmumu tabulu, stāvokļa pāreju) un skaidru izvades formātu. Taču mākslīgais intelekts ir orientēts uz pozitīvo, nezina produkta kontekstu un var radīt nevajadzīgu uzpūšanos. Jūsu uzdevums ir skaidri pieprasīt negatīvus un malas gadījumus, noteikt izsekojamību, noteikt prioritātes pēc riska un apgriezt.

Lietojumprogrammas uzdevums

Izvēlieties funkciju no sava projekta un pierakstiet pieņemšanas kritērijus. Lieciet AI ģenerēt testa gadījumus, izmantojot veidni “uz tehniku ​​balstīta scenārija ģenerēšana”. Pēc tam izmantojiet veidnes “malu gadījumu mednieks” un “izsekojamības pārbaude”. Rezultātā: (1) pievienojiet vismaz 3 malas gadījumus, kurus AI izlaiž, (2) apgrieziet gadījumus, kas nav saistīti ar nevienu pieņemšanas kritēriju, (3) ierakstiet jaunus gadījumus, ja kādi pieņemšanas kritēriji ir palikuši nepārbaudīti. Ielejiet galīgo komplektu izklājlapā.

kontrolsaraksts

  • [ ] Pirms scenārija pieprasīšanas noskaidroju pieņemšanas kritērijus.
  • [ ] Es prasīju YZ ekvivalences klases un robežvērtību analīzi pēc nosaukuma.
  • [ ] Es ģenerēju pozitīvos, negatīvos un malas stāvokļus atsevišķi.
  • [ ] Es saistīju katru pārbaudes gadījumu ar pieņemšanas kritēriju (izsekojamību).
  • [ ] Es pārbaudīju tvēruma spraugu un nevajadzīgos gadījumus ar tabulu.
  • [ ] Es noteicu prioritāti pēc riska un nogriezu uztūkušo komplektu.