Manual Tests

From OpenEMR Project Wiki
Revision as of 22:51, 1 July 2016 by Matthew Vita (talk | contribs) (Add Firefox as testing browser)

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

  • (Matthew) Patient Demographics
  • (UNASSIGNED) Facility Registration
  • (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