Majaribio ya pande mbili: kufikia ufikiaji bora wa michanganyiko mbalimbali ya majaribio

Mwanadamu kila wakati anajaribu kujizunguka mambo ya ubora. Mavazi ya nguo nzuri na ya vitendo, kula bidhaa za asili, kuendesha gari gari la kuaminika- hii sio tamaa ya asili kwa kila mtu? KATIKA orodha hii tunaweza kujumuisha kwa usalama na.

"Ubora" ni nini programu"? Hii ni bidhaa ambayo hufanya kazi iliyokusudiwa na kukidhi matarajio ya mtumiaji. Ili kufikia matokeo haya, mpango wowote kwanza hupitia majaribio na kisha tu huingia mikononi mwa mtumiaji wa mwisho. Kwa kuwa muda wa majaribio (kama mchakato wowote) unaelekea kukaribia ukomo, tunahitaji muundo mahiri wa mchakato. Na hapa huwezi kufanya bila kubuni mtihani.

Mbuni wa majaribio - huyu ni mnyama wa aina gani na unakula na nini?

Mtihani kubuni- hii ni hatua ya mchakato wa kupima programu ambapo kesi za majaribio (kesi za mtihani) zinaundwa na kuundwa kwa mujibu wa vigezo vya ubora vilivyoainishwa hapo awali na malengo ya kupima. Ipasavyo, mbuni wa majaribio ni mfanyakazi ambaye majukumu yake ni pamoja na kuunda seti ya kesi za majaribio ambazo zinahakikisha bora chanjo ya mtihani maombi.

6. Upimaji wa Uchambuzi wa Kikoa.
Mbinu hii inategemea kugawanya anuwai ya maadili yanayowezekana ya kibadilishaji (au anuwai) katika safu ndogo (au vikoa), kisha kuchagua thamani moja au zaidi kutoka kwa kila kikoa kwa majaribio. Kwa njia nyingi, majaribio ya kikoa yanaingiliana na mbinu tunazojua kuhusu kugawanya katika madarasa ya usawa na kuchanganua maadili ya mipaka. Lakini upimaji wa kikoa sio tu kwa mbinu zilizoorodheshwa. Inajumuisha uchanganuzi wa utegemezi kati ya vigezo na utafutaji wa maadili hayo ya vigezo vinavyobeba hatari kubwa (sio tu kwenye mipaka).

7. Tumia Uchunguzi wa Uchunguzi.
Kesi ya Matumizi inaelezea hali ya mwingiliano kati ya washiriki wawili au zaidi (kawaida mtumiaji na mfumo). Mtumiaji anaweza kuwa mtu au mfumo mwingine. Kwa wanaojaribu, Kesi za Matumizi ni msingi bora wa kuunda hali za majaribio (kesi za majaribio), kwani zinaelezea muktadha ambao kila kitendo cha mtumiaji kinafaa kutekelezwa. Matumizi ya Kesi, kwa chaguo-msingi, ni mahitaji yanayoweza kujaribiwa, kwa kuwa daima yanaonyesha lengo ambalo linahitaji kufikiwa na hatua zinazohitajika kuzalishwa ili kufikia hili.

Kuna nini cha kufikiria, lazima utikisike!

Kama ufafanuzi unaojulikana unavyosema, programu ni kufikiria, sio kuandika . Mwandishi ana hakika kabisa kuwa hiyo hiyo inaweza kusemwa juu ya upimaji. Kwa hivyo kwa nini tunahitaji wabunifu wa majaribio? Kwa nini upoteze muda kwenye uchanganuzi na muundo wakati unaweza kuutumia kufanya majaribio ya ziada?

Kutoka kwa mifano hapo juu ni wazi kwamba matumizi ya kubuni inaruhusu sisi kupunguza kwa kiasi kikubwa idadi ya vipimo, na pia kuzingatia maeneo magumu zaidi na muhimu ya utendaji. Sio bure kwamba makampuni mengi sasa sio tu kuanzisha nafasi tofauti za "mbuni wa mtihani" au "mchambuzi wa mtihani", lakini pia huwafundisha katika maalum.

Hakika: ni nini hatua ya, sema, kupima kikamilifu fomu ya idhini ikiwa utaratibu wa malipo ya bidhaa kwenye duka la mtandaoni haifanyi kazi kwa usahihi? Baada ya yote, wakati tester inakagua maadili 100 na vipimo 100, mbuni wa jaribio atagundua jinsi ya kuangalia maadili 1000 katika vipimo 10! Kwa hivyo, juhudi zinazotumiwa katika muundo wa jaribio zitalipa zaidi katika ubora wa utekelezaji wa majaribio.

Ingawa neno buzzword "pairwise" si maarufu tena kama ilivyokuwa zamani, swali la mbinu hii ya usanifu wa majaribio bado linaulizwa katika mahojiano. Walakini, sio wajaribu wote (wale wanaokuja kwa mahojiano na wale wanaofanya) wanaweza kujibu swali kwa uwazi, Kwa nini tunahitaji mbinu za ujumuishaji kwa ujumla na kwa jozi haswa (hitilafu nyingi, hata hivyo, ziko kwenye maadili ya parameta ya atomiki na hazitegemei zingine). Jibu rahisi kwa swali hili, kwa maoni yangu, ni kupata mende zinazotokea kwa sababu ya utegemezi wazi na wazi kati ya vigezo. Kwa kesi rahisi mbinu haziwezekani kuwa na manufaa makubwa, kwa vile zinaweza kuchunguzwa kwa mikono, na kwa idadi kubwa vigezo na utegemezi changamano kati yao, idadi ya vipimo itakuwa na uwezekano mkubwa kuwa kubwa sana kwa majaribio ya mwongozo. Kwa hivyo, matumizi kuu ya mbinu za ujumuishaji (na, ipasavyo, zana zinazozalisha mchanganyiko wa vigezo) ni mkusanyiko wa kiotomatiki wa seti za data za majaribio kulingana na sheria fulani.

