Software Testing

From MPDLMediaWiki
Revision as of 14:46, 22 June 2010 by Makarenko (talk | contribs)
Jump to navigation Jump to search

This page will describe the testing approach for the services and solutions developed at the MPDL.

Current State[edit]

Test Resources[edit]

Common Test Resources[edit]

  • Should be created together with SVN
  • Should be stored in one place (which one?)

Specific Test Resources[edit]

are defined in 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 test (JUnit)[edit]

Selenium test (GUI)[edit]

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]

  1. Module Tests
  2. Integration Tests
    ...
  3. Bug testing

References[edit]