Hagnaður:
- Geta til að framleiða eininga-, samþættingar- og brúntilvikspróf með þýðingarmikilli fullyrðingu með gervigreind
- Geta til að draga kerfisbundið út prófunarumfang, viðmiðunarmörk og neikvæðar aðstæður með gervigreindarstuðningi
- Geta til að sannreyna að prófin sem gervigreindin framleiði sannreyni í raun hegðun og endurtaki ekki bara núverandi kóða
Prófun er vélbúnaðurinn sem sannar að hugbúnaðurinn hegðar sér í raun eins og lofað var. Góð prófunarsvíta segir þér á nokkrum sekúndum hvort breyting brýtur eitthvað og gefur verkfræðingnum frelsi til að bregðast við af sjálfstrausti. Gervigreind flýtir fyrir leiðinlegasta og mest slepptu hluta prófunarskrifa: býr til fjölda atburðarása, brotpunkta og neikvæðra tilvika. En það er laumuleg gildra hér: AI gæti skrifað próf sem sannreyna núverandi (kannski gallaða) hegðun kóðans, ekki meinta hegðun hans; eða það getur framleitt tóm próf sem standast alltaf, ekki athugað í rauninni neitt. Gildi prófs felst ekki í því hvort það standist, heldur hvort það athugar hvort það sé rétt og verður rautt þegar það er rangt.
Í þessari einingu muntu læra hvernig á að framleiða eininga-, samþættingar- og brúntilvikspróf með marktækum fullyrðingum; hvernig á að draga kerfisbundið út prófunarumfjöllun, brotpunkta og atburðarás fyrir hæðir; og við munum sjá hvernig þú getur athugað að prófin sem gervigreindin framleiðir sannreyni í raun hegðun.
Hugtök: Einingaprófun: Prófar eina aðgerð/flokk í einangrun. Samþættingarpróf: Prófar að margir hlutar vinna rétt saman. Fullyrði: Yfirlýsing sem athugar að niðurstaða sé jöfn því sem búist var við; Þetta er hjarta prófsins. Umfjöllun: Hversu mikið af kóðanum er keyrt af prófum; Mikil umfang tryggir ekki gæði.
Framleiða þýðingarmikil próf
Gott próf gerir þrennt á skýran hátt: það stofnar ástand, það framkvæmir aðgerð, það fullyrðir niðurstöðuna. Þegar prófanir eru prentaðar á gervigreind, tilgreindu hvaða hegðun þú vilt sannreyna og hvaða aðstæður það ætti að ná yfir; Annars framleiðir það yfirborðsleg próf sem standast alltaf.
- Skilgreindu hegðunina sem á að prófa. "Hvað telst rétt?" Svaraðu spurningunni skýrt.
- Biðjið um tegundir atburðarásar. Normal, limit, negative, error condition.
- Flytja inn þýðingarmikla fullyrðingu. Það „varpaði ekki bara villu“ heldur „skilaði réttu gildi“.
- Athugaðu nákvæmni prófsins. Verður prófið rautt þegar þú brýtur kóðann meðvitað?
Alhliða prófkjör: "Skrifaðu einingapróf fyrir eftirfarandi 'applydiscount(amount, coupon)' aðgerð. Hafa AÐ minnsta kosti eina atburðarás í eftirfarandi flokkum: (1) eðlilegur gildur afsláttarmiði, (2) brotpunktur (0 upphæð, 100% afsláttur), (3) neikvætt (ógildur afsláttarmiði, neikvæð upphæð), (4) villuprófun í hverju tilviki CONCRE). (ekki bara 'virkaði').
Kvaðning fyrir útdráttarmörkagildi: "Framkvæmdu markagildisgreiningu fyrir inntak þessarar falls. Fyrir hverja færibreytu skaltu draga út gildin 'bara við mörkin', 'rétt fyrir neðan mörkin', 'rétt fyrir ofan mörkin' sem töflu. Skráðu síðan prófunarsviðsmyndirnar sem ná yfir þessi mörk. Ekki skrifa kóða ennþá, bara greining og atburðalista.] Virka: [undirskriftarlisti.]
Varúð: Mikil prófun (t.d. 90%) sannar ekki að kóðinn sé réttur. Umfjöllun mælir hversu margar línur voru framkvæmdar; ekki að þessar línur skili réttri niðurstöðu. Próf án marktækra fullyrðinga eykur umfjöllun en tryggir ekki neitt. Innihald fullyrðingarinnar ræður gæðum, ekki fjölda fullyrðinga.
Að prófa sjálft prófið: Rökfræði stökkbreytinga
Hagnýtasta leiðin til að skilja hvort AI-myndað próf virkar í raun og veru er að brjóta kóðann vísvitandi (stökkbreytingarprófunarrökfræði). Snúa við ástandi, búa til + tákn -; Ef engin próf verða rauð eru prófin þín ekki að viðhalda þeirri hegðun.
Spurning um varnarleysisleit: "Segðu mér hvaða hugsanlegar villur í þessum kóða eftirfarandi próf mega EKKI grípa. Leggðu til 5 litlar stökkbreytingar sem gætu verið gerðar á kóðanum (t.d. >= í stað >, - í stað +) og tilgreinið fyrir hvern hvort núverandi próf myndu ná honum. Fyrir þá sem ekki nást, stingdu upp á prófun sem ætti að bæta við. Kóði: [kóði] Próf: [próf]
Veik kvaðning / sterk kvaðning
WEAK: "Skrifaðu próf fyrir þessa aðgerð." (Niðurstaða: venjulega ein hamingjusöm atburðarás, veik staðhæfing; missir af villum.) STERK: "Skrifaðu próf í þessa 'passwordStrong' aðgerð. Regla: að minnsta kosti 8 stafir, 1 hástafur, 1 tölustafur áskilinn. Náðu yfir eftirfarandi aðstæður sem SÉRSTAÐAR próf: nákvæmlega 8 stafir (takmark), 7 stafir (undir mörkum), ekkert of, ekki hástafir, einir stafir, ekki hástafir. (1000 stafir) Staðfestu beinlínis væntanlegt satt/ósatt gildi í hverju prófi og nefndu prófið í samræmi við það sem það athugar."
Öflug hvetja gefur reglur og heildarsviðsmyndir. Mörkapör eins og "nákvæmlega 8/7 stafir" eru algengustu staðirnir til að gera mistök (ruglingur > við >=). Veik kvaðning fer framhjá þessum mörkum og ber villuna til framleiðslu.
Prófunartegundir og hvar á að nota
Próf gerð
Hvað staðfestir það?
AI framlag
Athygli
eining
Einfalt fall/flokkur
Býr til margra sviðsmynda hratt
Það þarf markvissa fullyrðingu
samþættingu
Hlutar sem vinna saman
Drög að atburðarás og sýndargögnum
Sannkölluð ávanabindandi hegðun
enda/samþykkja
Allt notendaflæði
Skrefalisti og væntingar
viðkvæmt fyrir stökkleika
afturför
Gömul villa skilar sér ekki
Sérstök bilunarprófun
Ætti að bæta við hverja lagfæringu
Mini Cases
Tilfelli 1 — Prófið sem stenst alltaf. AI skrifar 12 próf á aðgerð og þau standast öll. Verkfræðingur verður tortrygginn og skekkir vísvitandi skilgildi fallsins; Aðeins 3 af prófunum verða rauð. Hin 9 prófin innihalda ekki marktækar fullyrðingar. Prófun er styrkt með stökkbreytingaveiði; raunveruleg vernd fæst í 9 tilfellum.
Tilfelli 2 - Mörk skekkja. Aldursstaðfestingaraðgerð ætti að segja "18 og eldri er gild" en >18 er skrifað, sem þýðir að 18 ára er hafnað. Villan birtist strax í prófun vegna þess að gervigreind býr til „nákvæmlega 18“ atburðarásina með brotpunktagreiningu. Eitt markpróf kemur í veg fyrir raunverulegar kvartanir notenda.
Tilfelli 3 — Lagfæring á núverandi hegðun. Þegar gervigreindinni er sagt að „skrifa próf byggt á þessum kóða“ framleiðir það próf sem tekur við sem „rétt“ námundunarvillu sem er þegar til í kóðanum. Þegar verkfræðingur prentar prófið í samræmi við kröfuna (vænt rétt gildi) en ekki kóðann, verður prófið rautt og raunveruleg villa á sér stað. Próf ættu að vera unnin út frá væntingum, ekki frá kóða.
Algeng mistök
- Tilgangslaus fullyrðing. „Kennti ekki villu“ er ekki nóg; Rétt gildi verður að vera staðfest.
- Að rugla saman umfangi og gæðum. Mikil umfjöllun er engin trygging fyrir nákvæmum niðurstöðum.
- Prentun prófsins með kóða. Lagar núverandi villu í "sann"; Próf ættu að stafa af væntingum.
- Sleppa viðmiðunarmörkum. Að rugla > við >= er algengasta mistökin; landamærapör verða að prófa.
- Ekki endurskoða prófið sjálft. Próf sem verður ekki rautt þegar þú brýtur kóðann veitir ekki vernd.
Í stuttu máli
Góð prófunarsvíta er lykillinn að því að gera breytingar með sjálfstrausti. AI býr fljótt til fjölda atburðarása, marka og neikvæðra aðstæðna; En ef það dregur próf úr kóða frekar en kröfum getur það lagað núverandi villur eða skrifað tilgangslaus próf sem standast alltaf. Settu fram áætlanagildið í hverju prófi, taktu með bundin pör og staðfestu að prófin þín verndi í raun með því að brjóta kóðann vísvitandi. Innihald fullyrðingarinnar, ekki fjöldi sviða, ræður gæðum.
Umsóknarverkefni
Veldu aðgerð og láttu hana búa til próf í fjórum flokkum (venjulegt, takmörk, neikvætt, villa) með yfirgripsmikilli prufumyndunarskynjun; Láttu steypuvænt verðgildi fullyrða í hverju prófi. Keyrðu síðan vísunina um varnarleysisleit, stingdu upp á 5 litlum stökkbreytingum í kóðanum og keyrðu prófin til að athuga hverjar þær ná. Bættu við nýju prófi fyrir að minnsta kosti eina stökkbreytingu sem ekki náðist og sýndu að hún er nú í mínus.
gátlisti
- [ ] Ég prentaði prófin út frá væntanlegri/réttri hegðun, ekki kóðanum.
- [ ] Ég fjallaði um venjulegar, takmörk, neikvæðar og villusviðsmyndir.
- [ ] Ég fullyrti hið áþreifanlega vænta gildi í hverju prófi.
- [ ] Ég prófaði landamærapör (rétt fyrir ofan / rétt fyrir neðan).
- [ ] Með því að brjóta kóðann vísvitandi staðfesti ég að prófin urðu rauð.
- [ ] Ég bætti við nýju prófi fyrir ógreindar stökkbreytingar.