Difference between revisions of "Manual Tests"

From OpenEMR Project Wiki
m (→‎Philosophy & Approach: serial test suite execution note)
(→‎Test Suites: adding test suites)
Line 6: Line 6:


* (COMPLETE) Patient Demographics
* (COMPLETE) Patient Demographics
* (UNASSIGNED) Facility Registration
* (Matthew) Facility Registration
* (UNASSIGNED) Add QA Seed Data
* (UNASSIGNED) Add QA Seed Data
* (UNASSIGNED) Patient Scheduling
* (UNASSIGNED) Patient Scheduling
Line 17: Line 17:
* (UNASSIGNED) Multilanguage Support
* (UNASSIGNED) Multilanguage Support
* (UNASSIGNED) Security
* (UNASSIGNED) Security
* (UNASSIGNED) HL7/CCDA/Mirth
* (UNASSIGNED) Procedures
* (UNASSIGNED) Custom Forms
* (UNASSIGNED) Calendar
* (UNASSIGNED) Preferences
* (UNASSIGNED) MU2 Testing


== Test Development ==
== Test Development ==

Revision as of 03:58, 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/CCDA/Mirth
  • (UNASSIGNED) Procedures
  • (UNASSIGNED) Custom Forms
  • (UNASSIGNED) Calendar
  • (UNASSIGNED) Preferences
  • (UNASSIGNED) MU2 Testing

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 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