Ndarja e ekuivalencës në testimin e softuerit është një teknikë e testimit të kutisë së zezë që ju ndihmon të krijoni raste testimi efikase pa kompromentuar mbulimin e testit.
Në këtë artikull, ne do të shohim se çfarë është ndarja e klasës ekuivalente, pse është e dobishme dhe do të eksplorojmë disa nga proceset dhe qasjet që mund të përdorni për të zhbllokuar përfitimet e kësaj teknike.
Çfarë është ndarja e klasës ekuivalente
në testimin e softuerit?
I gjithë softueri ka kushte të veçanta të hyrjes. Në kontekstin e testimit të softuerit, këto kushte hyrëse përshkruajnë vlerat ose të dhënat që një testues duhet të përdorë për të verifikuar cilësinë dhe funksionalitetin e softuerit të tij. Këto hyrje mund të jenë diçka aq e thjeshtë sa një klikim i mausit, deri në tekst dhe numra.
Një ndarje ekuivalente në testimin e softuerit eksploron inputet e ndryshme të nevojshme për përdorimin e softuerit dhe i grupon ato në klasa ekuivalente, p.sh., grupe inputesh që do të kenë një efekt ekuivalent në sjelljen e softuerit.
Nëse e dini se si do të sillet secili grup inputesh, atëherë nuk keni nevojë të testoni secilin përfaqësues të grupit. Si i tillë, ndarja e klasës së ekuivalencës është një mënyrë e shkëlqyer për të ndihmuar testuesit të zvogëlojnë frekuencën e testeve të tepërta. Në një botë hiper-konkurruese të zhvillimit të softuerit me afate gjithnjë e më të ngushta, kursimi i kohës dhe përpjekjes në ciklin jetësor të testimit të softuerit (STLC) është thelbësore.
Së fundi, vlen të përmendet se testimi i ekuivalencës është një teknikë e testimit të kutisë së zezë. Me pak fjalë, kjo do të thotë që testuesit nuk kanë nevojë të dinë për kodin e brendshëm të programit ose për funksionimin e brendshëm. Testet bazohen në inpute, outpute dhe sjellje të jashtme. Si të tilla, këto teste janë shumë të përqendruara në sjelljen e përdoruesit gjatë përdorimit të programit.
1. Ndarja e ekuivalencës së testimit të softuerit me pak fjalë
Ndarja e ekuivalencës ndan të dhënat hyrëse të testimit të softuerit në dy grupe: hyrje të vlefshme dhe të pavlefshme. Vlerat brenda secilës ndarje duhet të bëjnë që softueri të shfaqë të njëjtën sjellje. Për shembull:
- Nëse kushti i një vlere në ndarjen A është i vërtetë, duhet të jenë të vërteta edhe vlerat e tjera në ndarjen A.
- Po kështu, nëse kushtet e njërës vlerë në ndarjen A janë false, edhe vlerat e tjera në ndarjen A duhet të jenë false.
Në një kontekst testimi, çdo ndarje duhet të mbulohet të paktën një herë. Logjikisht, kjo do të thotë se nëse një hyrje në ndarjen A dështon, atëherë të gjitha hyrjet e tjera do të dështojnë gjithashtu. Ky proces duhet të kursejë kohë sepse në vend që të testojnë çdo hyrje që ndodhet në ndarjen A, testuesit mund të testojnë vetëm një dhe të ekstrapolojnë rezultatin bazuar në të përbashkëtat e tij.
2. Pse është i rëndësishëm testimi i klasës së ekuivalencës në testimin e softuerit
Përpara se të hyjmë në përfitimet e drejtpërdrejta të testimit të klasës së ekuivalencës në testimin e softuerit, duhet të përcaktojmë pse qasja është e rëndësishme.
Të gjithë testuesit e kuptojnë se testimi i softuerit kërkon kompromise. Koha dhe buxhetet janë të kufizuara, që do të thotë se testuesit duhet të shfrytëzojnë sa më shumë burimet e tyre. Ndarja e ekuivalencës së testimit të softuerit i ndihmon ekipet të gjejnë një ekuilibër midis efikasitetit dhe besueshmërisë në testimin e tyre duke reduktuar numrin e hyrjeve.
Përfitimet e ndarjes së ekuivalencës
në testimin e softuerit
Një ndarje ekuivalente në testimin e softuerit favorizohet nga ekipet e testimit për një sërë arsyesh. Këtu janë disa nga më bindëse.
1. Efikasiteti
Avantazhi i madh i testimit të ndarjes së ekuivalencës qëndron në efikasitetin e tij. Kur testuesit përdorin ndarje ekuivalente, ata mund të zvogëlojnë numrin e rasteve të testimit që kërkojnë pa kompromentuar mbulimin e testit. Duke zgjedhur një rast të dhënash nga çdo klasë ekuivalente, testuesit mund të ndihen të sigurt se kuptojnë se si funksionon softueri i tyre me një sërë hyrjesh.
2. Thjeshtësia
Një avantazh tjetër i madh i ndarjes së ekuivalencës së testimit të softuerit është thjeshtësia. Zbërthimi i një grupi të larmishëm të dhënash në të dhëna të vlefshme dhe të pavlefshme do të thotë se planifikimi i testit është shumë më i thjeshtë. Testimi i secilit input individualisht kërkon shumë dokumentacion dhe koordinim. Reduktimi i kësaj në një shembull përfaqësues riorganizon procesin e testimit.
Mbulim i zgjeruar
Përdorimi i klasave të ekuivalencës në testim ju lejon gjithashtu të përdorni kohën tuaj të testimit në mënyrë më efikase. Reduktimi i inputeve të testeve në klasa do të thotë që ju mund të testoni më mirë çdo klasë. Kjo qasje gjithëpërfshirëse do të ishte sinqerisht e pamundur nëse do të testonit çdo hyrje individualisht. Ndarja e ekuivalencës i lejon ekipet të marrin plotësisht dhe të testojnë të dhëna të vlefshme dhe të pavlefshme, rastet e skajeve, vlerat kufitare dhe më shumë.
3. Ripërdorimi
Koha fillestare që investoni në krijimin e secilës klasë të ekuivalencës në testimin e softuerit shpërblehet në fund të fundit nëse i ripërdorni këto klasa për testet e hyrjes në të ardhmen. Ndërsa jo të gjitha ndarjet do të jenë të rëndësishme për testet e ardhshme, ato që janë do t’ju kursejnë shumë kohë me projektet e ardhshme ose edhe me situatat e testimit të regresionit .
Të metat e ndarjes së ekuivalencës
në testimin e softuerit
Ndërsa ndarja ekuivalente ofron disa përfitime të mëdha, nuk është zgjidhja ideale për çdo skenar. Le të shqyrtojmë disa nga kufizimet e tij.
1. Rendi i hyrjes
Në situata të caktuara, rendi i hyrjes është një pjesë kritike e testimit të funksionalitetit të një aplikacioni. Kjo nuk është diçka që mund ta zvogëloni vërtet duke përdorur ndarjen ekuivalente. Testuesit duhet të jenë të vetëdijshëm për këto situata dhe të përdorin teknika alternative për të siguruar mbulim të mirë.
2. Varësi komplekse të hyrjes
Softueri kompleks me varësi komplekse të hyrjes është një fushë tjetër ku ekspozohen kufizimet e ndarjes së ekuivalencës. Për shembull, softuer që nxjerr llogaritjet bazuar në inpute të ndryshme. Në këtë skenar, testuesit do të duhet të përdorin një sërë teknikash për të reduktuar shpërthimin kombinues dhe për të rritur gjasat e izolimit të defekteve.
Qasjet alternative për të plotësuar
kufizimet e testimit të ekuivalencës
Ndërsa testimi i ndarjes së ekuivalencës është i përshtatshëm për shumë skenarë testimi, softueri shumë kompleks me varësi të ndërlikuara midis vlerave hyrëse mund të kërkojë qasje shtesë plotësuese.
Kur bëhet fjalë për shkrimin e rasteve të testimit për softuer kompleks, përdorimi i një kombinimi të këtyre qasjeve është një ide solide.
1. Testimi në çift
Testimi në çift është një teknikë e testimit të softuerit që teston të gjitha kombinimet e mundshme të çdo çifti parametrash hyrës. Kjo qasje siguron që çdo palë parametrash të testohen së bashku të paktën një herë.
2. Testimi i tabelës së vendimeve
Një tabelë vendimesh i ndihmon testuesit të hartojnë metodikisht kombinime të ndryshme të hyrjes. Është një mënyrë e mirë për të siguruar mbulim sistematik kur ekzistojnë varësi komplekse.
3. Testimi i tranzicionit shtetëror
Ky lloj testimi mat se si softueri kalon midis gjendjeve të ndryshme në përgjigje të kombinimeve të ndryshme hyrëse.
4. Testimi i bazuar në model
Kjo qasje kërkon krijimin e një modeli të bazuar në logjikën e brendshme të softuerit dhe përdorimin e një mjeti automatizimi për të krijuar raste testimi bazuar në atë model. Kjo teknikë është e aftë në trajtimin e kompleksitetit dhe sigurimin e mbulimit adekuat.
Shembuj të testimit të ndarjes së klasës së ekuivalencës
Mënyra më e mirë për të kuptuar ndarjen e ekuivalencës është të shikoni se si dhe ku mund të përdorni një klasë ekuivalence në testimin e softuerit. Këtu janë disa shembuj për t’ju ndihmuar të vizualizoni më tej konceptin.
1. Shembulli #1 i testimit të ndarjes së klasës së ekuivalencës
Një formular porosie në internet është një shembull i mirë i klasës së ekuivalencës në testimin e softuerit.
Le të themi se po ndërtoni një aplikacion për një shitës me pakicë në internet të pajisjeve stacionare. Ekziston një formular tipik porosie për dorëzanitë me letër A4. Ja se si mund të përdorni klasa ekuivalente për të testuar këtë formular.
Klasat ekuivalente:
Sasitë e letrës A4 janë brenda një diapazoni specifik, për shembull, 1 deri në 100. Pra, tre klasat janë:
- 1 deri në 100
- Numrat më poshtë 1
- Numrat mbi 100.
Rastet e provës:
Duhet të kryhen tre raste testimi, me rezultatet e pritshme të mëposhtme
- Çdo numër midis 1 dhe 100 = Porosia u përpunua
- Numrat më poshtë 1 = mesazh gabimi
- Numrat mbi 100 = mesazh gabimi
2. Shembulli #2 i testimit të ndarjes së ekuivalencës
Një klasë ekuivalente në testimin e softuerit mund të merret me më shumë sesa thjesht numra. Në këtë shembull, ne do të shqyrtojmë se si mund të përdorni të njëjtin parim për të verifikuar një portal të ngarkimit të skedarëve. Le të themi se duhet të testoni për një sajt që kërkon që përdoruesit të ngarkojnë dokumente identiteti, por ju mund të pranoni vetëm formate specifike.
Klasat ekuivalente:
- Dokumentet e mbështetura janë PDF dhe JPEG.
- Dokumentet e pambështetura janë të gjitha formatet e tjera të dokumenteve
- Asnjë dokument
Rastet e provës:
- Testoni duke ngarkuar PDF ose JPEG = ngarkim i suksesshëm
- Testoni duke ngarkuar formatin e pambështetur = mesazh gabimi
- Testoni pa ngarkim skedari = mesazh gabimi
Si të zbatohet një ndarje ekuivalente
qasje e testimit të softuerit
Nëse dëshironi të përdorni klasa ekuivalente në testim, duhet të merrni një qasje strategjike. Këtu është një udhëzues i dobishëm hap pas hapi për zbatimin e ndarjes së ekuivalencës në testimin e softuerit.
Hapi # 1: Identifikoni variablat e hyrjes
Çdo softuer i përgjigjet një sërë variablash hyrëse. Për softuerin kompleks, këto variabla mund të jenë të mëdha. Pra, kaloni nëpër kërkesat dhe specifikimet e softuerit dhe përcaktoni të gjitha variablat që kanë një ndikim në sjelljen e softuerit.
Disa nga hyrjet më të dukshme do të përfshijnë formularët e hyrjes së përdoruesit. Sidoqoftë, duhet të merrni parasysh një gamë më të gjerë të dhënash për listën tuaj. Ju gjithashtu mund të merrni parasysh variablat mjedisorë, thirrjet API, llogaritjet e brendshme, e kështu me radhë.
Më pas, duhet të kuptoni llojet e ndryshme të të dhënave të ndryshueshme. Ju mund t’i kategorizoni këto variabla si numër i plotë, Boolean, varg, etj., për të përcaktuar ndarjet e duhura.
Së fundi, ju duhet të eksploroni kufizimet e hyrjes. Këto do të jenë gjëra të tilla si karakteret e lejuara, formatet e përcaktuara dhe vlerat minimale/maksimale.
Hapi #2. Përcaktoni ndarjet e vlefshme dhe të pavlefshme
Shikoni çdo ndryshore hyrëse dhe filloni t’i ndani ato sipas rezultateve të vlefshme dhe të pavlefshme. Këto do të jenë klasat tuaja të ekuivalencës në testim.
1. Ndarjet e vlefshme
Ndarjet e vlefshme mund të ndahen në dy klasa.
Klasat e ekuivalencës pozitive:
Vlerat që prisni që softueri juaj të trajtojë me sukses. Për shembull, për softuerin që regjistron notat në përqindje, çdo gjë midis 0 dhe 100 është e vlefshme.
Klasat e ekuivalencës negative:
Kjo kategori do të jetë për vlerat që janë jashtë kufijve të hyrjes së pritshme, por që softueri juaj duhet t’i trajtojë me një mesazh gabimi. Për shembull, hyrja është 110 për një notë përqindjeje, gjë që e bën softuerin të kthejë një mesazh gabimi duke thënë: “Të gjitha vlerat duhet të jenë nga 0 deri në 100”.
2. Ndarje të pavlefshme
Këto klasa të ekuivalencës do të përfshijnë inpute që do të shkaktojnë gabime ose sjellje të papritura. Në shembullin tonë të mësipërm, kjo mund të përfshijë përpjekje për të futur A+ ose B ose të dhëna të ngjashme në notën e përqindjes. Ndërsa këto të dhëna mund të jenë teknikisht të sakta, ato janë jashtë pritshmërive numerike.
#3. Shkrimi i rasteve efektive të testit
Më pas, ju duhet të hartoni rastet e testimit që mbulojnë çdo ndarje ekuivalente të paktën një herë. Siç u përmend më herët në artikull, kjo siguron mbulimin e duhur të testit.
Së pari, duhet të zgjidhni vlerat përfaqësuese brenda secilës ndarje ekuivalente që mund të mbulojë të dhëna të vlefshme dhe të pavlefshme.
Këshilla për shkrimin e rasteve të provës solide
- Mendoni për vlerat kufitare: Sigurohuni që të testoni kufijtë e ndarjeve tuaja. Minimale, maksimale, përfshirëse, ekskluzive, etj., pasi këto zona janë kandidatë të fortë për defekte. Për shembull, nëse pritjet tuaja të hyrjes janë midis 0 dhe 100, provoni për vlera negative, si dhe numra si 101.
- Merrni parasysh skenarët pozitivë dhe negativë të testit si për rastet tuaja të testit të vlefshëm ashtu edhe për ato të pavlefshme.
- Testimi i kombinimit është një ide e mirë. Përdorni disa qasje të ndryshme siç përshkruhen në qasjet tona alternative për të plotësuar kufizimet e seksionit të testimit të ekuivalencës më sipër.
- Dokumentoni arsyetimin pse vlerat hyrëse janë ndarë në ndarje specifike dhe përshkruani qartë sjelljen e pritur të secilit test
- Ku është e mundur, përdorni mjete vizuale për të sjellë një ndjenjë qartësie dhe objektiviteti në rastet tuaja të testimit duke përdorur diagrame ose tabela për të hartuar ndarjet tuaja.
#4. Programoni dhe ekzekutoni rastet tuaja të testimit
Prioritizoni detyrat tuaja bazuar në faktorë të tillë si:
- Cilat zona kanë më shumë gjasa të kenë defekte
- Cilët skenarë kanë më shumë gjasa të shkaktojnë skenarë të rëndë, si përplasje ose ngrirje
Pastaj, ekzekutoni testet tuaja dhe regjistroni rezultatet dhe çdo gabim që ndodh. Për programet komplekse me shumë hyrje, mund të përdorni mjetet RPA për të imituar veprimet e përdoruesit.
#5. Analizoni rezultatet
Bashkoni të dhënat e mbledhura të testit dhe analizoni rezultatet. Disa metoda që duhet të përdorni janë:
- Shikoni çdo rast testimi dhe krahasoni rezultatet aktuale me rezultatet tuaja të pritshme
- Gjeni çdo mospërputhje dhe hetoni dhe raportoni çdo defekt dhe defekt.
#6 Këshilla shtesë
Ndërsa këto këshilla nuk do të zbatohen në çdo skenar, ato do të jenë të dobishme për testimin kompleks të softuerit.
- Tabelat e vendimeve janë një mënyrë e shkëlqyer për të vizualizuar ndarjet tuaja të ekuivalencës dhe kombinime të ndryshme hyrëse që mund të dëshironi të përdorni
- Ju mund t’i bashkoni klasat e ekuivalencës nëse ato shfaqin sjellje pothuajse identike, duke optimizuar më tej procesin e testimit
- Përdorni testimin e vlerës kufitare për të përmirësuar zbulimin e defektit
- Aty ku është e mundur, automatizoni rastet tuaja të testimit të ndarjes së ekuivalencës
Ndarja e ekuivalencës dhe analiza e vlerës kufitare
Ndarja e ekuivalencës bazohet në supozimin se çdo test brenda një ndarjeje do të prodhojë të njëjtin rezultat. Ndërsa kjo është e vërtetë në shumë situata, nuk do të funksionojë gjithmonë. Për shembull, çdo hyrje që është shtuar gabimisht në një ndarje mund të mos kontrollohet, duke çuar në ulje të mbulimit dhe paqëndrueshmëri të mundshme të softuerit.
Zgjidhja për këtë çështje është testimi i vlerës kufitare. Ai lejon që ekipet e testimit të softuerit të fokusohen në fushat që kanë më shumë gjasa të përmbajnë rreziqe dhe teston softuerin mbi këtë bazë. Me pak fjalë, ai sugjeron që rreziqet kanë më shumë gjasa të ndodhin në skajet ose kufijtë e ndarjeve tuaja hyrëse. Prandaj, testuesit mund të shkruajnë rastet e testimit në kufijtë e sipërm dhe të poshtëm të hyrjeve, përveç rasteve të tjera të testit të klasës së ekuivalencës.
Ndarje ekuivalente dhe automatizim me ZAPTEST
Mjetet e automatizimit të testit të softuerit, si ZAPTEST , mund t’i ndihmojnë ekipet të automatizojnë ndarjen e ekuivalencës si gjatë krijimit dhe ekzekutimit të testit.
Le të shqyrtojmë se si ZAPTEST mund t’ju ndihmojë të zhbllokoni përfitimet e kësaj qasjeje të dobishme të testimit të kutisë së zezë.
1. Zgjedhja e mjeteve
Është e rëndësishme të zgjidhni mjetin e duhur për punën. Shumica e mjeteve të automatizimit të testimit specializohen në testimin në ueb, celular ose desktop. ZAPTEST është i aftë të trajtojë testimin nëpër platforma dhe aplikacione të ndryshme, duke e bërë atë një zgjedhje solide.
2. Shkruani dhe ekzekutoni rastet e testimit
ZAPTEST 1Script ju lejon të skanoni ndërfaqen e përdoruesit për të ndërtuar automatizimin e testimit. Për më tepër, mund të skanoni edhe modele të aplikacioneve nëse jeni në një fazë të hershme zhvillimi. Duke përdorur veçorinë Scan GUI, ZAPTEST do të skanojë të gjitha objektet e testimit dhe do t’i shtojë ato në listën e objekteve.
Nga këtu, mund të shtoni objekte në diagram dhe të ndërtoni hapat e testimit.
ZAPTEST ju lejon të automatizoni shkrimin e rasteve me një ndërfaqe të thjeshtë drag-and-drop. Ju nuk keni nevojë për ekspertizë kodimi për të ndërtuar raste testimi me ZAPTEST. Pra, nga këtu, ju mund të zgjidhni operacionin përkatës nga një metodë rënëse dhe të ndërtoni një rast testimi bazuar në vlerat hyrëse të nevojshme për ndërfaqen tuaj. Më pas, mund të ndërtoni raste testimi për secilën ekuivalencë dhe të ekzekutoni rastet tuaja të testimit. Ju madje mund t’i ripërdorni rastet e testimit dhe t’i modifikoni ato në redaktuesin Step, duke kursyer shumë kohë.
3. Raportimi dhe menaxhimi i rasteve testuese
ZAPTEST ju lejon të ekzekutoni testet paralelisht, duke kursyer kohë të konsiderueshme. Kjo mund t’ju ndihmojë të ekzekutoni një numër të madh ndarjesh të ndryshme ekuivalente në të njëjtën kohë ose të ekzekutoni grupe të veçanta testesh.
Rezultatet janë të lehta për t’u mbledhur falë raporteve të detajuara të dështuara/kaluara, pamjeve të ekranit, regjistrave të ekzekutimit dhe matjeve të performancës në lidhje me çdo rast testimi.
4. Mirëmbajtja e rastit të testimit
Ju gjithashtu thjesht mund të gjurmoni dhe mirëmbani rastet tuaja të testimit falë aftësive të kontrollit të versionit cilësor. Për më tepër, përdoruesit e ZAPTEST mund të klonojnë dhe ripërdorin testet për të arritur një nivel të ri efikasiteti.
ZAPTEST ofron shumë më tepër funksionalitet përveç automatizimit të rasteve të provës. Me një grup mjetesh RPA , ZAPTEST ofron funksionalitet 2-në-1, duke kapërcyer hendekun midis DevOps dhe BizOps në një të ardhme të shënuar nga hiperautomatizimi, ku gjithçka që mund të automatizohet do të automatizohet.
Mendimet e fundit
Ndarja ekuivalente është një zgjidhje elegante për situatat ku testuesit duhet të vendosin një ekuilibër midis efikasitetit dhe saktësisë. Me disa softuer që lejojnë një gamë pothuajse të pafund të hyrjeve, ndarja e klasës së ekuivalencës i ndihmon ekipet të zbërthejnë të dhënat e testimit në copa të menaxhueshme, me madhësi të vogël, që secila mund të testohet tërësisht.