Zana nyingi za kutengeneza majaribio ya ujumuishaji zinaweza kutoa matokeo katika mfumo wa faili ya data, ambayo inaweza kupitishwa kama pembejeo kwa majaribio yanayolingana. Mfano kama huo (kwa kutumia zana ya PICT) itajadiliwa hapa chini.

Mfano 1. Mfululizo na nambari ya pasipoti

Chini ya matumizi majaribio ya kiotomatiki kwa safu na nambari ya pasipoti, unaweza kuunda seti kamili ya vipimo vyema, kwani mahitaji ya uwanja huu ni madhubuti - mbili haswa. herufi kubwa Alfabeti ya Kiukreni (isipokuwa Ґ, Ї, b) na nambari sita kutoka 0 hadi 9. Kwa jumla kutakuwa na (33-3) 2 *10 6 = 9*10 8 vipimo hivyo. Hata hivyo, kuna matukio machache ambapo mahitaji ya uga ni magumu sana, na hakuna uwezekano kuwa upimaji wa kina utahitajika. Uwezekano mkubwa zaidi, inatosha kuangalia uwezekano wa kuingia kila barua ya mtu binafsi na kila nambari ya mtu binafsi katika kila nafasi, kwa mtiririko huo. Kazi ya kuandaa majaribio kama haya inaweza kutatuliwa kwa urahisi na zana ya majaribio ya pamoja:
SERIES_1: A, B, C, D, E, E, E, F, Z, I, J, K, L, M, N, O, P, R, S, T, U, F, X, C, CH, W, SH, Y, I SERIES_2: A, B, C, D, E, E, E, F, Z, I, J, K, L, M, N, O, P, R, S, T ,U,F,X,C,H,W,SH,Y,Y NUMBER_1: 0,1,2,3,4,5,6,7,8,9 NUMBER_2: 0,1,2,3,4 ,5,6,7,8,9 NUMBER_3: 0,1,2,3,4,5,6,7,8,9 NUMBER_4: 0,1,2,3,4,5,6,7,8 ,9 NUMBER_5: 0,1,2,3,4,5,6,7,8,9 NUMBER_6: 0,1,2,3,4,5,6,7,8,9 (SERIES_1, SERIES_2, NUMBER_1 , NUMBER_2, NUMBER_3, NUMBER_4, NUMBER_5, NUMBER_6) @ 1 Mfano 1
Ш 4 6 3 1 1 5 И Є 8 3 8 9 9 3 А Н 3 0 5 8 6 2 М С 4 3 4 1 3 1 И 4 6 7 3 1 4 ГЦ 0 2 4 5 2 0

Vipimo hasi vinaweza kuundwa vivyo hivyo (PICT hukuruhusu kuvitia alama tabia maalum "~").
SERIES_1: A, B, C, D, E, E, E, F, Z, I, J, K, L, M, N, O, P, R, S, T, U, F, X, C, CH, W, SH, Y, I SERIES_2: A, B, C, D, E, E, E, F, Z, I, J, K, L, M, N, O, P, R, S, T ,U,F,X,C,H,Sh,Sh,Y,Y NUMBER_1: 0,1,2,3,4,5,6,7,8,9,~A,~B,~C,~ D,~E,~F NUMBER_2: 0,1,2,3,4,5,6,7,8,9,~A,~B,~C,~D,~E,~F NUMBER_3: 0, 1,2,3,4,5,6,7,8,9,~A,~B,~C,~D,~E,~F NAMBA_4: 0,1,2,3,4,5,6 ,7,8,9,~A,~B,~C,~D,~E,~F NAMBA_5: 0,1,2,3,4,5,6,7,8,9,~A,~ B,~C,~D,~E,~F NUMBER_6: 0,1,2,3,4,5,6,7,8,9,~A,~B,~C,~D,~E, ~F Mfano 2
ZU 1 3 7 2 7 4 L Y ~B 7 3 2 7 9 A Є 8 8 2 0 ~A 8 Sehemu ya matokeo ya uigaji

Mfano 2. Kuongeza chanjo ya mtihani kwa kutumia parameter ya ziada

