2008 Implementers Meeting Testing Competition
<html><head><title></title></head><body>h1. OpenMRS 1.3.0 Testing Competition
Current Status
Rules and Regulations
*Start time: When you finish reading this
*End time: Friday June 20th at 9:00AM Durban time
*Eligibility: Everyone except Ben and Justin
*Prizes: $100 USD to the first ten people to reach either 100 developer points <u>or</u> 100 non-developer points. +++
*Judge, Jury, and Appeals court: Ben and Justin
+++ Number of winners and thresholds subject to change at any time
Non-developer point system:
Task | Point value | Rules | Submission |
---|---|---|---|
Find a bug | 10 points |
| |
Submit demo data for testing purposes | 10 points |
| Submit a zipped mysql dump back to Ben: mysqldump -u root -p -e -r"/home/ben/bwolfe-random.sq" openmrs Name the file according to your implementation |
Create an XML Report | 10-20 points based on complexity |
| Create a wiki page describing your report |
Other ideas?? |
|
|
Developer point system:
Task | Point value | Rules | Submission |
---|---|---|---|
Junit tests | 1-5 points for each non-service test method |
| |
Bug fix | 5 to 20 points |
| Attach patch file to previously opened ticket |
Review a bug fix patch | 1 to 10 points |
| Submit repatch to the previously created ticket |
Code Comments | 1 point per 10 lines added/fixed |
| Create a ticket with a patch attached |
Upgrade a module to work with 1.3 | 5-30 points |
| Create a ticket with a patch attached |
1.3 Installer | 10 points for naïve installer |
| Create wiki page with installer scripts and/or files attached |
Helping a nondeveloper with a task | 5 points | ?? | Honor system. |
NOTICE!! Judges reserve the right to award and reject points as they see fit. Intent, work, and timing will all be factors in the decision making process
Point possibilities will be posted to the ticket
All tickets must be tagged with “HISA2008â€Â
Junit test requirements:
Each test method should be small and test a specific functionality. See BDD
Replace the word "test" with the word “should†to check if its a specific enough method:
"public void testLocation() { }" is too vague
"public void testRetireLocation() {}" is better
"public void testSaveLocationWithNonNullCreator() {}" is best
Good example of non-Service test: source___openmrs-trunk-test-api-org-openmrs-test-PatientTest.java (testAddRemoveIdentifiers)
Good example of service test: source___openmrs-trunk-test-api-org-openmrs-test-api-LocationServiceTest.java (testRetireLocation)
Javadoc requirements:
Should fully explain the class and/or method's functionality
Should include a few @see statements if required
All method javadocs should have method javadoc text to its parameters
Good class comment: source___openmrs-trunk-src-api-org-openmrs-User.java
Good method comments: source___openmrs-trunk-src-api-org-openmrs-api-LocationService.java
Good web class comment: source___openmrs-trunk-src-web-org-openmrs-module-web-taglib-ExtensionPointTag.java
Current Installer files (valid for 1.0): source__openmrs-contrib-install-bitrock
</body></html>
</body></html>