FHIR Testing
0.1.0 - ci-build

FHIR Testing, published by NHO. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/costateixeira/fhirtesting/ and changes regularly. See the Directory of published versions

Test Authoring

Authoring testing normally consists of:

Process overview

TestAuthorAuthoringToolAuthoring1Select testing scope2CreateTest casesGherkin,TestScript,...3AssembleTest Plans4Create Form(s) forTest Registration5CompileTest PlanBundle
Test Authoring
  1. The Test Author selects the testing scope - i.e. what is the artifact or capability or feature that is intended to be tested.
    • The testing scope should be defined - ideally with an actor or an actor/transaction option.
    • Testing scope should correspond to the granularity that the compliance is to be checked and reported.
    • There should be an artifact representing that scope, e.g. an ActorDefinition, or a CapabilityStatement[requirements]
      • The scope could be an entire ImplementationGuide but ImplementationGuides normally represent several systems, and it is not normal to assess conformance on a set of systems
  2. Test Author creates the test cases to cover the functionality
    • Test cases can be TestScrips or Gherkin features, depending on the test execution tooling
    • See gherkin syntax for a FHIR-specific gherkin test syntax
  3. Test Author assembles test plans by clustering the test cases per type or per sub-features as desired.
    • Examples - "baseline testing", "negative testing", "performance testing"…
  4. Test Author creates Test Registration Forms. These forms will allow the test candidate to register for testing specific features.

  5. The specification (publisher) compiles the Test Plans

  6. The Test Plans are pushed to a test Repository.

  7. The test repository then gets updated. It will thus contain Test Plans for the different scopes / capabilities. These Test plans can be configured for each test run and for each vendor.

Glossary

A Test Suite is

__Test Case__

__Capability__

Test Registration - process in which a test candidate (typically a software vendor) enrolls their system to be tested - selecting which capabilities to be tested.

Test Suite

Test Registration Form

Glossary

A Test Suite is

__Test Case__

__Capability__

Test Registration - process in which a test candidate (typically a software vendor) enrolls their system to be tested - selecting which capabilities to be tested.

Test Suite

Test Registration Form