Wakati mwingine hitilafu zinazohusiana na uthibitishaji hutegemea jinsi mtumiaji anavyoingiza data batili: kutoka kwa kibodi (ya kimwili au ya skrini), kwa kutumia menyu ya muktadha nakala-bandika, hotkeys, kuburuta maandishi yaliyochaguliwa. Kwa mfano, mara nyingi kuburuta na kudondosha maandishi hakuchakatwa na uthibitishaji wa upande wa mteja ikiwa data isiyo sahihi imeingizwa kwa njia hii. Njia ya kuingiza inaweza kuingizwa kwenye mfano kama parameter ya ziada na uzingatie wakati wa kuandaa majaribio ya kiotomatiki.
SERIES_1: A, B, C, D, E, E, E, F, Z, I, J, K, L, M, N, O, P, R, S, T, U, F, X, C, CH, W, SH, Y, I SERIES_2: A, B, C, D, E, E, E, F, Z, I, J, K, L, M, N, O, P, R, S, T ,U,F,X,C,H,W,SH,Y,Y NUMBER_1: 0,1,2,3,4,5,6,7,8,9 NUMBER_2: 0,1,2,3,4 ,5,6,7,8,9 NUMBER_3: 0,1,2,3,4,5,6,7,8,9 NUMBER_4: 0,1,2,3,4,5,6,7,8 ,9 NUMBER_5: 0,1,2,3,4,5,6,7,8,9 NUMBER_6: 0,1,2,3,4,5,6,7,8,9 INGIA: kibodi, vitufe vya skrini , menyu ya muktadha, nakili bandika, buruta-n-dondosha Mfano 3
M L 0 8 0 8 5 9 kibodi Y U 0 0 2 3 2 2 buruta-n-tone S Ch 5 3 6 2 1 0 funguo za skrini Y D 3 9 4 1 6 7 menyu ya muktadha U Sh 9 9 0 7 4 4 kubandika nakala Sehemu ya matokeo ya uigaji

Mfano 3. Uchunguzi wa mifumo ya kufanya maamuzi, uthibitisho wa mahitaji

Kwa mifumo ya kufanya maamuzi, kesi za mtihani wa kina wakati mwingine hukusanywa, ambazo zinaweza kutumika sio tu kwa majaribio, bali pia kwa mahitaji ya kuthibitisha. Kwa kutumia sheria za mfumo kwa sequentially kwa kila mtihani, unaweza kuona ikiwa matokeo yasiyolingana yanapatikana.

Uthibitishaji wa mahitaji ni sehemu muhimu sana ya majaribio katika kwa kesi hii, kwani utata uliofichwa unaweza kugunduliwa. Zana ya uundaji wa jaribio la pamoja itakuruhusu sio tu kuunda majaribio, lakini pia kuweka masharti yaliyowekwa kwenye data ya uingizaji. Ikiwa hali hizi hufanya data yoyote iwezekanavyo isipatikane, chombo kitaonyesha hii, ambayo inaweza kutumika kama ishara ya kuangalia kwa uangalifu mahitaji ya uthabiti.
UMRI: 0-17, 18-21, 22-65, >=66 WATOTO: Y, N WANAOVUTA SIGARA: Y, N KAZI: 0-5, 6-10, >=11 (UMRI, WATOTO, VUTA SIGARA, KAZI) @ 4 IKIWA = "0-17" BASI<>">=11"; IF =">=11" BASI = "0-17"; Mfano 4
Vikwazo Onyo: Vikwazo vya vikwazo. Pato halitakuwa na maadili yafuatayo KAZI: >=11 Jibu la zana kwa mahitaji yanayokinzana

Muundo huu una mahitaji yanayokinzana ambayo hukata thamani ya KAZI: >=11, na haionekani katika majaribio yoyote. Kwa bahati mbaya, chombo hakijibu swali la hali gani husababisha mkanganyiko; inaonyesha tu ni thamani gani ambayo haijajumuishwa kwenye majaribio. Hata hivyo, maelezo haya yanaweza kutosha kutambua kutoka kwa safu nzima ya vikwazo vinavyoathiri parameter hii na kuchambua kwa kutofautiana.

Seti kamili ya majaribio inaweza kutumika baadaye kwa mbinu ya usanifu wa majaribio ya sababu.

Mfano 4. Uundaji wa vigezo vya mazingira kwa upimaji wa usanidi

Vyombo vya upimaji wa mchanganyiko pia hukuruhusu kuunda orodha ya usanidi unaowezekana, ambao unaweza kupangwa kwa umaarufu wa matumizi, kuondoa yale ambayo hayafai, nk. Ikiwa hauitaji kufanya majaribio yote kwa kila usanidi, unaweza kuyagawanya kwa usawa kati ya mazingira yaliyochaguliwa kwa kuongeza mazingira kama kigezo kingine cha kutoa data ya jaribio (kama ilivyofanywa katika mfano wa mbinu ya kuingiza data).
BROWSER: IE, Firefox, Chrome, Opera LANG: en, ru, ua OS: win, linux, android (BROWSER, LANG, OS) @ 1 IF = "linux" BASI<>"IE"; Mfano 5
YAANI kushinda Firefox na kushinda Opera kwenye linux ya Chrome kwenye android Matokeo ya uigaji

SERIES_1: A, B, C, D, E, E, E, F, Z, I, J, K, L, M, N, O, P, R, S, T, U, F, X, C, CH, W, SH, Y, I SERIES_2: A, B, C, D, E, E, E, F, Z, I, J, K, L, M, N, O, P, R, S, T ,U,F,X,C,H,W,SH,Y,Y NUMBER_1: 0,1,2,3,4,5,6,7,8,9 NUMBER_2: 0,1,2,3,4 ,5,6,7,8,9 NUMBER_3: 0,1,2,3,4,5,6,7,8,9 NUMBER_4: 0,1,2,3,4,5,6,7,8 ,9 NAMBA_5: 0,1,2,3,4,5,6,7,8,9 NUMBER_6: 0,1,2,3,4,5,6,7,8,9 MAZINGIRA: YAANI ua win, Firefox imeshinda, Opera ua linux, Chrome ru android Mfano 6

Mfano 5. Kuunda vipimo kadhaa kwa kuzingatia idadi kubwa ya vikwazo

