Unità 6 / 12

Awtomazzjoni tat-Test u Assigurazzjoni tal-Kwalità

Qligħ:

  • Kapaċità li tipproduċi testijiet ta 'unità, integrazzjoni u edge case b'affermazzjoni sinifikanti bl-AI
  • Kapaċità li tiġi estratta b'mod sistematiku kopertura tat-test, valuri ta' limitu u xenarji negattivi bl-appoġġ tal-AI
  • Kapaċità li tivverifika li t-testijiet prodotti mill-AI fil-fatt jivverifikaw l-imġieba u ma jirrepetux biss il-kodiċi eżistenti

L-ittestjar huwa l-mekkaniżmu li juri li s-softwer fil-fatt iġib ruħu kif imwiegħed. Suite ta 'test tajjeb jgħidlek f'sekondi jekk bidla tkisserx xi ħaġa u tagħtix lill-inġinier il-libertà li jaġixxi b'kunfidenza. L-AI tħaffef l-aktar parti tedjanti u l-aktar maqbuża tal-kitba tat-test: tiġġenera għadd kbir ta’ xenarji, breakpoints, u każijiet negattivi. Iżda hemm nassa sneaky hawn: AI tista 'tikteb testijiet li jivverifikaw l-imġieba kurrenti (forsi difettuż) tal-kodiċi, mhux l-imġieba suppost tiegħu; jew jista 'jipproduċi testijiet vojta li dejjem jgħaddu, fil-fatt ma jiċċekkja xejn. Il-valur ta 'test mhuwiex jekk jgħaddix, iżda jekk jiċċekkjax għall-ħaġa tajba u jsir aħmar meta jkun ħażin.

F'din l-unità, int se titgħallem kif tipproduċi testijiet ta 'unità, integrazzjoni u edge case b'asserzjonijiet sinifikanti; kif estratti sistematikament kopertura tat-test, breakpoints, u xenarji negattivi; u naraw kif tista' tiċċekkja li t-testijiet li tipproduċi l-AI fil-fatt jivvalidaw l-imġieba.

Kunċetti: Ittestjar tal-unità: Tittestja funzjoni/klassi waħda waħedha. Ittestjar ta 'integrazzjoni: Testijiet li partijiet multipli jaħdmu flimkien b'mod korrett. Tasserixxi: Dikjarazzjoni li tikkontrolla li riżultat huwa ugwali għal dak li kien mistenni; Din hija l-qalba tat-test. Kopertura: Kemm mill-kodiċi huwa mmexxi minn testijiet; Kopertura għolja ma tiggarantixxix kwalità.

Jipproduċu Testijiet Sinifikattivi

Test tajjeb jagħmel tliet affarijiet b'mod ċar: jistabbilixxi stat, iwettaq azzjoni, jasserixxi r-riżultat. Meta tipprintja t-testijiet lill-AI, speċifika x'imġieba trid tivverifika u liema xenarji għandha tkopri; Inkella, tipproduċi testijiet superfiċjali li dejjem jgħaddu.

  1. Iddefinixxi l-imġieba li trid tiġi ttestjata. "X'jgħodd bħala dritt?" Wieġeb il-mistoqsija b'mod ċar.
  2. Staqsi għal tipi ta' xenarji. Kundizzjoni ta' żball normali, limitu, negattiva.
  3. Importa affermazzjoni sinifikanti. Mhux biss "tarmi żball", hija "rritorna l-valur korrett".
  4. Iċċekkja l-eżattezza tat-test. It-test isir aħmar meta tikser il-kodiċi konxjament?

Prompt għall-ġenerazzjoni tat-test komprensiv: "Ikteb testijiet tal-unità għall-funzjoni li ġejja 'applydiscount(amount, coupon)'. Ikollok TAL-ALQAS xenarju wieħed fil-kategoriji li ġejjin: (1) kupun validu normali, (2) breakpoints (0 ammont, 100% skont), (3) negattiv (kupun invalidu, ammont negattiv), (4) każ ta 'żball (null test value). it-testijiet jinqraw Kodiċi: [kodiċi]"

