Difference between revisions of "Software Testing"

From MPDLMediaWiki
Jump to navigation Jump to search
Line 1: Line 1:
This page will describe the testing approach for the services and solutions developed at the MPDL.
This page will describe the testing approach for the services and solutions developed at the MPDL.


=Current State=
=Test Resources=
 
==Common Test Resources==
==Test Resources==
===Common Test Resources===
* Should be created together with SVN
* Should be created together with SVN
* Should be stored in one place (which one?)
* Should be stored in one place (which one?)
=== Specific Test Resources ===
===Specific Test Resources ==
are defined in module and saved in <code>src/test/resources</code>
are defined in module and saved in <code>src/test/resources</code>


==Module Tests==
=Module Tests=


* Interface Tests should have tests for all methods in the module interface (required)
* Interface Tests should have tests for all methods in the module interface (required)
Line 39: Line 37:
* All other JUnit tests for the module are optional and should be presented in the separate test class
* All other JUnit tests for the module are optional and should be presented in the separate test class


==Integration Tests==
=Integration Tests=
=== Technical Integration ===
== Technical Integration ==
* REST interfaces
* REST interfaces
* EJB interfaces
* EJB interfaces
=== Logical Integration ===
== Logical Integration ==
==== Functionality tests (JUnit) ====
* Functionality tests (JUnit)  
==== Selenium tests (GUI) ====
* Selenium tests (GUI)
See for [http://jira.mpdl.mpg.de/secure/IssueNavigator.jspa?mode=hide&requestId=10210 PubMan],
** See for [http://jira.mpdl.mpg.de/secure/IssueNavigator.jspa?mode=hide&requestId=10210 PubMan]


==System Test==
=System Test=
Manual testing of Solutions by GUI & SVM Groups
Manual testing of Solutions by GUI & SVM Groups


== Bug Testing ==
=Bug Testing =
Critical (regularly occurring) bugs should be identified together with SVN and tested with the specific Test (Selenium or JUnit), on hand of its nature.
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==
=Schedule=
#Module Tests
#Module Tests
#Integration Tests
#Integration Tests

Revision as of 15:07, 22 June 2010

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 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 tests (JUnit)
  • Selenium tests (GUI)

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]