Kitengo 9 / 11

Majaribio ya Urekebishaji, Matengenezo ya Jaribio, na Kupambana na Majaribio Hafifu

Faida:

  • Kuelewa madhumuni ya upimaji wa rejista na uweze kuchagua majaribio na kutoa kesi za urekebishaji kulingana na mabadiliko na akili ya bandia.
  • Uwezo wa kugundua sababu za msingi za majaribio dhaifu (muda, utegemezi wa agizo, hali ya pamoja, utegemezi wa nje) na kutumia suluhisho za kudumu bila kukandamiza dalili.
  • Uwezo wa kudumisha nidhamu ya kuendesha toleo kamili la awali la kifurushi huku ukiweka kitengo cha urekebishaji haraka, huru na cha kuaminika kwa kuondoa majaribio ya nakala.

Programu hubadilika kila wakati; Kila kipengele kipya, kila marekebisho, yanaweza kuvunja kitu ambacho kilifanya kazi hapo awali. Usumbufu unaofuata wa kazi ya awali ya kufanya kazi inaitwa regression. Jaribio la urekebishaji ni kujaribu tena utendakazi uliopo kwa kila mabadiliko ili kupata uharibifu huu. Kadiri muda unavyopita, vyumba hivi vya majaribio vinakua vikubwa - maelfu ya majaribio - na matatizo mawili makubwa hutokea: kikundi hupungua kasi, na majaribio dhaifu - majaribio yasiyoaminika ambayo wakati mwingine hupita na wakati mwingine kushindwa katika misimbo sawa - huharibu imani ya timu katika matokeo ya mtihani. Akili Bandia (AI) ni usaidizi wenye nguvu katika kuweka kitengo cha regression kikiwa kimedumishwa vyema, kwa haraka na kutegemewa. Lakini pango kuu linabaki: Ingawa AI inaweza kutoa "kushinda" jaribio dhaifu, mara nyingi inaweza kutoa kiraka ambacho hufunika mdudu halisi. Kazi yako ni kutafuta sababu kuu ya kukosekana kwa utulivu, sio kukandamiza dalili.

Sababu za mizizi ya vipimo tete

Jaribio dhaifu ndilo tatizo la majaribio la hila zaidi: halitegemewi ikiwa litafaulu au kutofaulu, na hivyo kusukuma timu katika mazoea ya "lazima iwe imekwama tena, iendeshe tena" - na tabia hii siku moja itapuuza mdudu halisi kama "dhaifu". Sababu kuu za mizizi:

  • Muda/masharti ya mbio: Jaribio hukagua matokeo bila kungoja operesheni imalizike. Sababu ya kawaida.
  • Utegemezi wa agizo: Majaribio hutegemea data iliyoachwa na kila mmoja; Inavunjika wakati agizo linabadilika.
  • Kesi iliyoshirikiwa: Majaribio mengi hutumia data/mtumiaji sawa, yanakinzana.
  • Utegemezi wa nje: Mtandao halisi, huduma ya wahusika wengine, wakati wa mfumo, thamani ya nasibu.
  • Tofauti ya mazingira: Hubadilisha hadi eneo, hukaa katika CI (mazingira ya ujumuishaji endelevu).
Tahadhari: Kufaulu jaribio dhaifu kwa "kujaribu tena mara chache" mara nyingi kutaficha hitilafu halisi ya upatanishi. Jaribu tena ni zana ya uchunguzi, sio matibabu. Tafuta chanzo kwanza; Tumia tu kujaribu tena kama suluhu la mwisho kwa ukosefu wa uthabiti uliorekodiwa, wa nje.

Matengenezo ya majaribio: kuweka kifurushi kikiwa na afya

Suite ya regression ni kama bustani; Ikiwa haitatunzwa, magugu yatachukua nafasi. AI husaidia katika kazi tatu za matengenezo:

1. Usafishaji wa mtihani wa kurudia / usio wa lazima. Baada ya muda idadi kubwa ya kesi hujilimbikiza kupima kitu kimoja. AI inapendekeza kupanga na kuunganisha majaribio sawa.

2. Uchunguzi wa mtihani dhaifu. Unaipa AI msimbo wa majaribio na muundo usio na utulivu; inapendekeza sababu zinazowezekana za mizizi na suluhisho la kudumu.

3. Uteuzi wa mtihani/uwekaji kipaumbele. Ni ghali kuendesha kifurushi kizima kwa kila mabadiliko. Kwa uchanganuzi wa athari za majaribio (kuchagua majaribio muhimu pekee kulingana na nambari iliyobadilishwa), AI inapendekeza ni majaribio gani yanapaswa kutekelezwa kwanza. Hata hivyo, kifurushi kamili cha kabla ya kutolewa ni lazima.

Karantini: kudhibiti haki ya majaribio dhaifu

