Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduced EiffelTestCaseTriggeredEvent and EiffelTestCaseCanceledEvent #134

Merged
merged 10 commits into from Apr 12, 2017

Conversation

d-stahl-ericsson
Copy link
Contributor

As per issue #120, introduced two new event types to represent Triggering and Canceling of test case executions, following the same pattern as for Activity event types. The rationale is that the omission of these event types leads to loss of information and the inability to express intent to execute test cases, which in turn leads to the inability to e.g. monitor progress, analyzing queue times and resource scarcity etc. This split also opens up for event based asynchronous communication between test management and test execution.

[EiffelIssueVerifiedEvent](../eiffel-vocabulary/EiffelIssueVerifiedEvent.md)
__Optional in:__ None
__Legal targets:__ [EiffelArtifactCreatedEvent](../eiffel-vocabulary/EiffelArtifactCreatedEvent.md),
[EiffelCompositionDefinedEvent](../eiffel-vocabulary/EiffelCompositionDefinedEvent.md)
__Multiple allowed:__ No
__Description:__ Identifies the Item Under Test: what has been tested and/or been verified to address an issue.
__Description:__ Identifies the Item Under Test: what is being tested and/or been verified to address an issue.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

been/being

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be different tense depending on the case, though. For TCT it something about to be tested, for IV it's something that has been verified. But the sentence is poorly structured, will improve it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Member

@e-backmark-ericsson e-backmark-ericsson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the links object, should we add the link type previous_test_case_execution to align with what we have for activities? I'm not sure how previous_activity_execution should be used so maybe I'm out on thin ice here.

### data.testCase
__Type:__ Object
__Required:__ Yes
__Description:__ Identification of the executed test case.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Identification of the test case to be executed.

#### data.testCase.id
__Type:__ String
__Required:__ Yes
__Description:__ The unique identity of the executed test case.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The unique identity of the test case to be executed.

#### data.testCase.version
__Type:__ String
__Required:__ No
__Description:__ The unique version of the executed test case identity. Where this property is not used it is assumed that test cases are not version controlled.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The unique version of the test case identity to be executed.

#### data.testCase.uri
__Type:__ String
__Required:__ No
__Description:__ A location where a description of the test case can be retrieved. To the extent that multiple versions of the same test case co-exist, this property SHALL identify the exact version executed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the exact version to be executed.

### data.parameters
__Type:__ Object[]
__Required:__ No
__Description:__ A list of parameters passed to the test case execution.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to be passed to the test case execution.

"target": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeee2"
},
{
"type": "TERC",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should TCS and TCT be allowed to link to TERCC or should it always go via TSS? Just as ED should only be linked from one event I think that the same should hold for TERCC. In the links object doc only TSS is stated as source.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My bad! No, it shouldn't be there. On a side note, schemas should check link types as well. Will have to do something about that, but first links and meta documentation should be broken down to a per-event level, too. Will create an issue for this.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@d-stahl-ericsson
Copy link
Contributor Author

Good point on PREVIOUS_TEST_CASE_EXECUTION. I thought about it myself, but from my experience test case executions are not sequential in nature the way activity executions tend to be. A test case is a (typically) unique combination of IUT, environment and test case version. In that sense, the meaning of "previous" becomes rather obscure, and I'm afraid it would just add more confusion than it would clarity.

I could be wrong, though :)

@d-stahl-ericsson
Copy link
Contributor Author

Thanks for the review! I hope you'll find your comments addressed in the latest commit.

@e-backmark-ericsson
Copy link
Member

Regarding PREVIOUS, I partly agree with you and partly not. A Test activity execution is tied to an IUT in the same way as a test case execution is. And it probably has either a fixed environment to execute the test towards or it has an instantiation of an environment template (or possibly multiple for more complex test activities). So speaking about previous in regards to test activity executions is more or less as obscure as it is for test case executions. But I assume there are other kinds of activities where the previous concept could be suitable.

@d-stahl-ericsson
Copy link
Contributor Author

Exactly, sometimes it may not be relevant for the Activity either, but often it is. Think of e.g. your typical Jenkins build job chewing through new commits one after the other - that is a very sequential structure. Which is why PREVIOUS_ACTIVITY_EXECUTION is an optional link.

@e-backmark-ericsson
Copy link
Member

I'm fine with this PR. Good job Daniel!

@rogpers-ericsson
Copy link

👍

@d-stahl-ericsson
Copy link
Contributor Author

I updated the PR according to issues #130 and #129. Though we have two approvals already, I would appreciate if someone could give it another look after these changes.

@e-backmark-ericsson
Copy link
Member

👍

@d-stahl-ericsson d-stahl-ericsson merged commit 316f2b1 into eiffel-community:master Apr 12, 2017
@d-stahl-ericsson d-stahl-ericsson deleted the issue120 branch September 13, 2018 10:31
@magnusbaeck magnusbaeck added the protocol All protocol changes label Nov 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
protocol All protocol changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants