1 of 7

Standardize Tests

2 of 7

Objectives

1. What are the intended purposes of these tests?

2. What elements should be incorporated into these tests?

3. How will we manage, host and maintain these tests? (Life cycle of the tests)

3 of 7

1. What are the intended purposes of these tests?

Case 1:

The Tree publisher wants to verify whether their publication adheres to the TREE specification (Server Testing).

Case 2:

The Tree client implementer wants to assess if their implementation is capable of consuming a Tree.

4 of 7

2. What elements should be incorporated into these tests?

  • Case 1:

The Tree publisher wants to verify whether their publication adheres to the TREE specification (Server Testing).

  • Phase 1:

Validate against specific Tree:Nodes to ensure that the required ontologies (identified by "MUST" in the specification) are included in the Node.

The validation is performed using SHACL shapes, which are available in the SPEC's GitHub repository. (These shapes can also be used by users to run the tests with their own SHACL engine if desired.)

Additionally, a user-friendly endpoint is provided where test users can upload their endpoint and click a "Go" button to initiate the tests.

5 of 7

2. What elements should be incorporated into these tests?

  • Phase 2: Validation Against a Complete TREE Stream

This phase emphasizes validating the tree relations, specifically the transactions between nodes, which are challenging to test using SHACL shapes.

The process uses the same user-friendly endpoint.

A test runner operates in the backend, crawling the stream to retrieve its contents.

This enables the verification of the stream's integrity and ensures the expected relationships between nodes.

6 of 7

2. What elements should be incorporated into these tests?

Case 2: Evaluating a TREE Client Implementation

In this case, the TREE client implementer aims to verify whether their implementation can effectively consume a TREE stream.

We provide a standardized TREE stream hosted at a dedicated endpoint, along with clear explanations of the expected client behavior, including:

  • Expected Output : How the client should handle and maintain the output.
  • Page Redirection: The correct behavior when navigating between page.
  • End-of-Stream Handling: The appropriate response when the end of the stream is reached.
  • Other Scenarios..

The provided sample TREE stream is designed to encompass all these scenarios, ensuring comprehensive coverage for testing the client implementation.

By using this endpoint, the implementer can validate whether their client functions as expected across these critical aspects.

7 of 7

3. How will we manage, host and maintain these tests? (Life cycle of the tests)

- A separate repository hosting the tests and their development?

- The responsible for maintaining the tests when changes occur, and when should this be done? [Life cycle management]

- How can the tests developed by VSDS be integrated, and what have been done by VSDS?