Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Create a framework for Functional Tests, Integration Tests, Unit Tests and Performance Tests that run automatically on build (when possible)
    • I will create all the background require (mockups, database connections, configs, etc) for the tests to be run
    • I will integrate Cobertura to create reports on the testing coverage
  • Integrate with a Continuous Integration server
  • (Optional but recommended) Integrate with a code quality management tool
    • I will integrate Cobertura to create reports on the testing coverage

Scope

The main scope of the project is to apply the proposals to the API core. Once done, work would be extended in the remaining time to Manakin and then other subprojects (Sword, LNI, OIA). JSPUI will be left for last, as is an interface that will disappear in the future.

...

It's been decided they will be done in the same order. The aim is not to do tests for all the existing classes, but to create an infrastructure the community can benefit from and can expand with its own tests.

The first task, ongoing until 13th/20th of June will be to add Unit Tests (#1) to package org.dspace.content.* . This part doesn't require any database integration and will use JUnit and JMock/Mockito as toolstwo points will be finished before the mid-term evaluation. The third point will be done after that.

Integration with a continuous integration environment will be possible out-of-the-box,a s we will use Maven for points 1 and 2 and Ant for point 3. The capability of running the functional tests in the continuous integration server depends on configuration as it will require running ant tasks created after the generation of code.

Integration with Cobertura and similar is left to the usage of a quality management tool, as the current state of the Maven plugins creates issues when trying to merge reports from different sub-projects.

Technical description

A tecnical description of the tools used and steps followed is available at GSOC 2010 Unit Tests - Technical documentation

...

  • 26th May: 1st meeting in IRC, decide the tasks for the following weeks
  • 26th May - 9th June: Unit testing for package org.dspace.content.* . Weekly status reports sent to the DSpace GSoC lists, and the dspace-devel list.
  • 9th June: 2nd meeting in IRC (21:00 UTC, #duraspace channel) to assert status of unit testing integrations and to discuss where there project should head next
  • 12th July (Mid Term Evaluation)
  • 9th August (End of Term)
  • 9th August - 16th August (Final Evaluation): code fixes and documentation related to the project

...

  • The Continuous Integration server may be Hudson (or Bamboo).
    • Wiki Markup
      SONAR \[[http://www.sonarsource.org/|http://www.sonarsource.org/] \] may be the code quality management 		tool
  • All tests will be run automatically by Maven
    • Embedded webserver will be Jetty Wiki MarkupEmbedded database will be HyperSQL \[[http://hsqldb.org/|http://hsqldb.org/] \]be H2
  • Functional Tests will use Selenium
  • Unit Tests and Integration Tests will use Junit
    • JMock/Mockito JMockit will be used as mocking frameworkHTMLUnit may be used if required
  • Performance Tests will use ContiPerf

...