Fjärde kursveckan : Testdesigntekniker Flashcards
1
Q
Två regler för ekvivalensklass-uppdelning
A
● Ett testfall kan täcka många valida ekvialens-klasser
● Eller precis en invalid (och inga vailda)
● Ett testfall bör försöka täcka så många valida ekvivalens-klasser som möjligt
● Ett testfall som täcker en invalid ekvivalensklass täcker aldrig några valida
2
Q
Whiteboxtekniker baserade på täckning
A
- Statement Coverage
Enklast. Handlar om andelen av all kod som körts.
Ä ett svagt mått! Berättar inget om hur bra testfallen är.
● Alla programsatser ska ha exekverats minst en gång
● Alla noder i en flödesgraf. Bra för att visualiseras för hur kod körs, bäst för små system, abstrakt nivå eller delar av ett system (ex en algoritm) - Path Coverage
Path coverage
Alla möjliga vägar i koden. Kan finnas många olika vägar! T.ex. en loop kan körs 1, 10 eller 1500 gånger. Svårt att någonsin uppstå!
● Har alla vägar genom programmet gåtts igenom?
● Although the path coverage criterion still cannot guarantee the correctness of a tested program, it is too strong to be practically useful for most programs, because there can be an infinite number of different paths in a program with loops.
– Zhu et al. Software Unit Test Coverage and Adequacy - Decision / Branch Coverage
Bryr sig om hela men inte delarna - Condition Coverage
Bryr sig om delarna men inte hela - Decision / Condition Coverage
Bryr sig om båda - Multiple Coverage
Alla kombinationer av villkor