Manual Tests Project Thread

matthewvita wrote on Thursday, June 30, 2016:

All,

During the refactor thread the topic of testing came up (https://sourceforge.net/p/openemr/discussion/202506/thread/d72c360b/?limit=25&page=1#4a95). I started to look into Selenium but it is going to take an eternity to put together with the current codebase. The result of the discussion boils down to this:

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.

The project page is here with more information: http://open-emr.org/wiki/index.php/Manual_Tests Would appreciate some folks to volunteer to help build these up with me!

  • Matthew

matthewvita wrote on Friday, July 01, 2016:

Added a test execution (matrix-based) strategy. Very simple way and collaborative before we ship releases :slight_smile:

http://open-emr.org/wiki/index.php/Manual_Tests#Test_Execution

matthewvita wrote on Friday, July 01, 2016:

@Brady: Historically, do we utlitize a finite set of browsers while testing before releases? If not, it would be great to identify a minimal spec (IE 10/11, Edge v25, Firefox v40, Chromium v40, etc):

EDIT: by no means would we have to test every single upgrade from Firefox v40 and up (same applies with the Chromium example). I am trying to take a snapshot at a sufficiently modern browser version that we can reasonably assume will behave similarly on all subsequent releases (until we need to “bump up the window” of versions to match the reality of quick updates from Firefox/Chromium)… for example, OpenEMR will behave the same as it does in Firefox v40 and v47. Though a bit risky, this approach worked great for a recent team I was on. It is not best to assume folks are using the latest browser version. For instance I am a software engineer that should know better and my Firefox is at v43…

bradymiller wrote on Friday, July 01, 2016:

Hi,

Looks like a good starting point and could always bring this into the main codebase (would recommend placing the Manual_Tests directory inside the Tests directory, though); if in main codebase, then would be easier for others to contribute. It will be good for you to do 1 or 2 of them so folks can then follow by your example in formatting etc (important to note that it is tough to predict whether folks will collaborate with specific projects or in the release; but I always try to remain optimistic on this front :slight_smile: ).

At this point, the project officially supports Firefox (most developers use this I think), and could simplify it by just focusing on Firefox for now. Regarding the version of Firefox, may be tough to expect the testers to use certain versions (for example, in ubuntu 16.04, basically only have 2 firefox versions to choose from regarding standard packages). Interestingly, in my 16.04 environment, I downgraded to the lower firefox version in order to work with Selenium.

-brady
OpenEMR

matthewvita wrote on Friday, July 01, 2016:

could always bring this into the main codebase

Let me get the “Patient_Demographics” test suite finished and then I’ll send a pull request with all other suite folders with a .gitkeep just so they’re there.

Here is what I am working on at the moment (almost done with the first one!):

  • Tests/Manual_Tests/Electronic_Medical_Records/Patient_Demographics/1_Add_Information_Test_Case.md
  • Tests/Manual_Tests/Electronic_Medical_Records/Patient_Demographics/2_Edit_Information_Test_Case.md
  • Tests/Manual_Tests/Electronic_Medical_Records/Patient_Demographics/3_Deceased_Patient_Test_Case.md
  • Tests/Manual_Tests/Electronic_Medical_Records/Patient_Demographics/4_Information_Report_Test_Case.md

Manual_Tests directory inside the Tests directory

I will do this.

At this point, the project officially supports Firefox

Cool, I will note this. Have you ever ran into/heard of a facility that uses OpenEMR via Internet Explorer? I’ve personally seen Internet Explorer has a larger market share in hospitals, for instance.

bradymiller wrote on Saturday, July 02, 2016:

Sounds good.

Willing to bet some folks use OpenEMR from internet explorer. If they were to report bugs on the forums, though, the first advice they would likely get would be to use Firefox. OpenEMR still has a ways to go before it captures the use of large enterprise settings use in the US. Note OpenEMR is also not ideal for the inpatient setting.

-brady
OpenEMR

matthewvita wrote on Sunday, July 03, 2016:

Brady,

Sounds good! Noted the target Firefox browser on the Manual Testing project page.

Not to derail the thread too much but… since we are focused on outpatient and not inpatient, should this be reflected on our new homepage? Should we mention that inpatient is on our roadmap?

  • m

bradymiller wrote on Monday, July 04, 2016:

Hi Matthew,

I wouldn’t go into outpatient vs inpatient specifics since is dependent on the specific use case. Note the lacking of inpatient support out of the box is in the US (I think this is because inpatient use in the US brings with it automatic enterprise needs and different priorities such as billing mechanisms and orders). There are places outside the US that have customized and use OpenEMR for inpatient use:
http://www.open-emr.org/wiki/index.php/OpenEMR_Success_Stories#Siaya_District_Hospital_in_Kenya_Goes_Live_With_OpenEMR_in_April_2012

-brady
OpenEMR

matthewvita wrote on Monday, July 04, 2016:

@Brady: sounds good. I’m going to put that PR in soon… before I do, is there any HL7 testing (inbound or outbound) to be done with respect to Patient Demographics?

-m

bradymiller wrote on Monday, July 04, 2016:

Hi Matthew,

There is mechanism to import/export patient info via CCDA in the Care Coordination module, but I wouldn’t go there yet on your testing scripts (that’s a bit more complicated since need to install/configure the modules and credentials are required to use ZH Healthcare’s mirth server which is required for CCDA processing).

There is also an xml import/export in popups (bottom of left_nav frame), but wouldn’t incorporate this into your test scripts since is complicated and don’t know if it’s even used by users.

-brady
OpenEMR

matthewvita wrote on Tuesday, July 05, 2016:

Brady,

Sounds good. When we get to the HL7 part I believe I will be helpful in getting Mirth configured, documented (if it isn’t already), and tested appropriately (recently did a deep dive into Mirth).

-m

matthewvita wrote on Tuesday, July 05, 2016:

Brady,

My pull request for building out the initial manual tests structure and demographics tests is here: Initial manual tests structure and demographics tests by MatthewVita · Pull Request #147 · openemr/openemr · GitHub

I also updated the list of all of the top-level test suites we’ll need (am I missing any? any of them not make sense?): http://open-emr.org/wiki/index.php/Manual_Tests#Test_Suites

Thanks,
Matthew

bradymiller wrote on Wednesday, July 06, 2016:

Hi Matthew,

This is a very nice starting point and the list of top-level suites looks good. I just brought your commit into the main codebase.

thanks,
-brady
OpenEMR

matthewvita wrote on Thursday, July 07, 2016:

Brady,

My pull request for the Facility Registration manual tests is here: Facility registration manual tests by MatthewVita · Pull Request #152 · openemr/openemr · GitHub - please review/merge when you have time.

I’ve updated the list here: http://open-emr.org/wiki/index.php/Manual_Tests#Test_Suites and next on the list is “Patient Scheduling”.

-m

bradymiller wrote on Friday, July 08, 2016:

Hi Matthew,
I just brought this into the codebase. Thanks for the contribution,
-brady

matthewvita wrote on Saturday, July 09, 2016:

Brady,

I’m currently putting together Patient and Provider scheduling test cases. Calendar is a pretty big feature so the PR may take a week for so.

Before I forget to ask… are there any manual tests that have been created over the years for Meaningful Use qa? I’m happy to recreate them, I was just wondering if this was ever captured.

Thanks,
Matthew

matthewvita wrote on Saturday, July 09, 2016:

Note that I updated our developer guidelines so that developers must check to make sure they don’t break any manual tests/update manual tests when things are broken when submitting code for review: http://open-emr.org/wiki/index.php/Development_Policies#General_Development_Best_Practices

bradymiller wrote on Sunday, July 10, 2016:

Hi,

Regarding Meaningful Use testing, note there are official testing scripts that are used to get certification(albeit would takes hours upon hours to run through them all):
https://www.healthit.gov/policy-researchers-implementers/2014-edition-final-test-method

-brady
OpenEMR

matthewvita wrote on Sunday, July 17, 2016:

Hi Brady,

I clicked on a few PDFs and am wondering where the actual test steps are. The documents only appears to have basic test plan information and version history.

Is there a matrix (on our wiki or otherwise) of what test cases OpenEMR is required to run? I noticed that certain tests are marked as optional.

Thanks,
Matthew

bradymiller wrote on Monday, July 18, 2016:

Hi Matthew,

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

As an example, here is testing procedure for Demographics:


(this is a short and goes over short test cases (changing date of births etc.))

And here is smoking status:


(check out pages 6-8)

-brady
OpenEMR