To be the robust and reliable information system that health care systems demand, we need to be overly vigilant about testing the OpenMRS code. This section contains all testing information including unit tests, continuous integration testing, release testing, and user testing.
Developers: Contribute Unit Tests
We are always looking for people that want to add to our unit test arsenal.
To find out where you can help, e-mail the developers mailing list. Download the source code. Add a unit test in /test/org/openmrs. Create one or more tickets and then attach Patches for your unit test to those tickets.
How To Write Unit Tests
- How to write unit tests
- How to write unit tests for modules
- How to write unit tests for the web layer pages
- Unit Testing Conventions
Continuous Integration
We have a Bamboo server set up to run our unit tests after every commit to key branches.
Visit the JUNIT section of http://ci.openmrs.org to see the latest results of the unit tests in the 1.4.x/1.5.x/..x and trunk branches.
Everyone: Testing Releases
Application level release testing is done with selenium and jbehave. The "release-test" maven module folder contains those tests.
The Testing Releases page describes the recipe(s) used to perform high application level testing of the system prior to releases. OpenMRS relies heavily on volunteerism to help test releases with real world data and situations. Join the implementers mailing list and watch for requests for help in testing alpha, beta, and release candidates.
Usability Testing
The Design section of the wiki contains information about our current efforts.
Load Testing
To check how a server or the OpenMRS application responds to load, you can check out this page.