Advanced Topics in Software Engineering

  • March 26, 2020: Today's lesson has been cancelled due to a last minute meeting of the teacher. Sorry for any inconvenience this may cause.
  • March 16, 2020: Lectures will start on Tuesday March 24th.


  • Andrea Polini
  • Barbara Re

ESSE3 Link

Lessons schedule:

  • Tuesday, 14.00 - 16.00, Room AB1, Polo Lodovici;
  • Thursday, 11.00 - 13.00, Room AB1, Polo Lodovici.

The course intends to provide to the students the basic knowledge and competences for testing complex software systems. The following topics will be covered:

  • Software Testing generalities
  • Software Testing phases
  • Test derivation strategies
  • Test adequacy assessment

The various conceptual aspects will be illustrated using examples and competences will be assessed with a course project that will require the usage of professional tools.

  • General Information
    • Basic of software testing
    • Software quality dimensions
    • Testing and other verification activities
    • Type of testing
  • Test Generation Strategies from Requirements
    • Equivalence partitioning
    • Boundary analysis
    • The Category Partition method
    • Cause-Effect graphs
    • Test generation from predicates
      • BOR,BRO, BRE adequate test sets
  • Test Generation from Finite-State Models
    • Finite State Machines (FSM)
    • Conformance testing
    • The W-Method
    • The partial W-Method
  • Test Generation from Combinatorial Design
  • Test Adequacy Assessment Using Control Flow and Data Flow
    • Control-Flow criteria
    • Data-Flow criteria
  • Unit and Integration Testing

Exam Dates A.Y. 2020/2021

  • June 18th, 2020 - 11am-1pm, room AB1
  • July 16th, 2020 - 11am-1pm, room AB1
  • September 8th and 29th, 2020 - 11am-1pm, room AB1
  • February 2nd and 23th, 2021 - 11am-1pm, room AB1

Exam rules:

The exam consist of two parts.

  • Written test (2 h). On the exam date a written test takes place, it has a mixed structure: solution of exercises, and open/close answer questionnaire.
  • Realisation of a project including the use of a software tool presented during the course.
    • 1st. A Software Project should be realized by students (it is possible to work in groups of 2) that will have to choose an open source software system (or possibly one made by them), and provide a complete test plan with artifacts. A report have to be delivered before the oral paper.
    • 2nd. Finally the exam foresees an oral presentation that can be performed in a date will be communicated by the teacher.

For the writting part the student gets a mark in the range 0 and 15, while for the project the student gets a mark in the range 0 and 18. The final mark results from the sum of the marks the student gets on the two parts.


  • N/A