Kitengo 6 / 12

Jaribu Automation na Uhakikisho wa Ubora

Faida:

  • Uwezo wa kutengeneza kitengo, ujumuishaji na majaribio ya kesi makali na uthibitisho wa maana na AI
  • Uwezo wa kutoa chanjo ya majaribio, viwango vya kikomo na hali mbaya kwa usaidizi wa AI
  • Uwezo wa kuthibitisha kuwa majaribio yanayotolewa na AI kweli yanathibitisha tabia na usirudie tu nambari iliyopo

Majaribio ni utaratibu unaothibitisha kwamba programu inatenda kama ilivyoahidiwa. Kitengo kizuri cha majaribio kitakuambia baada ya sekunde chache kama mabadiliko yatavunja kitu na kumpa mhandisi uhuru wa kutenda kwa kujiamini. AI huharakisha sehemu inayochosha zaidi na iliyorukwa zaidi ya uandishi wa jaribio: inazalisha matukio mengi, vizuizi, na visa hasi. Lakini kuna mtego wa hila hapa: AI inaweza kuandika majaribio ambayo yanathibitisha tabia ya sasa ya msimbo (labda mbovu), sio tabia yake inayodhaniwa; au inaweza kutoa majaribio tupu ambayo hupita kila wakati, sio kuangalia chochote. Thamani ya jaribio haiko katika iwapo itafaulu, lakini katika kama inakagua kitu sahihi na kuwa nyekundu inapokosea.

Katika kitengo hiki, utajifunza jinsi ya kuzalisha vipimo vya kitengo, ujumuishaji na visasi kwa madai yenye maana; jinsi ya kutoa chanjo ya majaribio, vizuizi, na matukio ya kando kwa utaratibu; na tutaona jinsi unavyoweza kuangalia ikiwa majaribio ambayo AI hutoa kweli yanathibitisha tabia.

Dhana: Upimaji wa kitengo: Hujaribu kitendakazi/darasa moja kwa kutengwa. Jaribio la ujumuishaji: Majaribio ambayo sehemu nyingi hufanya kazi pamoja kwa usahihi. Madai: Taarifa inayokagua kwamba matokeo ni sawa na yale yaliyotarajiwa; Huu ndio moyo wa mtihani. Chanjo: Ni kiasi gani cha nambari inayoendeshwa na majaribio; Chanjo ya juu haihakikishi ubora.

Kuzalisha Mitihani ya Maana

Mtihani mzuri hufanya mambo matatu kwa uwazi: huweka hali, hufanya kitendo, huthibitisha matokeo. Unapochapisha majaribio kwa AI, taja ni tabia gani unataka kuthibitisha na ni hali gani inapaswa kushughulikia; Vinginevyo, hutoa vipimo vya juu ambavyo hupita kila wakati.

  1. Bainisha tabia ya kujaribiwa. "Ni nini kinahesabiwa kuwa sawa?" Jibu swali kwa uwazi.
  2. Uliza aina za matukio. Kawaida, kikomo, hasi, hali ya makosa.
  3. Ingiza madai yenye maana. Haikuwa tu "kutupa kosa", "ilirudisha thamani sahihi".
  4. Angalia usahihi wa mtihani. Je, jaribio huwa jekundu unapovunja msimbo kwa uangalifu?

Kidokezo cha kina cha uundaji wa majaribio: "Andika majaribio ya kitengo kwa chaguo za kukokotoa za 'applydiscount(kiasi, kuponi)'. Kuwa na ANGALAU hali moja katika kategoria zifuatazo: (1) kuponi halali ya kawaida, (2) pointi za kuvunja (kiasi 0, punguzo la 100%), (3) hasi (kuponi isiyo sahihi, kiasi hasi kinachotarajiwa), (TENSE inatazamiwa kuwa na hitilafu kwa kila CONC). test (sio 'kazi' tu). Taja vipimo vinavyoweza kusomeka: [code]"

