High-Level Requirements

The testing infrastructure is intended to centralize health IT testing resources to provide the U.S. healthcare IT industry and the Federal Government with a robust conformance and interoperability testing capability. The conceptual view of the testing infrastructure to the right illustrates that health IT stakeholders will have access to a core Test Infrastructure System managed by NIST. The Test Infrastructure System will contain a testing toolkit to develop customized testing solutions to meet individual stakeholder needs. The testing infrastructure will support instance testing, isolated-system testing, and peer-to-peer testing environments. It will also provide end-users with development components or utilities such as a test identification manager, testing resource repository, test case wizard, and configuration manager for test case development. Furthermore, the testing infrastructure will provide a workflow management mechanism to direct test cases through the execution of test transactions and validations necessary to ensure standards compliance. The test harness or execution engine of the testing infrastructure will employ a series of testing services that will encompass the functionality of existing standards-based testing tools.

Figure - Standards Testing Requirements

Test Infrastructure System Components

The Test Infrastructure System will encompass the following components:

  • Test System Instance Component - Will provide a single point of entry for testing stakeholders to access the testing capabilities provided by the NIST testing infrastructure. It will provide direct access to online testing tools, web services, testing toolkit components, specifications and other testing artifacts.
  • Test System Development Component - Will provide utilities to develop and manage tests. It will encompass functionality of traditional test management tools such as test assignment, tracking, reporting, monitoring, and auditing.
  • Resource Repository Component - Will provide access to testing artifacts such as use cases, test cases, and machine-readable test scripts. It will also provide specifications to develop materials for use within the testing infrastructure such as artifact templates and common file formats.
  • Test Harness Component - Will provide an execution and orchestration engine for the testing infrastructure. It also employs a workflow management mechanism to direct the execution of defined test cases through the orchestration of testing services. It will also analyze results of test object validations throughout the lifecycle of a test case.
  • Services Component - Will provide a portfolio of testing services that are specified to perform unique functions within the testing infrastructure. Services will be orchestrated by the test harness to support test case execution, or they may be used as independent functional utilities outside of the testing infrastructure. The services will support functions such as the application of test agents, validation of testing transactions, logging of test results, and the generation of test reports.
Figure - Delivery Mechanisms

Delivery Mechanisms
(click to enlarge)

The testing infrastructure is intended to be modular for stakeholder organizations to utilize one or multiple components as needed to build individual testing solutions. As such, each component of the testing infrastructure will be accessible via multiple delivery mechanisms including APIs, desktop applications, web applications, and web services as illustrated in the diagram to the right.