As many medical service providers worldwide shift toward electronic systems, with usage doubling from 2008 to 2017, the need to ensure that software functions precisely as it should has never been more important.
Maintaining accurate and easily accessible electronic health records (EHR) is vital for providing both quality and appropriate care, whether as a part of a routine procedure or in an emergency.
However, one of the primary issues faced by EHR users is the difference between the software in the testing environment prior to its release and its real-life operation. This is why care providers are increasingly turning to more intense performance testing methods, and in particular, load testing.
In this article, we’ll explore the specifics of load testing and why it holds particular significance in the healthcare sector.
Load testing in brief
Although the process behind load testing is complex, the concept is rather straightforward––to evaluate the response of a system based on its varying workload.
Load testing is just one area of performance testing, and in the case of EHR, it proves to be particularly critical. For example, in the event of an emergency, the treating physician or another member of medical staff should have access to the records without a massive wait time or system failure.
Those performing load testing services typically focus on four questions when establishing how reliable a site or piece of software is:
- Do bottlenecks exist, and where are they?
- To what degree can the system be ‘overloaded’?
- Can the system maintain a constant load (every day), or will it fail at some point?
- What is the overall maximum load the software or site can take?
In evaluating these questions, it can be established where the areas of weakness are in order to fix them.
Issues in electronic health record management
While EHRs are a favorable advancement to healthcare, they do not come issue-free. Those seeking to employ EHRs with success should take note of the following factors:
• Security issues––like any software, EHRs are vulnerable to viruses and hackers. This requires consistent monitoring and active measures to prevent issues that could corrupt the system.
• Technical skills of staff––when initiating any changes to the work process, it is vital to make sure the members of the staff are sufficiently trained in order to use the new systems effectively.
• Software efficiency––every healthcare facility will have unique needs, so for software developers this requires tailoring and testing each piece of the kit individually.
• Clinic environment vs. test environment––often, EHRs are tested in a sandbox environment. This bears little semblance to the real-life clinic environment wherein physicians and support staff are under pressure. A software failure could mean the difference between life and death for a patient or, for example, undue harm from an incorrect prescription or travel to a hospital whose beds are already full.
• Scaling––as systems grow to include more patients and information, additional issues may occur, causing system failures or slow data loading.
Providing solutions with load testing
While each of these issues presents unique challenges to EHR users, load testing can help to alleviate those related to the system reliability and performance in particular. Here is how.
Before going live
Before releasing a system into the world, it is critical to ensure it works as seamless as possible in the test environment. This should include:
1. Testing for maximum user capacity––if we consider each patient and staff member as a user, this can quickly add up. That is why it is vital to understand in advance just how much the system can take before issues start to occur.
2. End-user experience––load testing allows the tester to evaluate the overall quality of the software under different loads and check the resulting experience for setbacks.
3. Identifying issues and trends––different issues will appear under different loads, so testing for this allows detecting and evaluating issues and correct them before deploying the system in a live version. Identified trends may show which areas users are likely to use and boost the capacity for these key sections.
4. Predicting future updates and needs––load testing can establish at which points the software will need updating in the future.
5. Bottleneck detection––load testing aids in establishing whether a certain component is causing a wider failure in the system and where precisely it is located.
6. Overload testing––by creating an artificial load on the system, the tester can establish the benchmarks for how much the system can take.
7. Consistency testing––a single overload or even normal load might work on the system once or twice. However, if this occurs on a regular basis as required in the clinical environment, it may produce issues similar to that of a continuously sleep-deprived doctor. “Constant” load testing works to see exactly what the limits of the system are and expand them.
Testing in the clinic environment
While the tests suggested above are effective in detecting issues, recent studies have shown that they lack in one key area––the inability to test in the live environment, which in turn may lead to failures when used in a clinical scenario.
To target this specific issue, testers are increasingly looking to recreate similar load test cases as seen in “live” clinical settings. While this indeed presents challenges, it also suggests equally promising results.
While testing in production, testers recreate the live environment using test patients, physicians and other types of users, formulating the testing structure based on the real clinical practice. This includes how often the system needs to be accessed, how fast, the number of patients, etc. to fully evaluate its performance.
Realizing solutions by testing in production
To sum up, with the rise in the adoption of EHR systems, it is essential that such software is fully tested before it is released for clinical use. While intense testing may be costly and work-intensive, it prevents future issues, such as system failures or unnecessarily slow data processing.
Adapting testing to mimic the live environment can ensure the provider and client know exactly how the software will work in a real-life clinic scenario, much more so than with traditional load testing methods.
Maxim Chernyak is an expert in test automation methodologies and tools for functional and nonfunctional testing at A1QA