Kidokezo cha uchimbaji wa thamani ya mipaka: "Fanya uchanganuzi wa thamani ya mipaka kwa ingizo za chaguo hili la kukokotoa. Kwa kila kigezo, toa thamani 'kwenye mpaka tu', 'chini kidogo ya mpaka', 'juu ya mpaka' kama jedwali. Kisha orodhesha hali za majaribio zinazofunika mipaka hii. Usiandike msimbo bado, weka saini tu uchambuzi na orodhesha shughuli":

Tahadhari: Ufikiaji wa juu wa majaribio (k.m. 90%) hauthibitishi kuwa msimbo ni sahihi. Hatua za chanjo ni safu ngapi zilitekelezwa; sio kwamba mistari hiyo hutoa matokeo sahihi. Jaribio lisilo na uthibitisho wa maana huongeza ufikiaji lakini halihakikishii chochote. Maudhui ya madai huamua ubora, si idadi ya madai.

Kujaribu Jaribio Lenyewe: Mantiki ya Mutation

Njia ya vitendo zaidi ya kuelewa ikiwa jaribio linalotokana na AI linafanya kazi kweli ni kuvunja msimbo kwa makusudi (mantiki ya upimaji wa mabadiliko). Badilisha hali, fanya + ishara -; Ikiwa hakuna majaribio yatakuwa mekundu, majaribio yako hayadumii tabia hiyo.

Jaribu kidokezo cha uwindaji wa hatari: "Niambie ni hitilafu zipi katika misimbo hii ambazo majaribio yafuatayo HUENDA YASIWE NAWE. Pendekeza mabadiliko madogo 5 yanayoweza kufanywa kwa msimbo (k.m. >= badala ya >, - badala ya +) na uonyeshe kwa kila moja ikiwa majaribio yaliyopo yataipata. Kwa wale ambao hawajakamatwa, pendekeza majaribio ambayo yanafaa kuongezwa. Code: [code] Majaribio":

Uhamasishaji dhaifu / Uhamasishaji Wenye Nguvu

DHAIFU: "Andika jaribio kwa chaguo hili la kukokotoa." (Tokeo: kwa kawaida hali moja ya kufurahisha, dai hafifu; hukosa makosa.) STRONG: "Andika jaribio kwa chaguo hili la kukokotoa la 'nenosiriNguvu'. Sheria: angalau herufi 8, herufi kubwa 1, tarakimu 1 inahitajika. Funika hali zifuatazo kama majaribio TENGE: herufi 8 haswa (kikomo), herufi tupu, herufi tupu, isiyo na kikomo cha herufi 7. string, nafasi pekee, ndefu sana (herufi 1000) Thibitisha kwa uwazi thamani inayotarajiwa ya kweli/sio kweli katika kila jaribio na taja jaribio kulingana na kile kinachokagua."

Uhakika wenye nguvu unatoa sheria na hali kamili za mipaka. Jozi za mipaka kama vile "herufi 8/7" ndizo mahali pa kawaida pa kufanya makosa (inayochanganya > na >=). Kidokezo dhaifu hupita mipaka hii na kubeba hitilafu hadi katika uzalishaji.

Aina za Mtihani na Mahali pa Kutumia

Aina ya mtihani

Je, inathibitisha nini?

Mchango wa AI

Tahadhari

kitengo

Kitendaji/darasa moja

Inazalisha matukio mbalimbali haraka

Uthibitisho wa maana unahitajika

ushirikiano

Sehemu zinazofanya kazi pamoja

Mazingira na rasimu ya data ya kejeli

Tabia ya kweli ya kulevya

mwisho/kubali

Mtiririko mzima wa mtumiaji

Orodha ya hatua na matarajio

kukabiliwa na brittleness

kurudi nyuma

Hitilafu ya zamani haikurudi

Mtihani maalum wa makosa

Inapaswa kuongezwa kwa kila marekebisho

Kesi Ndogo

Kesi ya 1 - Jaribio ambalo hupita kila wakati. AI huandika majaribio 12 kwa kazi na yote yanafaulu. Mhandisi anakuwa na shaka na anapotosha kwa makusudi thamani ya kurejesha ya kazi; Ni 3 tu kati ya vipimo vinavyogeuka kuwa nyekundu. Majaribio mengine 9 hayana madai yenye maana. Upimaji unaimarishwa na uwindaji wa mabadiliko; ulinzi wa kweli hupatikana katika matukio 9.

