Monitor
User who is assigned to the verification of a set of test cases for a specific test event. He is responsible for setting the final status of a test run.
Any user accesses the "All test runs" page
Any user shall access the "All test runs" page from the Testing menu.
The "All test runs" page displays all the test runs to the user
Refactor the "All test runs" page (see sketch-up)
A SUT operator validates an ITI-71 transaction to make sure that his messages comply with the specifications.
The workflow involves 2 main actors (we don't check the IDP part) :
- The Authorization Client : A client that retrieves access tokens.
- The Authorization Server : A server that issues access tokens to requesting clients.
In order to check the compliance a complete ITI-71 transaction, I need to validate :
- The Get Authorization Code request (Http GET message).
- The Get Authorization Code response (with the code).
- The Get Access Token Request (Http POST message, code included).
- The Get Access Token response (with also a Token validation).
The steps of this workflow SHALL be tested either for a Basic Token or an Extended Token.
The main objective is to offer to SUT operators a way to verify the correctness of the HTTP requests and responses issued by their systems under test, against the ITI-71 requirements. In case of failure of the SUT to demonstrate that it complies with the specifications, the SUT operator shall understand what and where the errors are.
When the HTTP message contains a body (Steps 2 to 4), the SUT operator shall be able to assess as well the conformance of its content against specifications.
Short term benefit (< 1 year):
Canadian second Projectathon's participants will be able to test IUA ITI-71 messages before and during the event. It will also permit to increase consequently the validation time for monitors.
Middle and long term benefit (>= 1 year):
Since Canada Health Infoway choose to use the unmodified IHE specifications for IUA, this Validation Profile will be used in all the other IHE platforms.
This User Need is almost the same as SUT Operator verifies the conformance of the RAD-107 request and response messages.
A common validation service should be developped.
Complete and up to date IUA specifications : https://profiles.ihe.net/ITI/IUA/index.html
SUT Operator verifies the conformance of the RAD-107 request and response messages
ANS has defined a new business use case that allows the sharing of imaging among practioners that are not on the same network. The DRIM-M project relies on the fact that a DICOM KOS is published in the patien health record and contains pointers to the images that are stored in the PACS of the facility where the exam took place. When the practitioner wants to access images that are referenced in an imaging report, he first retrieves the DICOM KOS and then use the RAD-107 transaction to retrieve the images in the PACS.
Two actors are involved in this process:
- the DRIMBox source is the system (or component of a system) that acts as a gateway to the PACS. It behaves as the Imaging Document Source actor of the IHE WIA profile
- the DRIMBox consommatrice is the system (or component of a system) that initiates the RAD-107 transactions to retrieves the images. It behaves as the Imaging Document Consumer actor of the IHE WIA profile.
In the context of the Segur program, ANS wants to verify the ability of
- the DRIMBox consommatrice to send out an HTTP request to the DRIMBox source that complies with the DRIM-M requirements;
- the DRIMBox source to build an HTTP response that complies the the DRIM-M requirements.
The SUT operator shall be able to verify the conformance of the message by either:
- Uploading the message content in the EVSClient
- Selected the message to validate in the Gazelle Proxy
The main objective is to offer to SUT operators a way to verify the correctness of the HTTP requests and responses issued by their systems under test, against the RAD-107 requirements. In case of failure of the SUT to demonstrate that it complies with the specifications, the SUT operator shall understand what and where the errors are.
When the HTTP message contains a body (RAD-107 response), the SUT operator shall be able to assess as well the conformance of its content against specifications.
Short-term: offering an automated way to verify the conformance of the messages issued in the context of the RAD-107 transaction (DICOMWeb / WADO-RS). It will benefit as well to the IHE Connectathon participants who have currently no mean of non-manual verification.
Medium-term: offering an HTTP validator (HTTP headers for requests and responses) that can be customised based on the requirements to be tested (DICOMWeb QIDO-RS, FHIR, IUA in particular).
Long-term: coupling this HTTP validator with the Message Content Analyzer to be able to provide to the SUT operators a complete analysis of the HTTP messages his SUT produces.
Enlarge the conformance testing capabilities of the test bed by offering a new feature: validation of HTTP messages, including validation of the HTTP headers.
Introduce this new conformance checking tool to the IHE Connectathon participants. It will increase the level of testing for an important set of HTTP-based profiles and thus improve the level of confidence in the systems under test which implement such specifications. Forseen profiles to be tested first: WIA, WIC, AIR, and IUA.
Leverage this new conformance checking tool for testing the IUA profile in the context of the PAN Canadian project.
The user shall have access to an overview of the test runs for a given testing session whatever the current status of the related test cases
In Gazelle Test Management, the tests are executed from the Test execution page. This page also logs all the runs executed by the systems. The test runs are linked to the test case they relate to.
The test execution page shows only the test cases with a status set to "ready". As a consequence, if a test case is deprecated at some points, the SUT operator cannot access the test runs that were executed when the test case was "ready".
In the same way, the "All test runs" page displays only the test runs that relates to the "ready" test cases.
As a consequence, we experience a loss of information and that is not accessible neither from the SUT operator's or Testing Session Manager's point of view.
- As a SUT Operator, I want to see all the test runs that have been executed by a system under test owned by my organisation, during a given testing session, at any time.
- As a TSM, I want to see all the test runs that have been executed during a given testing session, at any time.
- As a user, for each test run, I want to see the following details:
- Test run identifier
- Test case keyword (and a link access its details)
- Whether the test case is currently deprecated
- Last update date/time
- Test run status
- The role assigned to my SUT in this particular test run
- The other partners
- The status of the test run
- If a monitor is assigned, his first and last names
- As a user, I want to be able to access the test run page for any test run (whatever the status of the test case is)
- As a user, I want to be able to access the description of the test case.
- As a user, I want to be able to filter on
- System (name/keyword)
- Test case keyword
- Monitor
- Type of test
- Domain
- Tested profile
- Tested actor
- Tested profile option
- Involved transactions
- Test run status
- As a testing session manager or admin user, I want to be able to filter by Organisation (name/keyword)
- As a user, I want the test runs to be grouped by tested SUT capabilities
- As a user, for each SUT capabilities, I want to see the evaluation.
- As a user, I want to be able to sort on test case and test status within each SUT capability.
Allow the users to see all the test runs from a test session, regardless of the current status of the executed test cases.
User will have access to a page that summarizes the outcome of their test campaign
We might also want to experience new widget/features on that page like displaying statistics.
Call GITB validation service from EVSClient
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).
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.
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.
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.
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.
User see details about a given test run
For each test run, a page shall give all the relevant details:
- For the SUT Operators to execute the test and report the evidences
- For the monitors to grade the test
On the test instance page, in the metadata section, the user shall see the following details:
Gazelle TM unarchives a channel when the test run is set back to running
A user might change a test run to the "aborted" status by mistake. In that case, if the user set back the test to running, partially verified, or paused, Gazelle Test Management shall request the communication tool to unarchive the channel.
The link to the test run channel shall be displayed on the test run page.
Gazelle TM archives the channel when the test run is complete.
When the status of the test run is changed into a final status (verified, failed, aborted), Gazelle Test Management shall request the communication tool to archive the channel.
The link to the channel shall not be visible anymore.