Awọn anfani:
- Agbara lati gbejade ẹyọkan, iṣọpọ ati awọn idanwo UI pẹlu oye atọwọda ni ibamu pẹlu jibiti idanwo ati opin ideri ati awọn ipo aṣiṣe ati awọn oju iṣẹlẹ idunnu.
- Agbara lati yọkuro awọn idanwo ṣofo / asan ati agbegbe ti o gbin nipa ṣiṣe ayẹwo pe idanwo kọọkan ti ipilẹṣẹ jẹ otitọ ihuwasi kan
- Ni idaniloju pe idanwo naa mu kokoro naa ati ṣe idiwọ lati ṣe atunṣe kokoro naa nipa sisọ fun AI kini koodu yẹ ki o ṣe
Koodu kikọ jẹ idaji iṣẹ; Ni idaniloju pe koodu ṣiṣẹ ni deede jẹ idaji miiran. Awọn ohun elo alagbeka pade awọn ọgọọgọrun ti awọn ẹrọ oriṣiriṣi, awọn iwọn iboju, awọn ẹya ẹrọ ṣiṣe, ati awọn ihuwasi olumulo. Ko ṣee ṣe lati ṣe idanwo gbogbo awọn wọnyi pẹlu ọwọ; Ti o ni idi ti idanwo adaṣe (koodu idanwo koodu — idanwo ti o ṣiṣẹ laisi titẹ eniyan) jẹ ẹhin ti didara alagbeka. AI jẹ ti iyalẹnu daradara ni awọn idanwo kikọ nitori awọn idanwo kikọ jẹ deede iru iṣẹ apẹẹrẹ ti o fẹran: ijẹrisi ihuwasi kan pato fun awọn igbewọle kan pato. Ninu ẹyọ yii, a yoo kọ ẹkọ bii o ṣe le yara idanwo ẹyọkan, idanwo wiwo ati adaṣe pẹlu AI, ṣugbọn rii daju didara idanwo nipasẹ awọn oju eniyan.
Igbeyewo jibiti: kini lati ṣe idanwo ati melo
Ilana idanwo ti ilera dabi jibiti kan. Ipilẹ naa pẹlu nọmba nla ti awọn idanwo ẹyọkan (idanwo iyara ti o ṣe idanwo iṣẹ kan tabi kilasi ni ipinya); ti won wa ni sare ati ki o poku. Ni aarin jẹ idanwo isọpọ kere (idanwo bi ọpọlọpọ awọn ẹya ṣiṣẹ pọ). Ni oke ni UI ti o kere ju / idanwo-si-opin (idanwo ti a ṣe nipasẹ titẹ lori iboju bi olumulo ṣe); wọn jẹ ojulowo ṣugbọn o lọra ati ẹlẹgẹ. AI ṣe iranlọwọ ni gbogbo ipele, ṣugbọn iye julọ wa ni ipilẹ: ni iyara iṣelọpọ awọn idanwo ẹyọkan ti oye iṣowo.
Iru idanwo
Ààlà
iyara
AI ṣiṣe
igbeyewo kuro
Nikan iṣẹ / kilasi
gan sare
ga pupọ
Integration
interlayer
alabọde
ga
UI / opin-si-opin
Gbogbo ṣiṣan iboju
lọra
Alabọde (ẹlẹgẹ)
Imọran: Nigbati o ba n sọ fun AI lati “ṣe ipilẹṣẹ awọn idanwo fun iṣẹ yii”, beere ni gbangba fun awọn ọran eti: igbewọle ofo, asan, nọmba odi, iye ti o tobi pupọ, aṣiṣe nẹtiwọọki. AI ṣe agbejade ọna ayọ ni irọrun; Awọn aṣiṣe gidi tọju ni awọn aala ati fo jade ti o ko ba fẹ wọn nibẹ.
Awọn igbesẹ ti awọn idanwo kikọ pẹlu AI
- Ṣetumo ihuwasi lati ṣe idanwo. "Iṣẹ yii yẹ ki o fun iṣẹjade yii si titẹ sii."
- Pato ilana. JUnit + MockK lori Android, XCTest lori iOS, Espresso (Android) tabi XCUITest (iOS) fun UI.
- Beere fun awọn ipinlẹ opin. Idunnu ohn + aṣiṣe + breakpoints.
- Ṣakoso awọn ohun ẹlẹgàn. Awọn igbẹkẹle ita gẹgẹbi nẹtiwọọki ati ibi ipamọ data jẹ afarawe fun idanwo (ẹgan — ẹgan iṣakoso dipo iṣẹ gangan).
- Ṣiṣe idanwo naa ki o rii daju. Ṣe idanwo naa kọja, ṣe o jẹrisi ohunkohun ti o nilari nitootọ?
Igbesẹ karun jẹ pataki. AI nigbakan ṣe agbejade awọn idanwo asan ti “nigbagbogbo kọja”; fun apẹẹrẹ, idanwo ti ko jẹrisi ohunkohun tabi ṣayẹwo data iro tirẹ. Idanwo ti o kọja ati idanwo ti o niyelori jẹ awọn nkan oriṣiriṣi.
Išọra: Nitoripe AI le gbejade ko tumọ si pe idanwo naa jẹ deede. Nigba miiran AI gba ihuwasi lọwọlọwọ (boya aṣiṣe) ti koodu bi “ti o tọ” ati kọ awọn idanwo ni ibamu. Iru idanwo bẹ ṣe atunṣe kokoro dipo ki o mu. O pinnu ohun ti idanwo naa nireti; Sọ fun AI ohun ti o yẹ ki o ṣe, kii ṣe kini koodu naa ṣe.
Ṣe idanwo iwọn agbegbe ati iro
Agbegbe idanwo (ipin ogorun koodu ti n ṣiṣẹ nipasẹ awọn idanwo) jẹ iwulo ṣugbọn metiriki ṣinilona. 90% agbegbe tọkasi pe 90% ti koodu ti ṣiṣẹ; ṣugbọn ko ti jẹri pe awọn ila yẹn n ṣiṣẹ ni deede. Idanwo ti o nṣiṣẹ laini kan ati pe ko ṣayẹwo abajade n ṣe afikun iwọn ṣugbọn ko pese aabo. Ibi-afẹde kii ṣe awọn nọmba giga, ṣugbọn afọwọsi ti o nilari. O le yara soke pẹlu AI, ṣugbọn rii daju pe idanwo kọọkan n ṣe idanwo ihuwasi kan.
mẹta mini igba
Irú 1 - Aala ipo mu. A beere AI fun awọn idanwo fun iṣẹ gbigbe owo ni ohun elo ile-ifowopamọ, ati ni pataki “iye odi” ati “diẹ sii ju iwọntunwọnsi” awọn oju iṣẹlẹ ni a ṣafikun. Idanwo naa fihan pe gbigbe ko ni idinamọ pẹlu iye odi; eyi yoo jẹ ailagbara aabo pataki ni iṣelọpọ. Ni pipade nipasẹ fifi iṣakoso laini kan kun. Ẹkọ: Awọn idanwo aala jẹ awọn idanwo to niyelori julọ.
Case 2 - Iro igbeyewo. Ẹgbẹ kan ni itunu lati mu agbegbe pọ si 85% pẹlu awọn idanwo ẹyọkan 40 ti a ṣejade nipasẹ AI. Lakoko ayewo, a rii pe pupọ julọ awọn idanwo naa ko rii daju eyikeyi abajade, wọn kan pe iṣẹ naa ati kọ assertTrue (otitọ). Ibora ga ṣugbọn aabo jẹ odo. Awọn idanwo ti ṣe atunṣe ati tunkọ pẹlu awọn afọwọsi gidi. Ẹkọ: awọn nọmba agbegbe le purọ.
Ọran 3 - UI igbeyewo onikiakia. Ẹgbẹ e-commerce kan kọ iwe afọwọkọ XCUITest ti ṣiṣan-si-ẹru pẹlu AI ni awọn iṣẹju 20; Ti a ba fi ọwọ kọ ọ, yoo gba idaji ọjọ kan. AI awọn idamo eroja iboju amoro; Ẹgbẹ naa baamu wọn pẹlu koodu gidi ati ṣeto wọn. Iyara iyaworan jẹ gidi, ṣugbọn ijẹrisi idanimọ jẹ iṣẹ eniyan.
Ailagbara kiakia / Alagbara kiakia
Ibere ailagbara: "Kọ idanwo fun iṣẹ yii."
Agbara ti o lagbara: "Ṣe awọn idanwo ẹyọkan fun iṣẹ Kotlin yii pẹlu JUnit5 + MockK. Iṣẹ: gbigbe owo (iye, orisun, ibi-afẹde). Awọn iwa lati ṣe idanwo (kini koodu yẹ ki o ṢE): Gbigbe ti o wulo gbọdọ jẹ aṣeyọri- Negetifu tabi iye odo gbọdọ jẹ kọ- Iye ti o tobi ju iwọntunwọnsi gbọdọ jẹ kọ- Aṣiṣe nẹtiwọki gbọdọ jabọ awọn iyasọtọ ti o yẹ, idanwo kọọkan yẹ ki o jẹ ki awọn orukọ ti o ṣofo yẹ ki o jẹ ohun kan ti ita gbangba. idaniloju."
Awọn awoṣe idakọ
Awoṣe idanwo Unit: "Ṣiṣe awọn idanwo ẹyọkan [JUnit/XCTest] fun iṣẹ yii fun [ede]. Iwa ti a nireti: [kini lati ṣe] pẹlu: oju iṣẹlẹ idunnu, titẹ asan, awọn aaye fifọ, ọran aṣiṣe. Jẹ ki idanwo kọọkan rii daju ihuwasi kan; lo asọye ti o nilari; ẹlẹya. [koodu]”
UI igbeyewo awoṣe: "Kọ a UI igbeyewo ti awọn wọnyi sisan pẹlu [Espresso/XCUITest]: [olumulo sisan igbese nipa igbese]. Yan iboju eroja pẹlu Ayewo id, lo id dipo ti ọrọ. Fi idaduro nwon.Mirza. Leti mi lati baramu ano ids to gangan koodu. "
Awoṣe iṣayẹwo idanwo: "Ṣayẹwo awọn idanwo wọnyi: 1) Ṣe wọn rii daju pe o jẹ abajade / ihuwasi tabi wọn jẹ asan? 2) Ṣe wọn bo awọn ọran idiwọn? 3) Ṣe wọn bug fix koodu tabi nireti ihuwasi to tọ? Flag ati mu awọn idanwo alailagbara lagbara. [awọn idanwo]”
Awoṣe iṣapeye ibora: "Ṣe idanimọ awọn apakan ti a ko ni idanwo ti kilasi yii ki o daba awọn idanwo ti o nilari. Ṣaju awọn ọna pẹlu eewu gidi, kii ṣe nọmba awọn agbegbe nikan. [koodu]”.
Awọn aṣiṣe ti o wọpọ
- O kan ṣe idanwo oju iṣẹlẹ idunnu naa. Awọn aṣiṣe ti wa ni ipamọ ni awọn ipinlẹ opin; Beere fun wọn ni gbangba.
- Gbigba idanwo ṣofo / asan. Awọn idanwo ti iru assertTrue (otitọ) ṣe afẹfẹ iwọn ko si pese aabo.
- Nini AI rii daju kini koodu n ṣe. Idanwo yẹ ki o reti ohun ti koodu yẹ ki o ṣe; bibẹkọ ti o atunse kokoro.
- Asise awọn dopin nọmba fun idi. 90% agbegbe ko tumọ si deede 90%.
- Sisopọ si ọrọ ni idanwo UI. Idanwo naa bajẹ nigbati ọrọ ba yipada; Lo idanimọ iduroṣinṣin (id).
- Ṣiṣeto awọn ẹlẹgàn ti ko tọ. “Idanwo ẹyọkan” ti o pe iṣẹ gangan yoo lọra ati brittle.
Ni soki
Idanwo jẹ ẹhin ti didara alagbeka, ati pe AI jẹ daradara ni agbegbe yii, paapaa ni idanwo ẹyọkan. Tẹle jibiti idanwo: ọpọlọpọ awọn ẹya, iṣọpọ alabọde, idanwo UI kekere. Ni ṣoki beere AI fun oju iṣẹlẹ idunnu bi daradara bi opin awọn ọran ati awọn ipa ọna aṣiṣe. Rii daju wipe kọọkan igbeyewo ti ipilẹṣẹ kosi validates a ihuwasi; Awọn idanwo ofo ati agbegbe inflated jẹ ṣinilọna. Ni pataki julọ, sọ fun AI kini koodu yẹ ki o ṣe, kii ṣe ohun ti o ṣe, nitorinaa idanwo naa mu kokoro naa, kii ṣe atunṣe.
Ohun elo iṣẹ-ṣiṣe
Beere awọn idanwo lati ọdọ AI ni lilo “awoṣe idanwo Unit” fun iṣẹ iṣaro iṣowo kan (fun apẹẹrẹ iṣiro ẹdinwo tabi afọwọsi fọọmu) ati ni pato pato awọn ọran opin (asan, odi, tobi ju). Ṣiṣe awọn idanwo ti ipilẹṣẹ, lẹhinna ṣe ayẹwo awọn idanwo kanna pẹlu “awoṣe iṣayẹwo idanwo”. Wa o kere ju idanwo alailagbara kan, mu u lagbara, ati idanwo boya awọn idanwo naa mu aṣiṣe iṣẹ naa gangan (nipa fifi kokoro kekere kan kun).
akojọ ayẹwo
- [] Mo ti yan ipele ti o yẹ fun jibiti idanwo (ẹka pataki)
- [] Mo fẹ iye to ati awọn aṣiṣe aṣiṣe ni afikun oju iṣẹlẹ idunnu
- [] Mo rii daju pe idanwo kọọkan ni idaniloju to nilari
- [] Mo sọ fun AI kini koodu yẹ ki o ṣe, kii ṣe ohun ti o ṣe
- [] Mo ti dojukọ lori awọn ipa ọna eewu gangan, kii ṣe nọmba awọn agbegbe
- [] Mo lo idanimọ iduroṣinṣin ni awọn idanwo UI, Emi ko sopọ mọ ọrọ