SUT Operator

Shares the details about the network interfaces of his system under test.

Operates the system under test during the testing session.

Logs evidences in the tool.

Call GITB validation service from EVSClient

Submitted by abe on Wed, 10/26/2022 - 14:41
Priority
Essential - Must have, it is essential for the use cases
Status
Draft
Customer
DG DIGIT
Business owner
Fanny Serre
Description

DG DGIT is developping specifications for the OOTS (eWallet) project. Conformance tools have been developped using the GITB framework, and more especially the Test Bed’s XML validator

In this context, DG DGIT want to use the Gazelle Test Bed to execute the peer-to-peer test cases. To ease the verification of the exchanged messages, the Gazelle Proxy shall be able to call the Conformance tools through EVSClient. In other words, EVSClient shall be extended to call the GITB SOAP API (or alternatively the REST API).

Time constraints: A Projectathon is scheduled for mid-April 2023 (Week 16).

What is/are the targeted context(s)?
Who is the targeted audience?
Targetted goal(s)

Our main goal is being able to integrate GITB based conformance testing tool within the Gazelle Test Bed to automate the validation of the messages captured by the Gazelle Proxy during the testing events.

Expected benefit

Workflow will be made easier for participants and monitors.

All the pieces of proof will be stored in a single space.

Full advantage of using the Gazelle Proxy and the Gazelle test bed in general.

Demonstrate the ability of the Gazelle test bed to interact with GITB testing tools.

Opportunities

Integration of the GITB Validator is also something we have forseen to be able to reuse their Json validator (validation of WIA/AIR messages - DICOM Web) so there is an opportunity to mutualize the work here.

On the longer term, it will allow Gazelle Test Management to interact with other GITB based implementations. 

Documentation

The SOAP API of the XML validator is the same regardless of the specific instance (the OOTS instance we are discussing or a potential future  additional instance) and is detailed here (a SOAP UI project is also available as part of the documentation). A REST variant of the SOAP API will also be made available. It's planned to be released mid to end November. In the case of the REST API, inputs will be provided via JSON and the report will be returned in XML format (the exact same XML you already get through the UI and SOAP API). The GITB development team also plans to prepare an XSL stylesheet that can be customized to use Gazelle's style.

Full documentation is available here: https://www.itb.ec.europa.eu/docs/guides/latest/validatingXML/index.html#validation-via-soap-web-service-api. In case you are considering using Java to call the SOAP API, we have a step-by-step guide that walks you through the development of a client. The simple project presented through this guide is also available on GitHub.

SUT operator accesses a test run from a test case which has been deprecated in the meantime

Test cases have their own life cycle. They are written by the test designer, mark ready for execution by SUT operator, and, at some point, they can become deprecated for a variety of reasons.

Although a test case is deprecated, when a SUT operator looks at his past result, it shall see all the test runs that relate to this test case.

Operators lists all the tests for his system under test on a single page

We want the test execution process to be consistent during the preparatory and the testing phases. That is to say that the operator shall access a single view to report results whatever the category of the test case he is executing.

For the IHE Connectathon, a new test category is added "Preparatory", it might have different wording based on the projects. Those test cases are gathered on the same page as the Connectathon ones, the SUT operator shall have a way to distinguish them, as well as the other test categories that can be assigned to the test session.

SUT Operator verifies the conformance of the HTTP header

Submitted by abe on Mon, 03/07/2022 - 11:15
Priority
High - Major feature, it achieves a lot of work
Status
Under development
Customer
Innovation
Business owner
Anne-Gaëlle BERGE
Description

IHE defines a lot of profiles that relies on HTTP protocol for the transport. However, Gazelle does not cover the conformance verification of the HTTP header. 

Gazelle currently offers:

  • SOAP body verification, for the SOAP webservice based transactions;
  • FHIR resource / URL verification, for the FHIR-based transactions.

Although most of the profiles do not specify additional requirements on the HTTP header, some other do and its content might influence the behaviour of the targetted system under test. 

