Alapprobléma és intuíció
A tesztelésnél gyakran előfordul, hogy egy programban több paraméter együttállásait kell tesztelni. Ilyenkor jobb esetben lázas táblázatszerkesztésbe kezdenek a tesztelők és próbálják a legrelevánsabb paraméterösszeállításokat összekombinálni. Ennek a módszernek van létjogosultsága, hiszen valószínűleg valamilyen domain tudást használ a tesztelő, amikor megállapítja, hogy mik lennének a tesztelendő paraméter együttállások:
- kockázatokat mérlegel,
- gyakoriságokra gondol,
- üzleti folyamatok ismeretében hoz döntést. A fenti módszer intuitív, ad-hoc jellegű. Mit tegyünk, ha ennél tervszerűbben szeretnénk a teszteket előállítani?
Tervszerűség
Összes lehetőség
Az első ötlet, hogy valahogyan gyártsuk le az összes kombinációt. Ennek az ötletnek is van létjogosultsága. Az összes kombináció valamilyen segédprogrammal legyártható. (Egy junior programozónak maximum 1 órás kódolási feladat.) Az összes kombináció a paraméterek tekintetében teljes tesztlefedettséget biztosít. A gond az szokott lenni, hogy már néhány paraméter, néhány lehetséges értékénél is akár többszáz lehet a keletkező esetek száma. Tesztautomatizálásnál ez remek bemenet lehet, de a manuális tesztelésnek erre nem valószínű, hogy lesz erőforrása mind végigpróbálni.
Páronkénti kombinációk
Megfigyelhető, hogy a hibák többségét általában két paraméter együttállása szokta okozni, a többi paramétertől függetlenül. Tehát annak a kockázata, hogy két paraméter együttállása hibát okoz, jóval nagyobb, mint annak a kockázata, hogy kettőnél több paraméter együttálása okoz valamilyen nem várt eredményt. Ezért megtehetjük azt, hogy olyan kombinációkat írunk le, amikben az összes páronkénti együttállás megtalálható, ez jelentősen kevesebb eset lesz, mint az összes, mégis a legkockázatosabb eseteket lefedjük.
N-szeres kombinációk
Néha előfordul, hogy a páronkénti kombinációkat nem tartjuk elégnek. Ilyenkor alkalmazhatunk több paraméterre vonatkozó együttállást.
Hogyan?
Az talán nyilvánvaló, hogy például a páronkénti kombinációk módszere és az intuícióra alapozó technika keverve is alkalmazható, az már a nehezebb kérdés, hogy hogyan lehet egy-egy ilyen kombinációt „kikalkulálni”. Erről, egy konkrét példán keresztül a következő részben írok.
Hajrá! 😊