Kwa kweli, upimaji wa ujumuishaji pia unaweza kutumika kutoa majaribio ambayo hufanywa kwa mikono, lakini inaonekana kwangu kwamba hii inapaswa kufanywa tu ikiwa kuna idadi kubwa ya vikwazo ambavyo ni vigumu kukumbuka. Kutokana na kuwepo kwa hali, idadi ya vipimo inaweza kuwa mdogo, kwa kusema, kwa kawaida, na chombo kitakuwezesha kupata data zote za mtihani zinazowezekana ambazo zinafaa kwa masharti yote yaliyowekwa kwao. Walakini, majaribio yanaweza kufanywa kwa mikono.
UMRI: 0-17, 18-21, 22-65, >=66 WATOTO: 0, 1, 2, 3, 4, 5 UVUTAJI SIGARA: Y, N KAZI: 0-5, 6-10, >=11 IF = "0-17" BASI<>">=11"; IF = "0-17" BASI = 0; IF = "18-21" BASI< 2; IF >0 BASI = "N"; IF = ">=66" BASI<>"0-5"; IKIWA = "0-17" AU = "18-21" BASI = "0-5"; Mfano 6
22-65 2 N 0-5 18-21 1 N 0-5 >=66 2 N 6-10 22-65 4 N 6-10 22-65 5 N 6-10 22-65 3 N 6-10 >= 66 4 N >=11 22-65 5 N >=11 0-17 0 Y 0-5 >=66 3 N >=11 22-65 4 N 0-5 22-65 2 N >=11 18-21 0 Y 0-5 22-65 0 Y >=11 22-65 1 N 6-10 22-65 3 N 0-5 >=66 1 N >=11 0-17 0 N 0-5 >=66 0 Y 6 -10 >=66 5 N >=11 22-65 5 N 0-5 Matokeo ya kuiga - vipimo 21

Uchunguzi wa jozi ni mbinu ya kutengeneza seti za data za majaribio kutoka seti kamili data ya pembejeo kwenye mfumo, ambayo inakuwezesha kupunguza kwa kiasi kikubwa idadi ya kesi za mtihani.

Kiini cha upimaji wa pande mbili kinaweza kutengenezwa kama ifuatavyo: uundaji wa seti za data ambapo kila thamani iliyojaribiwa ya kila kigezo kilichojaribiwa huunganishwa angalau mara moja na kila thamani iliyojaribiwa ya vigezo vingine vyote vilivyojaribiwa.

Malengo makuu ya Jaribio la Pairwise:

  • ondoa hundi zisizohitajika;
  • kutoa chanjo nzuri ya mtihani;
  • kutambua idadi kubwa zaidi mende kwenye seti ndogo ya vipimo.

Wacha tuangalie kwa undani kiini cha upimaji wa jozi kwa kutumia mifano.

Mfano 1

Wacha tufikirie kuwa tunayo vigezo A, B na C kuchukua maadili Ndiyo au Hapana. Kiasi cha juu zaidi mchanganyiko wa maadili ya vigezo hivi - 8. Lakini wakati wa kutumia majaribio ya jozi, michanganyiko minne inatosha, kwani yote huzingatiwa. jozi zinazowezekana vigezo (jozi A na B, jozi B na C, jozi A na C):

Mfano 2

Wacha tuseme thamani fulani (kwa mfano, ushuru) kwa mtu huhesabiwa kulingana na jinsia yake, umri na uwepo wa watoto - tunapata tatu. parameta ya pembejeo, kwa kila moja ambayo tunachagua maadili yoyote yanayowezekana kwa majaribio. Kwa mfano: jinsia - kiume au kike; umri - hadi 25, kutoka 25 hadi 60, zaidi ya 60; uwepo wa watoto - ndiyo au hapana. Kuangalia usahihi wa mahesabu, unaweza, bila shaka, kupitia mchanganyiko wote wa maadili ya vigezo vyote:

Sakafu Umri Watoto
1 mtuhadi 25hawana watoto
2 mwanamkehadi 25hawana watoto
3 mtu25-60 hawana watoto
4 mwanamke25-60 hawana watoto
5 mtuzaidi ya 60hawana watoto
6 mwanamkezaidi ya 60hawana watoto
7 mtuhadi 25Je, una watoto
8 mwanamkehadi 25Je, una watoto
9 mtu25-60 Je, una watoto
10 mwanamke25-60 Je, una watoto
11 mtuzaidi ya 60Je, una watoto
12 mwanamkezaidi ya 60Je, una watoto

Au unaweza kuamua kuwa hauitaji kuangalia mchanganyiko wa maadili yote ya parameta na wote, lakini hakikisha tu kwamba jozi zote za kipekee za maadili ya parameta zimeangaliwa. Kwa mfano, kutoka kwa mtazamo wa vigezo vya jinsia na umri, tunahitaji kuhakikisha kuwa tunaangalia kwa usahihi mtu chini ya miaka 25, mwanamume kati ya 25 na 60, mwanamume baada ya 60, pamoja na mwanamke chini ya 25, mwanamke. kati ya 25 na 60, na pia mwanamke baada ya 60. Na kwa njia sawa kwa jozi nyingine zote za parameter. Na kwa hivyo, tunaweza kupata seti chache za maadili (zina jozi zote za maadili, ingawa zingine mara mbili):

