you are not logged in


User login

0035 - sc Quality: JUnit Tests

Large parts of functionality in the MIXED code base are not covered by JUnit tests. As such, we cannot ensure the correct functioning of these modules as development continues.
We need to ensure that every part of the system that is part of the essential functionality of MIXED is covered by both a positive and a negative (set of) test(s).

For the purpose of this acceptance test, 'essential functionality' includes:

  • every line of code that is executed during:
  • the validation of a file format,
  • the conversion of a file format to SDFP,
  • the conversion of an SDFP file to another format,
  • the activation, deactivation, installation or removal of a converter plug-in.

This also includes those parts of the user interface or API that invoke these pieces of functionality.
Non-essential functionality need not be covered by JUnit tests at this time. Trivial methods, such as simple getters and setters can also be excluded.
The deliverables of this story should be:

  • test-coverage of all non-essential code,
  • a test-suite that can execute every single test-case,
  • integration of the test-suite into the build process, so that a new build will always trigger the execution of the JUnit tests,
  • a short statement on the total test-coverage percentage before and after the implementation of this story.

The presence of JUnit tests will be randomly sampled by the customer during the acceptance-test
meeting preceding the planning game.
The test-suite developed as part of the stress-test story must not be part of this JUnit test-suite.

The story will be accepted by the customer when all deliverables have been met.

Cobertura code coverage tool

Unforunately, the tool we use in Mixed to calculate the test coverage, called "Cobertura", is not capable of aggregating over projects. In stead, a MS-Excel spreadsheet is created and filled in by hand to show the code-coverage of the unit-tests.

This MS-Excel file can be found in de repository at: trunk/docs/codecoverage/mixed-codecoverage.xls