Difference between revisions of "Manual Tests"

From OpenEMR Project Wiki
m
Line 67: Line 67:
| Sue Bob
| Sue Bob
| Patient Scheduling
| Patient Scheduling
| IN PROGRESS
|-
| Mark Smith
| Electronic Medical Records
| IN PROGRESS
|-
| Mark Smith
| Prescriptions
| FAILED
|-
| Sue Bob
| Medical Billing
| FAILED
| FAILED
|-
|-
| John Doe
| and...
| Clinical Decision Rules
| so...
| PASSED
| on...
|-
| Mary Swanson
| Patient Portal
| IN PROGRESS
|-
| John Doe
| Multilanguage Support
| PASSED
|-
|-
| John Doe
| Security
| PASSED
|}
|}



Revision as of 21:37, 5 July 2016

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
  • (Matthew) 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
  • (UNASSIGNED) HL7
  • (UNASSIGNED) Procedures
  • (UNASSIGNED) Custom Forms
  • (UNASSIGNED) Calendar
  • (UNASSIGNED) Preferences
  • (UNASSIGNED) MU2 Testing
  • (UNASSIGNED) System Upgrades

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

The tests are written in markdown format. It turns out that bulleted lists in markdown tables are not supported (http://stackoverflow.com/questions/19950648/how-to-write-lists-inside-a-markdown-table), so plain old HTML tables are leveraged instead (markdown can handle basic HTML).

Use the following WYSIWYG HTML editor (http://bestonlinehtmleditor.com/) and Markdown check (https://stackedit.io/editor) tools like so: https://raw.githubusercontent.com/openemr/openemr/tree/master/Test/Manual_Tests/test-writing-tools.gif

Philosophy & Approach

  • Keep tests elegant and within appropriate boundaries.
  • Test cases should cover realistic happy paths and negative paths.
  • Tests cases are to be ran serially inside of a suite (open for feedback).
  • 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 FAILED
and... so... on...

Links/Resources