Lecture sylabus PV260
Week 7 - Requirements and test cases. From unit testing to integration testing.
Lecturer: Bruno Rossi, FI MU
Date: 31. 3. 2015 at 12:00-13:40 in A318, FI MU
Content
- Introduction
- reminder about software testing and some terminology
- Basic principles of testing
- Sensitivity: better to fail every time than sometimes
- Redundancy: making intentions explicit
- Restrictions: making the problem easier
- Partition: divide and conquer
- Visibility: making information accessible
- Feedback: applying lessons from experience in process and techniques
- From Requirements to Test Cases
- characteristics of requirements & test cases
- functional vs structural testing
- steps: from specifications to test cases
- From Unit testing to Integration testing
- what is integration testing
- main differences vs unit testing
- Integration faults
- how to approach integration testing
- incremental vs non-incremental approaches
- top-down vs bottom-up strategy
- choosing a strategy
- Specific Issues in Testing Object Oriented Software
- OO definitions of unit and integration testing
- Specific issues
- State dependent behavior
- Encapsulation
- Inheritance
- Polymorphism and dynamic binding
- Abstract and generic classes
- Exception handling
Lecture Material
Slides of the lecture: download
Test:
Links:
- http://ix.cs.uoregon.edu/~michal/book/ - additional slides from M. Pezzè and M. Young, Software Testing And Analysis: Process, Principles And Techniques. Hoboken, N.J.: John Wiley & Sons Inc, 2007. (in particular chapters 10,11,14,15,21 could be interesting for parts that were not covered during lecture);
- http://www.whyprogramsfail.com/slides.php - slides about fault-based testing
- http://fitnesse.org - Fitnesse, framework for acceptance testing