Top Ten List
- Speed up searches (TRUNK-1750)
- Search for patient by ID (TRUNK-1616) *Test done*
- Searching for a Provider (TRUNK-1664) *Test done*
- Searching for the location (TRUNK-1665) *Test done *
- Searching for concepts (TRUNK-1663) *Test done*
- Speed up the Cohort Builder (RCM-21) *Test done*
- Speed up HTML Form Entry (HTML-58) *Test done, but may need a bigger form*
- Speed up and improve page loading (TRUNK-1751)
- Patient pages occasionally loading improperly (TRUNK-1621) -- will not measure
- Speed up loading of pages (javascript caching) (TRUNK-28) *Fixed and tested with firebug by Ben*
- Speed up "Edit Encounter" page (TRUNK-1740) *Test done*
- Speed up the patient dashboard (TRUNK-1667) *Test has been setup just needs refining*
- Speed up schema design page (TRUNK-1623) *Test done*
- Speed up modules by caching JavaScript files (TRUNK-1613) *Fixed and tested with firebug by Ben*
- Speed up reporting (TRUNK-1752)
- Data exports (RCM-20) *Test done*
- BIRT Reports (BIRT-30) *Test is being omitted because module can't run with newer versions of OpenMRS e.g 1.8*
- Reporting Module (TRUNK-1754) *not yet measured* (assigned to Darius)
- Speed up workflows (TRUNK-1753)
- Enhanced caching (TRUNK-434) *No extra special test is required, we just need to run all tests before and after enhanced caching*
We will build a module for 1.8 performance testing to isolate widgets/features for testing purposes. (TRUNK-1766)
Module Versions for benchmarking
Module | 1.6 | 1.7 | 1.8 |
---|---|---|---|
Form Entry | 4.5.2 | 4.5.2.1 | 4.5.8 |
HTML Form Entry | 1.6.4 | 1.6.2 | 1.6.7 |
Reporting Compatibility | 1.5.0.3 | 1.5.0.3 | 1.5.2.1 |
Serialization.xstream | 0.2.2 | 0.2.2 | head (unreleased latest reporting needs unreleased latest serialization.xstream) |
HTML Widgets | 1.5.5 | 1.5.5 | 1.5.5 6 |
Reporting | 0.4.1.9 | 0.4.1.9 | head |
BIRT | ? | ? | ? |
...
Code Block |
---|
SELECT given_name, family_name,ROUND(DATEDIFF(NOW(),birthdate) /365) as age, gender FROM `patient_program`, patient, person, person_name WHERE program_id=6 AND patient_program.patient_id=person_name.person_id AND patient_program.voided=0 AND patient.voided=0 AND patient.patient_id=patient_program.patient_id AND person.person_id=patient_program.patient_id GROUP BY patient.patient_id LIMIT 0, 300 |
Functional/Performance Test Suite for OpenMRS
Repository
http://svn.openmrs.org/openmrs-contrib/performance-benchmark/
...
Code Block |
---|
$ ./test.sh -h <hostname> -o <port> -u <username> -p <password> |
Running with profiling options (currently integrates with a running version of yourkit agent at the server side)
Code Block |
---|
$ ./test.sh -u <username> -p <password> -c |
Running all tests (including the tests specific for modules)
Code Block |
---|
$ ./test.sh -u <username> -p <password> -a |
Running all tests (including the tests specific for modules)
Code Block |
---|
$ ./test.sh -u <username> -p <password> -a |
Running an individual test class (it must be inside org.openmrs.test package). The argument must not include the package qualifier.
Code Block |
---|
$ ./test.sh -u <username> -p <password> -t <TestClassName> |
The connection.properties file
You can provide a connection.properties file in the project home directory where all connection attributes (like username, password, host etc) can be mentioned. A sample file connection.properties.sample is provided. Once a connection.properties file is created you need to enter them on the command line while running test.sh
The input.properties file
Parameters for tests can be modified in the input.properties file.
Currently all the parameters have been set for use with the a test data set which is available at http://wiki.openmrs.org/pages/viewpageattachments.action?pageId=3342470&metadataLink=true
Check the input.properties for more info