Course Organization Course Software Testing & Verification 2014/15 Wishnu Prasetya
Learning Goals Know a selected set of basic concepts, theories, and techniques of Software Testing and Software Verification They represent two complementary approaches towards software correctness : pragmatism vs completeness. Able to apply some of these theories and techniques in real problems. 2
What can you expect in this course? Foundation: – A quite technical foundation of software testing – A mathematical-based foundation of software verification background in set theory and predicate logic is needed! Project & assignments 3
Site & Materials Paul Ammann and Jeff Offutt, Introduction to Software Testing, Cambridge University Press, Cambridge, UK, ISBN , Lecture Notes (see the website), for the program verification part. 4
Project & assignment Testing Project, in 2 iterations – work in teams of 2-3 – Iter-1 : development, unit testing, white box testing, testability – iter-2 : development, system testing, black/gray box testing – each phase is closed by a demonstration Proving program correctness, in 2 iterations Home works (4x) 5
Grading In total 6 components: project (2 iterations), proof (2 iterations), 2x exams raw = 0.95 * ( 0.3 * average project * average proof * average exams ) + max. 0.5pt from home work final = if average exams >= 3.5 then raw else capped at 5.4 resit... as in the OER (4.0 grade < 5.5) 6
What did we learn 7
Learning goal for testing 8 Know a selected set of basic concepts, theories, and techniques of software testing White box testing control flow based testing testing complex predicates data flow-based testing Black box testing partition-based testing model-based testing integration testing OO testing Generating complex strings Able to apply some of these theories and techniques in real problems. yes, projects on unit testing and system testing