Sakafu Umri Watoto
1 mtuhadi 25hawana watoto
2 mwanamkehadi 25Je, una watoto
3 mtu25-60 Je, una watoto
4 mwanamke25-60 hawana watoto
5 mtuzaidi ya 60hawana watoto
6 mwanamkezaidi ya 60Je, una watoto

Mfano 3

Kuna mbili Kivinjari cha Opera na Firefox. Kuna vyumba viwili vya upasuaji Mifumo ya Windows na Linux. Hakuna cha kupunguza hapa, kwani zinaweza kuunganishwa katika usanidi 4:

Kivinjari Mfumo wa Uendeshaji
1 OperaWindows
2 FirefoxLinux
3 OperaLinux
4 FirefoxWindows

Wacha tuseme tovuti iko katika lugha mbili: Kirusi (RU) na Kiingereza (EN). Kwa jaribio kamili, hebu tuzidishe usanidi huo 4 kwa 2, i.e. angalia kila moja ya usanidi uliopita katika lugha zote mbili. Lakini kwa nini? Badala yake, tutatumia mbinu ya jozi na badala ya usanidi 8, tutapata 4 tena:

Kivinjari Mfumo wa Uendeshaji Lugha
1 OperaWindowsRU
2 FirefoxLinuxRU
3 OperaLinuxEN
4 FirefoxWindowsEN

Zaidi ya hayo, tovuti inaweza kutumia MySQL, Oracle na MSSQL kama hifadhidata. Kwa kutumia tu upimaji wa jozi tunapata usanidi 7 (na sio 12 - 4x3 iliyopita, na haswa sio 24 = 2x2x2x3). Lakini hapa tena inafaa kufikiria ikiwa ni muhimu kuangalia kila hifadhidata pamoja na vigezo vingine. Ni wazi sivyo. Ni muhimu kuangalia, kwa mfano, jinsi kila hifadhidata inavyofanya kazi na kila lugha. Kwa hivyo, kwa kuanzisha vizuizi, badala ya 7 tunapata usanidi 6 (msingi 3 x lugha 2):

Kivinjari Mfumo wa Uendeshaji Lugha Hifadhidata
1 OperaWindowsRUMySQL
2 FirefoxLinuxENMySQL
3 OperaLinuxENMSSQL
4 FirefoxWindowsRUMSSQL
5 OperaLinuxRUOracle
6 FirefoxWindowsENOracle

Mfano 4
Kanuni kuu ya upimaji wa jozi ni kwamba katika idadi kubwa ya kesi hakuna haja ya kufanya majaribio kamili (yaani, kurudia juu ya usanidi wote ambapo maadili yote ya vigezo vyote yanakutana). Na hii mara nyingi haiwezekani kwa sababu ya ukosefu wa rasilimali. Kwa hiyo, inatangazwa kuwa ni ya kutosha kuangalia jinsi programu inavyofanya kazi wakati kila thamani ya kila parameter inakutana na thamani nyingine ya kila parameter angalau mara moja.
Wacha tuseme unahitaji kujaribu mchanganyiko wa mipangilio ya vigezo vya dirisha la Font kwenye kichakataji cha maneno:

Wacha tufikirie kuwa mende zinawezekana kwa sababu ya mchanganyiko wa vigezo. Ni majaribio ngapi yanahitajika ili kufidia maadili yote?
Wacha tuichukue kwa majaribio vigezo vifuatavyo na maana zao:

Kigezo Thamani 1 Thamani ya 2 Thamani ya 3 Thamani ya 4
Fonti TTArial
Mtindo Mara kwa maraItalikiUjasiriItaliki ya Bold
Ukubwa minkawaidamax
Rangi nyeusinyeupenyekundu
Mtindo wa mstari hakunamaneno tunyingine
Mgomo juuimezimwa
Mgomo Mara Mbili juuimezimwa
Superscript juuimezimwa
Usajili juuimezimwa
Kivuli juuimezimwa
Muhtasari juuimezimwa
Emboss juuimezimwa
Chora juuimezimwa
Kofia ndogo juuimezimwa
Kofia zote juuimezimwa
Imefichwa juuimezimwa

2 * 4 * 3 * 3 * 3 * 2^11 = 442 368.


Kwa hivyo, njia ya "Jozi zote" hukuruhusu kupunguza kwa kiasi kikubwa idadi ya hundi.

2. Zana

Mkusanyiko michanganyiko inayohitajika data mara nyingi sio kazi rahisi, lakini kwa bahati nzuri, kuna zana nyingi za kutatua. viwango tofauti ubora.

KATIKA nyenzo hii chombo kitapitiwa PICT (Jaribio la Kujitegemea la Pairwise- zana ya majaribio ya jozi kutoka Microsoft).

PICT inaruhusu uundaji wa seti ya kompakt ya thamani za kigezo cha majaribio ambayo inawakilisha kesi zote za majaribio kwa ufunikaji wa kigezo cha pamoja.

Hebu fikiria kufanya kazi na programu. Endesha PICT kutoka kwa safu ya amri.


mpango inachukua kama pembejeo rahisi faili ya maandishi na vigezo na maadili yao, inayoitwa mfano, na matokeo yanayotokana na matukio ya mtihani.

Hebu fikiria uendeshaji wa programu kwa kutumia mfano wa 2, ambao ulitolewa hapo juu. Tuna vigezo vifuatavyo na maadili yao: jinsia - kiume au kike; umri - hadi 25, kutoka 25 hadi 60, zaidi ya 60; uwepo wa watoto - ndiyo au hapana. Ikiwa tunapitia maadili yote yanayowezekana, basi idadi ya matukio itakuwa 12. Hebu tuunda mfano na tuone matokeo ambayo programu hutoa.

