Laboratory
The
course project will be performed in teams of 4 students; a single common report
should be provided per team for each deliverable. The project is divided into 4
sections consisting of documenting, inspecting, and testing an open source
software application, for which the source and executable codes are provided.
The project description, requirements, and deliverable can be found in the Lab
section (on Moodle). Lab sessions will give the opportunity to the students to
get familiar with the tools and techniques needed to execute the project. There
are, in principle, 10 lab sessions organized as follows:
Session 1:
Tools Presentations
This session is an introductory session during which the tools used in the course
project will be presented: Rationale Rose (for reverse engineering); the Netbeans environment and debugging facilities; JUnit for test execution; Bugzilla
for bug tracking; Emma for test coverage analysis.
Session 2:
Reverse Engineering
Architecture
discovery, analysis, and reverse engineering techniques and tools.
Sessions
3: Code Inspection
Exposure to
the practice of code inspection techniques and metrics through a tutorial based
on sample source code.
Session 4:
Test Implementation
Test code
implementation and execution using JUnit.
Session 5:
Automated GUI Testing
Practice of
GUI testing techniques and tools.
Session 6:
Test Case Design
Illustration
of test case design using domain and basis path test models through some
examples.
Session 7:
Project Part 3 Finalization
Focus on
project part 3.
Session 8:
Test Coverage Analysis and Reporting
Test coverage analysis using Emma.
Focus on
finalizing the project.
Session 10: Project Demo