Course Software Testing & Verification 2016/17 Wishnu Prasetya Course Organization Course Software Testing & Verification 2016/17 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 relate these theories and techniques to real problems.
Learning Goals The kinds of “perspective” we will take: Not in scope: An academic perspective towards software testing A mathematical-based foundation of software verification background in set theory and predicate logic is needed! Not in scope: practical aspects of software testing in a large project covered in Software Project (bachelor) automated algorithms covered in Program Verification (master)
Learning goal for testing 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. through projects on unit testing and system testing
Site & Materials www.cs.uu.nl/docs/vakken/pc Paul Ammann and Jeff Offutt, Introduction to Software Testing, Cambridge University Press, Cambridge, UK, ISBN 0-52188-038-1, 2008. Lecture Notes (see the website), for the program verification part.
Project & assignment Home works (3x) Testing Project, in 2 iterations work in teams of 2-3 Iter-1 : development, unit testing, white box testing iter-2 : development, system testing. each phase is closed by a demonstration Proving program correctness assignment
Grading In total 6 components: home works, project (2 iterations), proof (last iteration), 2x exams raw = if average exams ≥ 4.0 then g rounded to the closest 0.5 else minimum(5,g) g = 0.96 * ( 0.3 * average project + 0.2 * proof + 0.5 * average exams ) + max. 0.4pt from home work final = if 5.0 ≤ raw ≤ 6.0 then raw rounded to closest integer else raw resit: 4.0 final 5 , or if final=AANV
What did we learn
Learning goal for testing 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