Difference between revisions of "Manual Tests"

From OpenEMR Project Wiki
 
(6 intermediate revisions by one other user not shown)
Line 1: Line 1:
== Objective ==
== Objective ==


In order to verify that code changes pass certification tests, contributors must execute the relevant test cases via the test mapping document. This document is currently being built up (http://open-emr.org/wiki/index.php/Manual_Tests) and will live in openemr/Tests/certification_tests.md.
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.
Note that unit tests are being introduced in the code base to cover the more fine-grained functionality.


== Test Suites ==
=== Notes from Brady ===
 
* 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
* (COMPLETE) Patient Demographics
* Demographics https://www.healthit.gov/sites/default/files/170.314a3demographics_2014_td_approvedv1.4_onc.pdf
* (COMPLETE) Facility Registration
* Smoking Status: https://www.healthit.gov/sites/default/files/170.314a11smokingstatus_2014_tp_approvedv1.3.pdf (pages 6-8)
* (Matthew) Add QA Seed Data
* (Matthew) Patient Scheduling
* (Matthew) Provider 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) 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.
 
{| class="wikitable"
|-
! Tester
! Suite
! Status
|-
| John Doe
| Facility Registration
| IN PROGRESS
|-
| Sue Bob
| Patient Demographics
| PASSED
|-
| Sue Bob
| Patient Scheduling
| FAILED
|-
| and...
| so...
| on...
|-
|}


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