Manual Tests
Objective
High-quality manual test cases need to be built up and maintained moving forward. A group of testers can run through them before releases are shipped and developers can also use them as a point of reference/sanity check when doing the big codebase refactor project.
Test Suites
- (COMPLETE) Patient Demographics
- (UNASSIGNED) Facility Registration
- (UNASSIGNED) Add QA Seed Data
- (UNASSIGNED) Patient Scheduling
- (UNASSIGNED) Electronic Medical Records
- (UNASSIGNED) Prescriptions
- (UNASSIGNED) Medical Billing
- (UNASSIGNED) Clinical Decision Rules
- (UNASSIGNED) Patient Portal
- (UNASSIGNED) Reports
- (UNASSIGNED) Multilanguage Support
- (UNASSIGNED) Security
Test Development
The tests will be built up in the following fork (for now): https://github.com/MatthewVita/openemr. There is a top-level "/Tests/Manual_Tests" folder that contains folders for each test suite. Individual test cases are to be placed in these folders (or sub-folders, when needed). For example:
- /Tests/Manual_Tests/Electronic_Medical_Records/Medications/1_Add_Medications_Test_Case.md
- /Tests/Manual_Tests/Electronic_Medical_Records/Medications/2_Edit_Medications_Test_Case.md
- /Tests/Manual_Tests/Electronic_Medical_Records/Medications/3_Remove_Medications_Test_Case.md
- /Tests/Manual_Tests/Electronic_Medical_Records/Medications/4_Prescribe_Medications_Test_Case.md
Philosophy & Approach
- Keep tests elegant and within appropriate boundaries.
- Test cases should cover realistic happy paths and negative paths.
- It is acceptable to have the tester query the database when the UI can't satisfy an assertion.
- Each test case is simply a markdown table with columns "Step Number", "Description", and "Expectation".
- Assume that the tester that runs the test is familiar with the system and terms.
Test Execution
Let's keep this _dead simple_. When the manual tests are ran before each release, the following table (which is mocked up for now) will represent testers, assigned test suites, and execution status. If a suite has a FAILED status, tester is responsible for submitting a bug and keeping an eye out for a fix so the suite can be re-ran.
Tester | Suite | Status |
---|---|---|
John Doe | Facility Registration | IN PROGRESS |
Sue Bob | Patient Demographics | PASSED |
Sue Bob | Patient Scheduling | IN PROGRESS |
Mark Smith | Electronic Medical Records | IN PROGRESS |
Mark Smith | Prescriptions | FAILED |
Sue Bob | Medical Billing | FAILED |
John Doe | Clinical Decision Rules | PASSED |
Mary Swanson | Patient Portal | IN PROGRESS |
John Doe | Multilanguage Support | PASSED |
John Doe | Security | PASSED |
Links/Resources
- Target browser for test: Firefox 40+ (we don't have to be too precise with this)
- Project thread https://sourceforge.net/p/openemr/discussion/202506/thread/5f706dff/