diff --git a/README.md b/README.md index 74871051..84ad53d0 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ __IMPORTANT NOTICE:__ The contents of this repository currectly reflect a __DRAF 1. [EiffelFlowContextDefinedEvent](./eiffel-vocabulary/EiffelFlowContextDefinedEvent.md) 1. EiffelTestCaseStartedEvent 1. EiffelTestCaseFinishedEvent - 1. EiffelTestSuiteStartedEvent + 1. [EiffelTestSuiteStartedEvent](./eiffel-vocabulary/EiffelTestSuiteStartedEvent.md) 1. EiffelTestSuiteFinishedEvent 1. EiffelTestExecutionRecipeCollectionCreated 1. EiffelAnnouncementEvent diff --git a/eiffel-vocabulary/EiffelTestSuiteStartedEvent.md b/eiffel-vocabulary/EiffelTestSuiteStartedEvent.md new file mode 100644 index 00000000..cc11d17a --- /dev/null +++ b/eiffel-vocabulary/EiffelTestSuiteStartedEvent.md @@ -0,0 +1,39 @@ +# EiffelTestSuiteStartedEvent +The EiffelTestSuiteStartedEvent declares that the execution of a test suite has started. This can either be declared stand-alone or as part of an activity or other test suite, using either a __CAUSE__ or a __CONTEXT__ link type, respectively. + +In Eiffel, a test suite is nothing more or less than a collection of test case executions (see [EiffelTestCaseStartedEvent](./EiffelTestCaseStartedEvent.md)) and/or other test suite executions. The executed test suite may be an ad-hoc transient grouping of test cases that were executed at a particular time or place or for a particular purpose or a persistent entity tracked in a test management system - Eiffel makes no distinction or assumptions either way. + +## Data Members +### data.name +__Type:__ String +__Required:__ Yes +__Description:__ The name of the test suite. Uniqueness is not required or checked, but is useful. + +### data.categories +__Type:__ String[] +__Required:__ No +__Description:__ The category or categories of the test suite. This can be used to group multiple similar test suites for analysis and visualization purposes. Example usage is to categorize test suites required before release as "Pre-release tests". + +### data.types +__Type:__ String[] +__Required:__ No +__Legal values:__ ACCESSIBILITY, BACKUP_RECOVERY, COMPATIBILITY, CONVERSION, DISASTER_RECOVERY, FUNCTIONAL, INSTALLABILITY, INTEROPERABILITY, LOCALIZATION, MAINTAINABILITY, PERFORMANCE, PORTABILITY, PROCEDURE, RELIABILITY, SECURITY, STABILITY, USABILITY +__Description:__ The type or types of testing performed by the test suite, as [defined by ISO 29119](http://www.softwaretestingstandard.org). + +### data.liveLogs +__Type:__ Object[] +__Required:__ No +__Description:__ An array of live log files available during execution. These shall not be presumed to be stored persistently; in other words, once the test suite has finished there is no guarantee that these links are valid. Persistently stored logs shall be (re-)declared by [EiffelTestSuiteFinishedEvent](./EiffelTestSuiteFinishedEvent.md). + +#### data.liveLogs.name +__Type:__ String +__Required:__ Yes +__Description:__ The name of the log file. + +#### data.liveLogs.uri +__Type:__ String +__Required:__ Yes +__Description:__ The URI at which the log can be retrieved. + +## Examples +* [Simple example](../examples/events/EiffelTestSuiteStartedEvent/simple.json) \ No newline at end of file diff --git a/examples/events/EiffelTestSuiteStartedEvent/simple.json b/examples/events/EiffelTestSuiteStartedEvent/simple.json new file mode 100644 index 00000000..516f722e --- /dev/null +++ b/examples/events/EiffelTestSuiteStartedEvent/simple.json @@ -0,0 +1,33 @@ +{ + "meta": { + "type": "EiffelTestSuiteStartedEvent", + "version": "1.0", + "time": 1234567890, + "source": { + "domainId": "example.domain" + }, + "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee0" + }, + "data": { + "name": "Pre-release installation and security verification", + "categories": [ + "Pre-release tests" + ], + "types": [ + "INSTALLABILITY", + "SECURITY" + ], + "liveLogs": [ + { + "name": "My test log", + "uri": "file:///tmp/logs/data.log" + } + ] + }, + "links": [ + { + "type": "CONTEXT", + "target": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee1" + } + ] +}