Software Testing
This page will describe the testing approach for the services and solutions developed at the MPDL.
Test Resources[edit]
Common Test Resources[edit]
- Should be created together with SVM
- Should be stored in one place (which one?)
Specific Test Resources[edit]
- To be defined individually by each module and saved in
src/test/resources
Module Tests[edit]
- Interface Tests should have tests for all methods in the module interface (required)
- Class Name convention:
src/test/java/<name_of_module_interface>InterfaceTest.java example: src/test/java/CitationStyleHandlerInterfaceTest.java
- The class should be explicitely declared in the module pom.xml
... <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>false</skip> <includes> <include>**/CitationStyleHandlerInterfaceTest.java</include> <!-- possible other test classes --> <include>**/TestCitationStylesSubstantial.java</include> </includes> </configuration> </plugin> ...
The existence of the required Interface test class can be checked later by parsing of pom.xml (e.g with command line utility)
- How to define scope of parameter values of tested interfaces ???
- All other JUnit tests for the module are optional and should be presented in the separate test class
Integration Tests[edit]
Technical Integration[edit]
- REST interfaces
- EJB interfaces
Logical Integration[edit]
- Functionality tests (JUnit)
- According to functionalities desc in CoLab? To be defined together with SVM.
- Selenium tests (GUI)
- According to test scenarios in JIRA, like for PubMan
System Test[edit]
Manual testing of Solutions by GUI & SVM Groups
Bug Testing[edit]
Critical (regularly occurring) bugs should be identified together with SVN and tested with the specific Test (Selenium or JUnit), on hand of its nature.
Schedule[edit]
- Module Tests
- Integration Tests
- ...
- Bug testing