Difference between revisions of "Manual Tests"

From OpenEMR Project Wiki
(note sub-folders and add better examples)
(test execution matrix)
Line 32: Line 32:
* Each test case is simply a markdown table with columns "Step Number", "Description", and "Expectation".
* 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.
* 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.
{| class="wikitable"
|-
! 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
| IN PROGRESS
|}


== Links/Resources ==
== Links/Resources ==


* Project thread https://sourceforge.net/p/openemr/discussion/202506/thread/5f706dff/
* Project thread https://sourceforge.net/p/openemr/discussion/202506/thread/5f706dff/

Revision as of 00:20, 1 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

  • Facility Registration
  • Patient Demographics
  • Patient Scheduling
  • Electronic Medical Records
  • Prescriptions
  • Medical Billing
  • Clinical Decision Rules
  • Patient Portal
  • Reports
  • Multilanguage Support
  • 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 "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:

  • /Manual_Tests/Electronic_Medical_Records/Medications/Add_Medications_Test_Case.md
  • /Manual_Tests/Electronic_Medical_Records/Medications/Remove_Medications_Test_Case.md
  • /Manual_Tests/Electronic_Medical_Records/Medications/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 IN PROGRESS

Links/Resources