Web form submission test
Method invocation test
system and integration testing framework.
The purpose of Jeté is to make system
testing easier and more broadly accessible while being flexible enough
to test existing systems. This is
accomplished in several ways:
- XML (a Spring context file) based system test definition files. A system test definition in these files defines several actions, and each action defines several validators. By using Spring context files as the test definition files, existing Spring framework documentation helps testers get up and running.
- Spring allows existing organization POJOs to seamlessly integrate with the system test framework, by using them in configurable Jeté framework test actions and validators. The framework is really nothing more than Spring configurations, invoked by the SystemTest class.
- Extending basic JUnit, DbUnit and HttpUnit (no doubt more to come) functionality known testing concepts and leverages existing robust frameworks.
The framework extends basic JUnit, Spring framework, and DbUnit functionality to allow configurability of the system. Tests are defined by using Spring to configure these extensions. It is these Spring configurations that make up the system test definitions.
TestCases : An explanation of the test case hierarchy and key test cases configured by the system test definitions.
Actions : An explanation of the test action hierarchy and actions used for configuring test cases.
Validators : An explanation of the test validator hierarchy and validators used for validating test actions
Jeté is packaged with sample system tests for a fake company to help out new testers. To function the sample tests require MySql database and Ant on the localhost. Of course, running the samples isn't necessary as they're supplied for test definition guidelines. These explanations are a good place to just get going quickly.
- Web form submission test
- Method invocation test
- DAO test
Check out the best practices page for help with some common system testing concepts.
Jeté will not be packaged as 1.X until some JUnit Ant features have matured and more generic actions and validators have been added.
JUnit Ant Integration
Current Ant integration requires a specific Jeté system test class (org.jete.SystemTest) be run as a test case from the junit ant tag. This also requires that the system test definition file be named SystemTest.xml, and that it be located in the classpath.
Perferred functionality would allow any testcase function as a system test, or that org.jete.SystemTest be configurable with any definition file (optimally, both would take place)
The junitreport tag may also need extending to show various test suites. Currently there is only one: SystemTest, and all test cases are a part of that suite. By assigning suite names to the test cases (or instances of SystemTest), junit reporting should be cleaned up quite nicely.
Action and Validator Development
There are many frameworks out there used for testing certain aspects of development. As they become integrated (or existing frameworks become more fully utilized) Jeté will exhibit greater system test functionality and flexibility.
Further integration should be relatively easy, by implementing the Action and Validator as framework adapters.