Prompt għall-estrazzjoni tal-valur tal-konfini: "Agħmel analiżi tal-valur tal-konfini għall-inputs ta' din il-funzjoni. Għal kull parametru, iġbed il-valuri 'eżatt fil-konfini', 'eżatt taħt il-konfini', 'eżatt fuq il-konfini' bħala tabella. Imbagħad elenka x-xenarji tat-test li jkopru dawn il-konfini. Tiktebx kodiċi għadha, biss analiżi u lista ta' xenarji. Funzjoni: []"

Attenzjoni: Kopertura għolja tat-test (eż. 90%) ma tipprovax li l-kodiċi huwa korrett. Il-kopertura tkejjel kemm ġew eżegwiti ringieli; mhux li dawk il-linji jipproduċu r-riżultat korrett. Test mingħajr affermazzjoni sinifikanti jżid il-kopertura iżda ma jiggarantixxi xejn. Il-kontenut tal-affermazzjoni jiddetermina l-kwalità, mhux in-numru ta 'affermazzjonijiet.

Ittestjar tat-Test innifsu: Il-Loġika tal-Mutazzjoni

L-aktar mod prattiku biex tifhem jekk it-test iġġenerat mill-AI fil-fatt jaħdem huwa li tkisser il-kodiċi deliberatament (loġika tal-ittestjar tal-mutazzjoni). Aqleb kundizzjoni, agħmel sinjal + -; Jekk l-ebda test ma jsir aħmar, it-testijiet tiegħek fil-fatt mhumiex qed iżommu dik l-imġieba.

Prompt għall-kaċċa tal-vulnerabbiltà tat-test: "Għidli liema bugs potenzjali f'dan il-kodiċi JISTGĦU MA jaqbdux it-testijiet li ġejjin. Issuġġerixxi 5 mutazzjonijiet żgħar li jistgħu jsiru fil-kodiċi (eż. >= minflok >, - minflok +) u indika għal kull wieħed jekk it-testijiet eżistenti jaqbduhiex. Għal dawk li ma jinqabdux, jissuġġerixxu li għandhom jiżdiedu l-ittestjar. Kodiċi: [kodiċi]" Testijiet:

Prompt Dgħajjef / Prompt Qawwija

DGĦAJF: "Ikteb test għal din il-funzjoni." (Riżultat: normalment xenarju wieħed kuntent, affermazzjoni dgħajfa; titlef żbalji.) STRONG: "Ikteb test għal din il-funzjoni 'passwordStrong'. Regola: mill-inqas 8 karattri, ittra kbira, ċifra meħtieġa. Ikopri x-xenarji li ġejjin bħala testijiet SEPARATI: eżattament 8 karattri (limitu), 7 karattri (taħt il-limitu, ittri, bla spazju biss twil wisq (1000 karattru) Asserixxi b'mod espliċitu l-valur veru/falz mistenni f'kull test u semmi t-test skont dak li jiċċekkja."

Pront b'saħħtu jagħti regoli u xenarji ta 'konfini sħaħ. Pari tal-konfini bħal "eżatt 8 / 7 karattri" huma l-aktar postijiet komuni biex jagħmlu żbalji (li jħawdu > ma >=). Pront dgħajjef jevita dawn il-konfini u jġorr l-iżball għall-produzzjoni.

Tipi ta' Test u Fejn Użu

Tip tat-test

X'jikkonferma?

Kontribuzzjoni AI

Attenzjoni

unità

Funzjoni/klassi waħda

Jiġġenera multi-xenarji malajr

Asserzjoni sinifikanti hija meħtieġa

integrazzjoni

Partijiet jaħdmu flimkien

Abbozz ta' xenarju u data mock

Imġieba vera vizzju

tmiem/aċċetta

Fluss kollu tal-utent

Lista ta 'passi u aspettattiva

suxxettibbli għall-fraġilità

rigressjoni

Żball antik ma jerġax lura

Ittestjar speċifiku tal-ħsara

Għandhom jiġu miżjuda ma 'kull tiffissa

Każijiet Mini

Każ 1 — It-test li dejjem jgħaddi. AI tikteb 12-il test għal funzjoni u kollha jgħaddu. L-inġinier isir suspettuż u jgħawweġ deliberatament il-valur tar-ritorn tal-funzjoni; 3 biss mit-testijiet isiru ħomor. Id-9 testijiet l-oħra ma fihomx affermazzjonijiet sinifikanti. L-ittestjar huwa msaħħaħ permezz tal-kaċċa tal-mutazzjoni; protezzjoni reali tinkiseb f'9 xenarji.

