Home | deutsch | Legals | Sitemap | KIT
Software Testing
type: lecture links:
semester: Sommersemester 2011
place:

Class and exercises: 50.34/ -109

time:

Class: Monday 0945-1115
Exercises: Thursday 0945-1030

start: 11.04.2011
lecturer:

Prof. Dr. Alexander Pretschner
Dr. Johan Oudinet

sws: 3
ects: 5
lv-no.: 24624

Testing denotes activities that aim at increasing confidence that actual and intended behaviors of a system conform, or at proving the assumption of conformance wrong. The relevance of testing is reflected in the general experience that it makes for about one half of the overall development cost. In this class, we convey advanced concepts and techniques and discuss assumptions as well as published evidence. In particular, we study the power of random and statistical testing, the promises of model-based testing, the intricacies of testing object-oriented software and advanced concepts for fault localization.

Modules taught:

  1. Introduction
    1. Relevance
    2. Terminology and fundamental concepts
    3. Testing in the software development process
    4. Kinds of testing
    5. Cost vs. quality
    6. Overview of the class
  2. Testing large parameter spaces
    1. Test selection with partitions and coverage criteria for control and data flows
    2. N-wise combinatorial testing
  3. Random and statistical testing
    1. Random testing
      Analytical comparisons of random and partition-based testing: the models of Weyuker&Jeng and Gutjahr
    2. Statistical testing
      Operational profiles and Markov models
  4. Model-based testing
    1. Models and abstraction: SUT/environment, state machines, block diagrams, contracts
    2. Scenarios and embedding in development process
    3. Generation technology
    4. Cost effectiveness, assumptions, and empirical evidence
  5. State-based testing and testing OO software
    1. State-based testing for objects
    2. Testing with inheritance
    3. Testing with polymorphism
  6. From failures to tests and faults
    1. State-based test extraction and capture&replay testing
    2. Delta debugging
    3. Recap: Inspections and walkthroughs
    4. Fault localization
  7. Regression testing
  8. Test assessment
    1. Fault injection and mutation testing for code and models
    2. Test selection for regression
  9. Test specification (time permitting)
    1. TTCN-3
    2. Action-word based testing

Unfortunately, there is not one single book that covers all the material. I'll post some books later on. More references and links to research papers will be given in class.

 

Slides (available only from within KIT):

 

Exercises:

 

NEWS

Last set of slides available

Slides for the last lecture (on July 11) are available.

Exercise sheet 12 uploaded

Exercise 12 is available and has to be submitted by July 14.

 
Slides on assessment and regression testing are available

Slides for the next lecture (on July 4) are available.

Exercise sheet 11 uploaded

Exercise 11 is available and has to be submitted by July 7.

 
Exercise sheet 10 uploaded

Exercise 10 is available and has to be submitted by June 30.

Sixth and Seventh sets of slides available

Slides for the next lectures (from June 20th to June 27th) are available.

 
Exercise sheet 9 uploaded

Exercise 9 is available and has to be submitted by June 23.

Exercise sheet 8 uploaded

Exercise 8 is available and has to be submitted by June 16.

 
Exercise sheet 7 uploaded

Exercise 7 (on operational profiles and Abstraction) is available and has to be submitted by 9.6.2011.

Fifth set of slides available

Slides for the next lectures (from May 30th to June 6th) are available.

 
Exercise sheet 6 uploaded

Even if there is no class next Thursday (2.6.2011), the exercise sheet has to be submitted by this date. The correction will be done later.

Exercise sheet 5 uploaded

Note that this exercise must be submitted by 26.5 as well as exercise 4. Those two exercises are very similar (one small assignment plus reading a research paper). Thus, they can be done together.

 
Exercise sheet 4 uploaded

Note that you have 2 weeks for this exercise sheet.

Exercise sheet 3 uploaded
 
Fourth set of slides available

Slides for the next lectures (from May 9th to May 30th) are available in the website.

Third set of slides available

Slides for the next lecture (on Monday 5th May) are available.

 
Exercise sheet 2 uploaded
Exercise sheet 1 uploaded
 
Second set of slides available

On Thursday April 21st, there will a lecture instead of the exercise: We'll continue the class on test selection based on control and data flows.

Folien zur ersten Vorlesung verfügbar

hier