Umegundua kuwa jaribio ni dhaifu, lakini huna wakati wa kurekebisha chanzo mara moja. Nini cha kufanya? Kuna njia mbili zisizo sahihi: kufuta jaribio kabisa (tabia hiyo haijahifadhiwa kabisa) au kunyamazisha kwa kujaribu tena (kufunika mdudu halisi). Njia sahihi ni kuweka karantini (kutenganisha kwa muda mtihani dhaifu kutoka kwa kifurushi kikuu na kuifuatilia katika orodha tofauti). Jaribio la kuwekewa karantini halizuii kuunganishwa kwa toleo, lakini linasalia kuwa deni linaloonekana na hushughulikiwa mara kwa mara. Jambo muhimu ni hili: karantini ni chumba cha kusubiri, si pipa la takataka. Ikiwa orodha ya karantini inakua, hii ni kengele kwamba afya ya majaribio ya timu inazorota. AI inaweza kukagua mara kwa mara orodha yako ya karantini na kuipanga kulingana na mifumo ya sababu; Huwasha suluhu za pamoja kwa kufichua sababu za kawaida, kama vile "majaribio yote 6 yameunganishwa kwa mtumiaji sawa wa jaribio".

Kidokezo: Ongeza "mmiliki" na "tarehe iliyokaguliwa mwisho" kwa kila rekodi ya karantini. Karantini isiyo halali inakuwa dampo la kudumu; Vipimo vya Brittle huishi huko milele kwa sababu hakuna anayejali.

Jedwali la mkakati wa kurejesha nyuma

Hali

Mkakati

Jukumu la AI

marekebisho madogo

Eneo lililoathiriwa + mtihani wa moshi

Chagua vipimo vinavyofaa

kipengele kipya

Moduli inayohusiana + ujumuishaji

Pendekeza kesi mpya ya kurejesha hali

kiashiria kikubwa

Kifurushi kamili cha urejeshaji

Uchambuzi wa pengo la chanjo

kutolewa kabla

Kifurushi kamili + uchunguzi

Makadirio ya kipaumbele na muda

Marekebisho ya moja kwa moja ya haraka

Iliyolenga + njia muhimu

Kiwango cha chini cha mtihani salama seti

Mwongozo dhaifu / Mwongozo thabiti

Dhaifu: "Jaribio hili wakati mwingine linashindwa, lirekebishe."
Nguvu: "Jaribio hili halifaulu mara 3 kati ya 10, msimbo bila kubadilishwa. Tambua sababu kuu ya kukosekana kwa utulivu: inaweza kuwa muda/mbari, utegemezi wa mpangilio, hali ya pamoja, utegemezi wa nje, au tofauti ya mazingira. Onyesha ni mstari upi katika jaribio unaoelekeza kwa kila sababu inayowezekana. Pendekeza suluhu la kudumu; USIpendekeze suluhu ya kukandamiza dalili kama vile 'jaribio' linaloweza kuandikwa tena. sababu ya kuandika tena. Njia ya hitilafu: [logi]."

Agizo lenye nguvu; inaelekeza utambuzi kwa sababu ya msingi na inakataza kwa uwazi ukandamizaji wa dalili.

Violezo vinne vinavyoweza kunakiliwa

1) Utambuzi dhaifu wa mtihani:

Nambari hii ya jaribio wakati mwingine hupita na wakati mwingine hushindwa bila mabadiliko. Orodhesha watahiniwa wa sababu kuu (mbio, utegemezi wa mpangilio, hali ya pamoja, utegemezi wa nje, saa/nasibu, tofauti ya mazingira) na uonyeshe safu ya ushahidi katika jaribio kwa kila moja. Pendekeza suluhisho la kudumu; weka alama kwenye suluhisho la kukandamiza kama vile kujaribu tena kama suluhu la mwisho na kwa uhalali. Mtihani: [msimbo] / muundo usio thabiti: [mara ngapi katika kukimbia ngapi]

2) Kupendekeza kesi ya urekebishaji:

Mabadiliko yafuatayo yalifanywa: [badilisha/muhtasari wa PR].Orodhesha tabia za SASA ambazo mabadiliko haya yangevunja na kupendekeza kesi ya jaribio la urekebishaji kwa kila moja. Angazia haswa maeneo ya athari na utegemezi ulioshirikiwa.

3) Usafishaji wa majaribio maradufu:

Angalia kifurushi cha majaribio hapa chini. Nakala za kikundi au kesi zinazopishana ambazo hujaribu tabia sawa; Pendekeza zipi nihifadhi na zipi ninapaswa kuzichanganya kwa kila kikundi. Onya ikiwa kuna hatari ya kupoteza chanjo. Majaribio: [orodha/msimbo]

4) Uchaguzi wa athari ya mtihani:

Faili/kazi zifuatazo zimebadilika: [orodha]. Kutoka kwa kitengo cha majaribio kilichopo, chagua na uhalalishe majaribio ninayohitaji kufanya kwanza (yale ambayo yameunganishwa moja kwa moja / moja kwa moja na nambari iliyobadilishwa). Kumbuka: nikumbushe kuwa bado nitaendesha toleo kamili la toleo la awali.

kesi tatu ndogo

