Difference between revisions of "Manual Tests"

From OpenEMR Project Wiki
m (→‎Test Development: test tools)
 
(14 intermediate revisions by one other user not shown)
Line 1: Line 1:
== Objective ==
== 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.
In order to verify that code changes pass certification tests, contributors must execute the relevant test cases via the test mapping document.


== Test Suites ==
Note that unit tests are being introduced in the code base to cover the more fine-grained functionality.


* (COMPLETE) Patient Demographics
=== Notes from Brady ===
* (UNASSIGNED) Facility Registration
* The required items are listed on the barometer here(note that within each item there can be requirements for only inpatient certification that don't pertain to OpenEMR): http://www.open-emr.org/wiki/index.php/OpenEMR_Certification_Stage_II_Meaningful_Use#Completion_Barometer
* (UNASSIGNED) Add QA Seed Data
* Demographics https://www.healthit.gov/sites/default/files/170.314a3demographics_2014_td_approvedv1.4_onc.pdf
* (UNASSIGNED) Patient Scheduling
* Smoking Status: https://www.healthit.gov/sites/default/files/170.314a11smokingstatus_2014_tp_approvedv1.3.pdf (pages 6-8)
* (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
 
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.
* 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.
 
{| 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
| PASSED
|}


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


* Tests are built up here: https://github.com/openemr/openemr/blob/master/tests/certification/tests.md
* Target browser for test: Firefox 40+ (we don't have to be too precise with this)
* 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/
* Project thread https://sourceforge.net/p/openemr/discussion/202506/thread/5f706dff/

Latest revision as of 00:00, 13 September 2016

Objective

In order to verify that code changes pass certification tests, contributors must execute the relevant test cases via the test mapping document.

Note that unit tests are being introduced in the code base to cover the more fine-grained functionality.

Notes from Brady

Links/Resources