Mfano:


Tunatumia modeli kwenye PICT na kupata hali 6 za majaribio (badala ya 12):


Tofauti haionekani sana, lakini itaonekana zaidi na zaidi kadiri idadi ya vigezo au maadili yao yanavyoongezeka.

Wacha tufikirie kuwa tunayo vigezo vifuatavyo vya upimaji, ambavyo vinahusiana na kujaribu uundaji wa sehemu kwenye gari ngumu (mfano unachukuliwa kutoka kwa mwongozo wa PICT):


7 * 7 * 2 * 3 * 8 * 2 = 4704

Itakuwa vigumu sana kuwajaribu kwa muda unaofaa. Utafiti unaonyesha kuwa kupima jozi zote za thamani zinazowezekana kunatoa ufikiaji mzuri sana na idadi ya kesi za majaribio inabaki ndani ya anuwai inayofaa. Kwa mfano, (Msingi, FAT) ni jozi moja na (10, polepole) nyingine; kesi moja ya majaribio inaweza kufunika jozi nyingi. Kwa seti ya vigezo hapo juu, PICT itaunda jumla ya kesi 60 za majaribio:

Pia, badala ya pato la kawaida kwa koni, unaweza kutumia pato la moja kwa moja na uhifadhi kesi za majaribio katika MS Excel:


Matokeo yake, itaundwa Faili ya Excel na maudhui yafuatayo:

Lakini cha kufurahisha zaidi ni uwezo ambao PICT hutoa kwa kizazi cha hali kama hii. Zote zimejadiliwa kwa uangalifu katika mwongozo wa mtumiaji. Hapa kuna baadhi yao:

  1. Unaweza kutaja mpangilio ambao maadili yamewekwa kwa vikundi. Chaguo-msingi ni agizo la 2 na huunda mchanganyiko wa jozi za maadili (ambayo inajumuisha majaribio ya jozi). Lakini unaweza kutaja mfano wa 3 na kisha mapacha watatu watatumika, sio jozi. Upeo wa utaratibu wa mfano rahisi ni sawa na idadi ya vigezo, ambayo huunda seti ya wote chaguzi zinazowezekana.
  2. Unaweza kuweka vigezo katika submodels na kuwapa utaratibu tofauti kwa mchanganyiko. Hii ni muhimu ikiwa mchanganyiko wa vigezo fulani unahitaji kujaribiwa kwa undani zaidi au unahitaji kuunganishwa tofauti na vigezo vingine.
  3. Unaweza kuunda hali na vikwazo. Kwa mfano, unaweza kutaja kwamba moja ya vigezo itachukua thamani fulani tu wakati vigezo vingine kadhaa vinachukua thamani inayotakiwa. Hii inakuwezesha kukata uundaji wa hundi zisizohitajika.
  4. Unaweza kuonyesha maadili batili ya vigezo wakati wa kuunda michanganyiko ya kesi hasi za majaribio.
  5. Kutumia coefficients ya uzani, unaweza kuwaambia programu kutoa upendeleo kwa maadili fulani wakati wa kutengeneza mchanganyiko.
  6. Unaweza kutumia chaguo la kupunguza (endesha programu mara kadhaa kwa kutumia idadi iliyopunguzwa ya kesi za majaribio kila wakati) ili kupata idadi ya chini ya kesi za majaribio.

Kwa kumalizia, ningependa kusema kwamba PICT inatosha chombo cha mkono Kwa uumbaji wa haraka seti ya mchanganyiko wa data ya mtihani, hasa ikiwa kuna idadi kubwa ya vigezo ambavyo havihusiani sana kwa kila mmoja (ambayo inafanya uwezekano wa kutojaribu chaguzi zote zinazowezekana). Walakini, unahitaji kuunda kwa uangalifu mfano unaohitajika ili chanjo ya mtihani iwe ya kuridhisha.

3. Upimaji wa Pairwise unatumika wapi na lini?

Njia hiyo inafaa tu katika hatua za mwisho za maendeleo, au kuongezewa na vipimo vya msingi vya kazi. Kwa mfano, ikiwa unafanya majaribio ya usanidi, basi kabla ya kutumia majaribio ya jozi unapaswa kuhakikisha kuwa hali kuu inafanya kazi kwa wote. mifumo ya uendeshaji ah na vigezo chaguo-msingi (fanya Uchunguzi wa moshi (Uchunguzi wa moshi) au Jenga Mtihani wa Uthibitishaji (Kujaribu muundo)). Hii itawezesha sana ujanibishaji wa mende wa siku zijazo, kwa sababu wakati wa kupima kwa jozi, mtihani mmoja una vigezo vingi na maadili yasiyo ya msingi, ambayo kila moja inaweza kusababisha kushindwa na ujanibishaji wake katika kesi hii ni vigumu sana. Na ikiwa upimaji wa mkusanyiko hautafaulu, unapaswa kuacha kutumia njia ya majaribio ya jozi, kwa kuwa majaribio mengi yatashindwa, na ukiondoa mtihani mmoja kawaida hujumuisha upotezaji wa jozi kadhaa, na maana ya kutumia njia hiyo inapotea.

Kwa hiyo, njia hiyo inapaswa kutumika tu juu ya utendaji thabiti, wakati vipimo vya sasa tayari vinapoteza ufanisi wao.