Kesi ya 1 - Kosa la kweli linafunikwa na Jaribu tena. Timu moja iliongeza majaribio 3 kwenye jaribio la malipo lililosalia mara kwa mara; Mtihani ulikuwa "unapita" kila wakati sasa. Kutumia "uchunguzi dhaifu wa mtihani" iligundua kuwa kukosekana kwa utulivu kulitokana na hali halisi ya mbio: kwa mzigo mkubwa, uthibitisho wa malipo wakati mwingine ulichakatwa mara mbili. Kwa miezi kadhaa, Jaribu tena kuficha hitilafu ambayo inaweza kusababisha upotevu halisi wa pesa moja kwa moja. Sababu ya mizizi imerekebishwa, jaribu tena kuondolewa.

Kesi ya 2 - Kifurushi kilipungua, kasi iliongezeka. Seti ya regression ya majaribio 1,400 ilichukua dakika 55. Kwa "kusafisha mtihani wa duplicate", vipimo 380 viligeuka kuwa nakala au kufunikwa; imeunganishwa. Kifurushi kilipunguzwa hadi vipimo 900, wakati ulipunguzwa hadi dakika 34, chanjo haikupunguzwa kwa kipimo. Maoni ya haraka yalihimiza timu kufanya majaribio mara kwa mara.

Kesi 3 - Utegemezi wa agizo. Jaribio lingepita kila wakati, lakini lingeshindwa kwa nasibu katika CI. Uchunguzi wa AI ulionyesha kuwa jaribio lilitegemea mtumiaji iliyoundwa na jaribio lingine, katika CI liliharibika kwa sababu majaribio yalifanyika kwa mpangilio sawia/tofauti. Kila jaribio lilifanywa ili kuanzisha data yake mwenyewe; Uamuzi umekwisha.

Makosa ya kawaida

  • Kunyamazisha jaribio dhaifu kwa kujaribu tena. Kujaribu tena bila kutafuta sababu ya msingi; kuficha kosa la kweli.
  • "Kukwama tena" utamaduni. Kupuuza mara kwa mara matokeo nyekundu; Siku moja, kuruka kosa halisi.
  • Sio kupogoa kifurushi hata kidogo. Kuruhusu majaribio yanayorudiwa kulundikana na kupunguza kasi ya kifurushi.
  • Utegemezi kati ya vipimo. Vipimo vinatokana na hali/mlolongo wa kawaida; chanzo cha kutokuwa na uhakika.
  • Kujaribu sehemu iliyobadilishwa tu na kuruka kifurushi kamili. Njia ya mkato ya kutolewa kabla; Madhara yaliyofichwa hutoroka.
  • Kutegemea utegemezi wa nje. Majaribio kulingana na mtandao halisi/saa/thamani ya nasibu; isiyo imara kwa asili.

Kwa muhtasari

Upimaji wa urekebishaji hupata mabadiliko yanayovunja kazi za awali za kufanya kazi; Lakini kadiri vifurushi vinavyokua, ucheleweshaji na majaribio madogo yanaondoa uaminifu. Sababu kuu za majaribio dhaifu kwa kawaida ni wakati, utegemezi wa mpangilio, hali ya pamoja, na utegemezi wa nje. AI ni msaada wenye nguvu katika uchunguzi, kusafisha na uteuzi wa mtihani; Lakini kukandamiza kutokuwa na uamuzi kwa kujaribu tena hufunika makosa halisi. Tafuta sababu kuu, fanya majaribio ya kujitegemea na ya kuamua, kata kifurushi mara kwa mara, endesha kifurushi kamili kabla ya kutolewa.

Jukumu la maombi

Chagua jaribio kutoka kwa mradi wako mwenyewe ambao unajua ni dhaifu (au unaonekana kutokuwa thabiti). Chambua watahiniwa wa sababu kuu na uthibitishe ushahidi katika jaribio kwa kiolezo cha "uchunguzi dhaifu wa mtihani". Tambua sababu kuu na utekeleze suluhisho la kudumu bila kujaribu tena. Kisha chagua majaribio 10 kutoka kwa kifurushi chako na utafute yale yanayoweza kuunganishwa na "usafishaji wa majaribio maradufu." Ripoti ni makosa mangapi ya majaribio uliyosuluhisha kutokana na sababu kuu na ni kesi ngapi zisizo za lazima ulizoondoa kwenye kikundi.

orodha ya ukaguzi

  • [ ] Nimegundua chanzo kikuu cha mtihani huo dhaifu; Sikuzuia dalili.
  • [ ] Nilichukulia Jaribu tena kama njia sahihi ya mwisho, si tiba.
  • [ ] Nilifanya majaribio kuwa huru na ya kuamua (yaliyotengwa na tegemezi za nje).
  • [ ] Nilipogoa majaribio yanayorudiwa/yasiyo ya lazima kutoka kwa safu ya rejista.
  • [ ] Nilichagua kujaribu kulingana na mabadiliko, lakini niliendesha toleo kamili la mapema la kifurushi.
  • [ ] Nilichukulia kila nyekundu kwa uzito, dhidi ya utamaduni wa "kukwama tena, pasi".