As a test designer, I want to make sure that a system under test use appropriate content in the HTTP header when communicating with peers.

As a SUT operator, when I verify the conformance of a message sent over HTTP (or HTTPS), I want the verification to include checks on the HTTP headers. In particular, I want to know:

  • Whether all the expected HTTP headers are present in the message issued by the system under test;
  • Whether the values of the HTTP headers are correct regarding the specification requirements
  • Whether no forbidden HTTP header is present in the message.
  • Optionaly and if it applies, whether the content of the message is correctly reflected in the HTTP headers.

As a developer of a conformance checker tool, I want to be able to implement the requirements on the HTTP headers in a specific context (IHE Transaction or derivative).

What is/are the targeted context(s)?
Targetted goal(s)

Offer a way to verify the conformance of the HTTP headers for HTTP based transactions.

Expected benefit

Improve the level of confidence in our conformance checker tools by including the verification of the HTTP header.

Make sure the systems under test fully implement the specifications.

Opportunities

Such a validator can be used in a broader scope that only healthcare (smart city ?)

Documentation

 Header Field Definitions on W3C website: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

SUT operator verifies the conformance of a DICOM JSON Model based message

Submitted by abe on Mon, 03/07/2022 - 10:55
Priority
High - Major feature, it achieves a lot of work
Status
Under development
Customer
Innovation
Business owner
Anne-Gaëlle BERGE
Description

The WIA, WIC, and AIR profiles define transactions that leverage the DICOM JSON Model either for the request or response HTTP payload. A SUT operator implementing on of those transactions in his product wants to verify the conformance of the messages the latter produces.

As of March 2022, the IHE transactions to consider are:

  • RAD-108 (Store Instances over the Web / STOW-RS); 
  • RAD-129 (QIDO-RS Query / QIDO-RS);
  • RAD-107 (WADO-RS Retrieve / WADO-RS).

Several levels of verifications are expected:

  • Is the message syntax valid regarding the JSON standard?
  • Is the message valid regarding the DICOM JSON Model?
  • Is the message valid regarding the specific requirement of the transaction I am implementing?

For each level, the SUT operator expects to understand whether the message is valid or not. If not, he wants to be able to fix the issues. That is to say that he needs to know:

  • Which verification level is failing;
  • Where the error is located in the message;
  • Which requirement is not met that causes the validator to report an error.

The SUT operator wants the conformance checker tool to be made available in the cloud (no need to install a software locally). Ideally, the SUT operator shall be able to perform the validation:

  • From Gazelle Proxy if the message was captured in the context of an interoperability test;
  • From EVS Client user interface, by uploading the JSON file;
  • From EVS Client API, in the context of integration testing.

As an output, the SUT operator shall be able to download a report and to see its content directly into EVS Client.

What is/are the targeted context(s)?
Who is the targeted audience?
Targetted goal(s)

Offer a conformance checker for the JSON standard and, in particular, for the DICOM JSON model and the additional requirements from the IHE profiles that leverage it.

 

Expected benefit

Improve the verification of the DICOMWeb based transaction by offering an automated tool to verify the conformance of the messages.

Opportunities

The Smart city ecosystem also makes use of the JSON standard and need a way to verify the conformance of the messages being exchanged.

SUT operator requests to join a test run channel

We cannot assume who among the SUT operators are working on a specific test run. To avoid the SUT operators to deal with too many channels they do not care about, we will rather other the interested SUT operator to join the channel.

When a user is not yet part of the channel, instead of the permanent link to the test run channel, add a "join" button. 

When the SUT operator hits the "join" button, it is automatically added to the channel; then the link to the channel can be displayed.

Gazelle TM creates a channel upon creation of a new test run

When a communication tool is defined for the test session, when the user initiates (execute or schedule) a new test run, Gazelle TM shall ask the communication tool to create a new private channel.

  • Channel's name: Test run identifier
  • Channel's owner: the user who initiates the test run

If the creation of the channel succeeds, the permanent link to the channel shall be displayed in the metadata panel of the test run.