Kwa hivyo, Upimaji wa Pairwise ni njia maalum ya kuboresha utayarishaji wa kesi za mtihani.

Kiini cha mbinu ya Majaribio ya Pairwise si kujaribu michanganyiko yote ya thamani zote, lakini kujaribu jozi zote za thamani.

Si muda mrefu uliopita (kuishi na kujifunza) nilikutana na dhana ya "majaribio ya pande mbili" (nitaitafsiri moja kwa moja kama "majaribio ya pande mbili", lakini ningependelea kutumia neno la Kiingereza), nilipendezwa na niliamua kubaini. ni nini. Baada ya kuelewa kwa haraka jinsi mbinu hii uh... inavyofanya kazi, mara moja nilikuwa na maswali kuhusu sababu na maana ya matumizi yake, na siku nyingine hatimaye nilifika kutafuta majibu kwao. Niliamua kuandika juu ya haya yote (ni muda mrefu, lakini haikufanya kazi kwa muda mfupi: ().


Nitasema mara moja kwamba, kwa furaha yangu, nilipata habari nyingi juu ya mada hii kutoka kwa nakala za Michael Bolton na James Bach kwa kushirikiana na Patrick Schroeder. Kwa furaha yangu - kwa sababu kwa upande mmoja, hawa wanajulikana sana. na watu muhimu kwangu juu ya mada ya uchunguzi wa uchunguzi. Kwa upande mwingine, kwa njia ya kawaida (kama inavyoonekana kwangu) kwa waandishi hawa, nakala hazisifu bila masharti, lakini jaribu kutathmini kwa uangalifu. mbinu hii, ambayo ndiyo hasa ilihitajiwa kwa wenye shaka na maswali yangu.

1. Ni nini?

Kwa kuwa nilianza kuandika juu ya upimaji wa jozi, basi inaonekana ninapaswa kujaribu kuelezea ni nini kiini cha mbinu hii. Sina hakika kuwa nitaweza kuielezea kwa uwazi na kwa usahihi, lakini nitajaribu hata hivyo :)

Kwa hivyo, upimaji wa pande mbili ni mbinu ya kutengeneza seti za data za majaribio. Kiini kinaweza kutengenezwa, kwa mfano, kama hii: uundaji wa seti za data ambapo kila thamani iliyojaribiwa ya kila moja ya vigezo vilivyojaribiwa huunganishwa angalau mara moja na kila thamani iliyojaribiwa ya vigezo vingine vyote vilivyojaribiwa. Haionekani wazi sana (na sio ukweli kwamba ni sahihi), kwa hivyo unaweza kujaribu kuelezea kwa mfano :)

Wacha tuseme thamani fulani (kodi) kwa mtu imehesabiwa kulingana na jinsia yake, umri na uwepo wa watoto - tunapata vigezo vitatu vya pembejeo, kwa kila moja ambayo tunachagua maadili kwa njia fulani ya majaribio. Kwa mfano: jinsia - kiume au kike; umri - hadi 25, kutoka 25 hadi 60, zaidi ya 60; kuwa na watoto - ndiyo au hapana. Kuangalia usahihi wa mahesabu, unaweza, bila shaka, kupitia mchanganyiko wote wa maadili ya vigezo vyote:

sakafu umri watoto
1 mtu hadi 25 hawana watoto
2 mwanamke hadi 25 hawana watoto
3 mtu 25-60 hawana watoto
4 mwanamke 25-60 hawana watoto
5 mtu zaidi ya 60 hawana watoto
6 mwanamke zaidi ya 60 hawana watoto
7 mtu hadi 25 Je, una watoto
8 mwanamke hadi 25 Je, una watoto
9 mtu 25-60 Je, una watoto
10 mwanamke 25-60 Je, una watoto
11 mtu zaidi ya 60 Je, una watoto
12 mwanamke zaidi ya 60 Je, una watoto

Au unaweza kuamua kuwa hatutaki michanganyiko ya thamani zote za vigezo na zote, lakini tunataka tu kuhakikisha kwamba tunaangalia jozi zote za kipekee za thamani za vigezo. Hiyo ni, kwa mfano, kwa vigezo vya jinsia na umri, tunataka kuhakikisha kuwa tunaangalia kwa usahihi mtu chini ya miaka 25, mwanamume kati ya 25 na 60, mwanamume baada ya 60, pamoja na mwanamke chini ya 25, mwanamke. kati ya 25 na 60, na kadhalika mwanamke baada ya 60. Na sawa kabisa kwa jozi nyingine zote za vigezo. Na kwa njia hii tunaweza kupata seti ndogo zaidi za maadili (zina jozi zote za maadili, ingawa zingine mara mbili):

sakafu umri watoto
1 mtu hadi 25 hawana watoto
2 mwanamke hadi 25 Je, una watoto
3 mtu 25-60 Je, una watoto
4 mwanamke 25-60 hawana watoto
5 mtu zaidi ya 60 hawana watoto
6 mwanamke zaidi ya 60 Je, una watoto

Mbinu hii ni takriban kiini cha mbinu ya majaribio ya pande mbili - hatujaribu michanganyiko yote ya maadili yote, lakini tunajaribu jozi zote za maadili.

2. Ni nini kizuri kuhusu hilo?

