Incremental Integration Testing for COTS Products
US healthcare providers are currently feeling a lot of heat to maximize their returns and improve the overall experience of patient care, simultaneously with reduced cost of care. This proposition implies using custom designed products more sparingly. For most commercial industries, an important ingredient is to take advantage of this overwhelming business growth and make products readily available in the market.
Faced with these pressures, US healthcare provider industries are turning to commercial off-the-shelf (COTS) products, built as per specific requirements. However, COTS products might not be the ultimate solution, particularly if the aim is to integrate and make the products compatible with a complex IT environment. That is why integration testing of COTS products with the IT environment becomes so very important.
Integration testing is that phase in software testing life cycle (STLC) where individual applications are tested as a group. It is based on the requirements specification, design or the code of the system under test, or ideally, a combination of these.
Also referred to as component users' view towards testing software components, integration testing focuses on the interactions among the components and modules of the system.
However, this is not without challenges:
- Design information of components is usually not available in testing
- Component users have limited access to information about component design and implementation details. This implies that testers as component users have limited ability to observe internal behavior of the components
- There is lack of uniformity in connectivity and transmission medium through which COTS products exchange information
How do we overcome these challenges? White box Integration Testing (WIT) comes in handy, where individual components are treated as black boxes and integrating components (transmission medium for information exchange) are treated as white boxes.
To perform WIT, incremental WIT testing strategy is suggested as the best practice with:
- Top down approach
- Bottom up approach
- Sandwich approach (combination of top down and bottom up)
In the top down approach, a test is conducted as a whole and individual module/product control flow is tested in a holistic view. All COTS product integration is tested once.
In the bottom up approach, each individual functional module at lower levels is tested with higher modules, until all modules are tested. All COTS product integration testing is performed with each other first, and is then moved up in hierarchy for consolidation testing.
The sandwich approach combines both the top down and bottom up approaches and pros of both approaches are considered for strategizing integration testing. The logical grouping of product/modules is identified along with the data/information flow. The output of one group is provided as input to the second group.
This approach ensures enhanced quality, savings and knowledge assets
The road ahead…we will see how to go about the next step of detailing and creating WIT strategy for core EMR (Electronic Medical Record) COTS products available such as Meditech, Epic and Cerner as well as transmission standard used across the healthcare industry - HL7 (Health Level-7) and EDI (Electronic Data Interchange).
A software engineer by education , Amit Thorat has around 11 years of experience in areas of delivery, project management and domain knowledge. He is currently associated with Syntel’s HCLS Business Unit as a project manager. He had joined Syntel directly after graduating from college, and since then he has been working in the Healthcare domain. His past assignments include feasibility study and comprehensive test planning for healthcare providers, for ICD10 remediation projects. In his present role, Amit is managing two healthcare provider clients.