Każ 2 — Żball fil-konfini. Funzjoni ta 'verifika ta' l-età għandha tgħid "18 u aktar hija valida" iżda> 18 hija miktuba, jiġifieri 18-il sena hija rrifjutata. L-iżball jidher immedjatament fl-ittestjar minħabba li l-AI tiġġenera x-xenarju ta '"eżatt 18" permezz ta' analiżi tal-breakpoint. Test tal-limitu wieħed jipprevjeni kwalunkwe ilmenti reali tal-utent.

Każ 3 — L-iffissar tal-imġieba kurrenti. Meta l-AI jingħad li "tikteb test ibbażat fuq dan il-kodiċi", tipproduċi test li jaċċetta bħala "korrett" żball ta' arrotondament li diġà jeżisti fil-kodiċi. Meta l-inġinier jistampa t-test skont ir-rekwiżit (valur korrett mistenni) u mhux il-kodiċi, it-test isir aħmar u jseħħ l-iżball reali. It-testijiet għandhom jiġu derivati ​​mill-aspettattivi, mhux mill-kodiċi.

Żbalji komuni

  • Asserzjoni bla sens. "Ma tarmix żball" mhix biżżejjed; Il-valur korrett għandu jiġi vverifikat.
  • Skop ta' konfużjoni mal-kwalità. Kopertura għolja mhijiex garanzija ta 'riżultati preċiżi.
  • Stampar tat-test bil-kodiċi. Jiffissa l-iżball attwali għal "veru"; It-testijiet għandhom joħorġu minn aspettattiva.
  • Qbiż tal-valuri tal-limitu. Tħawwad > ma >= huwa l-iżball l-aktar komuni; pari tal-konfini għandhom jiġu ttestjati.
  • Mhux verifika tat-test innifsu. Test li ma jsirx aħmar meta tikser il-kodiċi ma jipprovdix protezzjoni.

Fil-qosor

Suite ta 'ttestjar tajba hija ċ-ċavetta biex isiru bidliet b'kunfidenza. AI malajr tiġġenera għadd kbir ta 'xenarji, limiti, u sitwazzjonijiet negattivi; Imma jekk tirriżulta minn testijiet mill-kodiċi aktar milli mill-ħtiġiet, tista 'tiffissa bugs eżistenti jew tikteb testijiet bla sens li dejjem jgħaddu. Asserixxi l-valur mistenni konkret f'kull test, inkludi pari marbuta, u vverifika li t-testijiet tiegħek fil-fatt jipproteġu billi jikser il-kodiċi deliberatament. Il-kontenut ta 'l-asserzjoni, mhux in-numru ta' ambiti, jiddetermina l-kwalità.

Kompitu ta' applikazzjoni

Agħżel funzjoni u ħalliha tiġġenera testijiet f'erba 'kategoriji (normali, limitu, negattiv, żball) bi pront ta' ġenerazzjoni ta 'test komprensiv; Jkollhom il-valur mistenni konkret affermat f'kull test. Imbagħad mexxi l-pront tal-kaċċa tal-vulnerabbiltà tat-test, tissuġġerixxi 5 mutazzjonijiet żgħar fil-kodiċi, u mexxi t-testijiet biex tivverifika liema huma jaqbdu. Żid test ġdid għal mill-inqas mutazzjoni waħda li ma nqabditx u uri li issa tinsab fl-aħmar.

lista ta' kontroll

  • [ ] I stampat it-testijiet ibbażati fuq l-imġiba mistennija/korretta, mhux il-kodiċi.
  • [ ] I kopra xenarji normali, ta' limitu, negattivi u ta' żball.
  • [ ] Affermajt il-valur mistenni konkret f'kull test.
  • [ ] Ittestjajt pari ta' fruntieri (eżatt fuq taħt / eżatt fuq taħt).
  • [ ] Billi kser il-kodiċi apposta, ikkonfermajt li t-testijiet saru ħomor.
  • [ ] Żidt test ġdid għal mutazzjonijiet mhux misjuba.