Kesi ya 2 - Hitilafu ya mpaka. Kitendo cha uthibitishaji wa umri kinapaswa kusema "18 na zaidi ni halali" lakini >18 imeandikwa, kumaanisha umri wa miaka 18 umekataliwa. Hitilafu huonekana mara moja katika majaribio kwa sababu AI huzalisha "haswa 18" kupitia uchanganuzi wa pointi. Jaribio moja la kikomo huzuia malalamiko yoyote ya mtumiaji halisi.

Kesi ya 3 - Kurekebisha tabia ya sasa. Wakati AI inapoambiwa "kuandika jaribio kulingana na nambari hii", hutoa jaribio ambalo linakubali kama "sahihi" kosa la kuzungusha ambalo tayari lipo kwenye msimbo. Wakati mhandisi anachapisha jaribio kulingana na mahitaji (thamani sahihi inayotarajiwa) na sio msimbo, jaribio linabadilika kuwa nyekundu na hitilafu halisi hutokea. Majaribio yanapaswa kutolewa kutoka kwa matarajio, sio kutoka kwa nambari.

Makosa ya kawaida

  • Madai yasiyo na maana. "Haukutupa kosa" haitoshi; Thamani sahihi lazima ithibitishwe.
  • Kuchanganya upeo na ubora. Chanjo ya juu sio dhamana ya matokeo sahihi.
  • Kuchapisha jaribio kwa nambari. Hurekebisha kosa la sasa kuwa "kweli"; Vipimo vinapaswa kutoka kwa matarajio.
  • Kuruka maadili ya kikomo. Kuchanganya > na >= ndilo kosa la kawaida zaidi; jozi za mipaka lazima zijaribiwe.
  • Sio kukagua mtihani wenyewe. Jaribio ambalo halina rangi nyekundu unapovunja msimbo haitoi ulinzi.

Kwa muhtasari

Seti nzuri ya majaribio ndio ufunguo wa kufanya mabadiliko kwa ujasiri. AI haraka huzalisha wingi wa matukio, mipaka, na hali mbaya; Lakini ikiwa itapata majaribio kutoka kwa nambari badala ya mahitaji, inaweza kurekebisha hitilafu zilizopo au kuandika majaribio yasiyo na maana ambayo hufaulu kila wakati. Thibitisha thamani halisi inayotarajiwa katika kila jaribio, jumuisha jozi zilizounganishwa, na uthibitishe kuwa majaribio yako yanalindwa kwa kuvunja msimbo kimakusudi. Maudhui ya madai, si idadi ya mawanda, huamua ubora.

Jukumu la maombi

Chagua chaguo za kukokotoa na uifanye itoe majaribio katika kategoria nne (kawaida, kikomo, hasi, hitilafu) kwa kidokezo cha kina cha kuunda jaribio; Kuwa na thamani halisi inayotarajiwa kuthibitishwa katika kila jaribio. Kisha endesha kidokezo cha uwindaji wa uwezekano wa kuathiriwa, pendekeza mabadiliko madogo 5 kwenye msimbo, na ufanye majaribio ili kuangalia ni zipi wanazopata. Ongeza jaribio jipya la angalau mabadiliko moja ambayo hayakunaswa na uonyeshe kuwa sasa yapo katika nyekundu.

orodha ya ukaguzi

  • [ ] Nilichapisha majaribio kulingana na tabia inayotarajiwa/sahihi, sio msimbo.
  • [ ] Nilishughulikia matukio ya kawaida, kikomo, hasi na makosa.
  • [ ] Nilidai thamani halisi inayotarajiwa katika kila jaribio.
  • [ ] Nilijaribu jozi za mpaka (juu-chini / juu tu-chini).
  • [ ] Kwa kuvunja kanuni kimakusudi, nilithibitisha kuwa majaribio yaligeuka kuwa mekundu.
  • [ ] Nimeongeza jaribio jipya la mabadiliko ambayo hayajagunduliwa.