Overview
Conformance testing is used as the basis of product certification, and has the following goals:
- Tendering: enable tendering authorities to state formal criteria for compliance in tenders
- Protection for solution developers: enables bona fide vendors and other developers to prove the quality of their solutions compared to other offerings claiming conformance
- Protection for procurement: provides a way of ensuring that purchased solutions can be contractually guaranteed to perform in certain ways
Conformance is tested in two categories:
- Functional: test correctness of implementation with respect to specifications, represented by specific test sets
- Performance: test capacity of system to process data and transactions
All conformance specifications, test sets and related materials are part of the Conformance Specification component.
References
Conformance test design
Conformance testing on a product for a given test category is is performed by:
- select a specific test set for that category
- setting up initial conditions, e.g. inject a template
- executing specific transations on a given API or other interface (e.g. query)
- retrieving result
- performing regression comparison of actual v reference
Conformance schedule - Functional
Conformance level | Test Category | Description | Inputs | Outputs & Conformance Points | Test sets | Capabilities exercised |
---|---|---|---|---|---|---|
1 | Template injection test | End-to-end template => data test.
| Composition Template | Regression test exported openEHR canonical XML v test reference XML | TBD: Ian's monster template |
|
1 | EHR API lifecycle test | EHR create, commit, read via EHR API.
| Composition Templates | ?Contribution JSON v regression JSON Regression test exported openEHR canonical XML v test reference XML | Template set:
|
|
2 | TDD round trip | Data commit & retrieve using TDD based on provided TDS
| TDS | Regression test exported openEHR canonical XML v test reference XML | Vital signs template | |
2 | Basic AQL | Test AQL query against single data set (template).
| Template Test query | Regression test Result set XML v reference XML | Vital signs OBS template:
VS Test query |
|
3 | REST API | |||||
3 | Advanced AQL | Exercise AQL queries with WHERE clause across multiple data sets (templates) | Templates Test query | Regression test Result set XML v reference XML |
| |
OPTIONAL | Demographics API lifecycle test | Exercise openEHR demographic content create and retrieve | ||||
OPTIONAL | EHR Extract export |
Conformance schedule - Performance
NB: There may be better schemes for formalising performance levels - please comment.
Conformance level | Test Category | Description | Inputs | Outputs & Conformance Points | Test sets | Capabilities exercised |
---|---|---|---|---|---|---|
1 | Basic | Minimal level of:
| ||||
2 | Medium | Medium level of:
| ||||
3 | High | High level of:
|