80 likes | 201 Views
Software Testing. Wishnu Prasetya. Email: wishnu@cs.uu.nl URL: www.cs.uu.nl/~wishnu. Content. I assume you have read Chapter 1, so I will just give you a summary of the chapter: Coverage White box testng Black box testing. Testing vs Verification. tax(income) {
E N D
Software Testing Wishnu Prasetya Email: wishnu@cs.uu.nl URL: www.cs.uu.nl/~wishnu
Content • I assume you have read Chapter 1, so I will just give you a summary of the chapter: • Coverage • White box testng • Black box testing
Testing vs Verification tax(income) { if(income 10000) return 0 ; if (income 20000) return 0.1 * income ; return 0.2 * income ; } • Verification : show that all possible executions satisfy the given specification. • Testing : show that at least few executions satisfy the specification. • Pragmatic: in between ?
Testing, some basic concepts • White box testing more information • You can analyze the program • You can instrument it • You can use it to define your adequacy criterion, etc. • Black box testing • how can we do it then? • More testing is better than less, but how to decide when it is reasonable to stop? • Coverage criterion.
CFG-based coverage • Node or edge coverage • Path coverage • Prime paths • Linearly independent paths
Black box testing • We still know the program’s input and output domains. • Investigate them, for deciding a coverage criterion. • Typical approaches: • Domain partitioning • Combinatoric testing
Classification tree • Categories/classifications • Classes and leaf classes • Abstract and concrete test case • CTE tool
Combinatoric tetsing • All-combinations suite, Each-class-once suite • Or use some expressions to specify the suite, e.g.: (Student Grade) + Course