Wakati wa kuzungumza juu ya upimaji wa jozi, mara nyingi hulinganishwa na kutafuta mchanganyiko wote unaowezekana wa maadili, na moja ya faida kuu za upimaji wa jozi ni kwamba kuitumia hutoa idadi ndogo zaidi ya vifaa vya mtihani data kuliko kwa utaftaji kamili, ambao katika hali nyingi hauwezekani.

Labda, kwa kuzingatia mfano hapo juu, inaweza kuonekana kuwa tofauti kati ya mbinu hii na kuorodhesha maadili yote sio kubwa sana. Lakini hii ni tu na idadi ndogo ya vigezo na maadili yao, na zaidi kuna, tofauti kubwa zaidi. Hebu sema ikiwa kuna vigezo 50, ambayo kila mmoja anaweza kuchukua maadili 2, basi utafutaji kamili utahitaji idadi ya mchanganyiko sawa na 2 kwa nguvu ya 50, i.e. 1 125 899 906 842 624 :) Na unapotumia upimaji wa jozi, unaweza kupata na mchanganyiko kumi na nne tu!

Kwa njia, kukusanya mchanganyiko muhimu wa data mara nyingi sio kazi rahisi, lakini, kwa bahati nzuri, kuna zana nyingi za kuisuluhisha, za viwango tofauti vya ubora na (bure) :)

3. Kwa nini wanandoa

Binafsi, nilipofahamiana na mbinu hii, swali liliibuka mara moja - kwa nini jozi haswa? Kwa nini sio mara tatu ya maadili au aina fulani ya "upimaji wa quartet"? Je, mbinu hii, kwa mfano, ina uhalali wowote wa hisabati, au imetolewa tu kutoka kwa hewa nyembamba?

Niliweza kupata maelezo yafuatayo: mara moja kwa wakati, kulingana na uchambuzi uliofanywa na mtu anayetumia data halisi, ilihitimishwa kuwa sababu ya makosa mengi ni maadili ya mtu binafsi au mchanganyiko wa jozi za maadili. (chanzo). Uzingatiaji huu unaonekana kuwa msingi wa ukuzaji wa upimaji wa pande mbili.

Kimsingi, kuhesabiwa haki ni zaidi au chini ya busara, kwa sababu utafiti fulani umefanywa. Hata hivyo, kutokana na maelezo haya pia ni wazi kwamba sheria hii si ya kipekee ya kweli na kwamba haitakuwa kweli kwa kesi zote. Kwa kuongezea, inafaa kufikiria juu ya wazo la "makosa mengi" :)

4. Jinsi na wakati wa (si) kuitumia

Bila shaka, mbinu hii lazima itumike kwa usahihi katika kesi hizo ambazo zinafaa.

Sasa, ikiwa, kwa mfano, tunayo fomu iliyo na idadi fulani ya uwanja tofauti, data ambayo imehifadhiwa tu kwenye hifadhidata, basi kutumia mbinu hii haina maana kabisa, kwa sababu data haiingiliani ( ingawa kunaweza kuwa na nuances, Vipi data hii imehifadhiwa kwenye hifadhidata)! Na upimaji wa jozi ni mbinu ambayo inapaswa kutumika haswa katika kesi ya kuingiliana maadili (kwa zisizo za kuingiliana - mara nyingi ni rahisi sana hundi tofauti kila moja ya vigezo).

Kwa vigezo vinavyoingiliana, ninamaanisha hasa zile zinazoathiri matokeo sio tu kwa maadili yao ya kibinafsi, lakini haswa kwa mchanganyiko na kila mmoja. Kwa njia, hapa mfano mzuri mwingiliano - kufafanua chaguzi za mazingira ya majaribio, kwa mfano, kutoka kwa mifumo mingi ya uendeshaji, vivinjari na maazimio ya ufuatiliaji.

Kwa hivyo, ikiwa vigezo vya shida vinaingiliana, basi itaonekana kuwa majaribio ya jozi itakuwa suluhisho nzuri ambayo ingeokoa juhudi na mtihani kamili itatoa. Lakini bila shaka, mbinu hii hutoa chanjo ya juu, lakini ni mbali na kukamilika - ikiwa ghafla hitilafu hutokea wakati vigezo vitatu, vinne au zaidi vimeunganishwa, basi upimaji wa jozi hauwezi kusaidia (inategemea bahati yako). Kwa njia nzuri, matumizi ya majaribio ya pande mbili yanapaswa kutanguliwa na uchanganuzi wa programu iliyo chini ya jaribio ili kubaini ikiwa kujaribu michanganyiko mahususi ya jozi za vigezo inafaa kwake.

Kwa hali yoyote, ikiwa haulinganishi upimaji wa jozi na upimaji kamili, ni wazi kwamba hata utumiaji wa mbinu hii ni ngumu sana. Na katika hali nyingine, inaweza kuwa bora kupima seti kadhaa za zinazotumiwa zaidi watumiaji halisi data, badala ya kutumia juhudi nyingi na kujaribu seti nyingi zinazozalishwa, ambazo hazijumuishi mchanganyiko maarufu.

5. Kwa hiyo nilitaka kusema nini?

Kwa kweli, nilitaja wanandoa au watatu tu, lakini kuna idadi kubwa ya mazingatio ambayo yanafaa kuzingatiwa wakati wa kuamua kutumia mbinu ya upimaji wa jozi - inafaa angalau kurejelea nakala zilizotajwa hapo juu (kwa ujumla zinafaa. kusoma ikiwa una nia ya mada hii). Na upimaji wa pande mbili ni zana ambayo, kama zana zingine, inahitaji kutumiwa kwa busara.