-
Notifications
You must be signed in to change notification settings - Fork 84
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
Introduce test data optimization ADR #700
base: feature/external-constraints
Are you sure you want to change the base?
Introduce test data optimization ADR #700
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a minor consideration thus far.
#690 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know it is still in draft, but I really like the improvements. I was favorable to this change, but now I am even more understanding and supportive after I read this again.
``` | ||
We have one constraint, `information-type-has-categorization`, that checks the existence of the `categorization` element. In the fail case, we need to remove this `categorization` block from the invalid test data file entirely in order to make the fail case fail successfully (categorization element doesn't exist). We have another constraint, `information-type-system`, that checks if the `system` attribute is a valid value. In the fail case, the `information-type-system` constraint cannot check the `system` attribute because the entire `categorization` element is removed to satisfy the `information-type-has-categorization` constraint fail case. This conflict makes it impossible for both of these constraints to share the same invalid test data file when validating the constraints. | ||
|
||
## Possible Solutions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Non-blocking: one minor suggestion, show the alternative:
## Possible Solutions | |
## Possible Solutions | |
1. Do nothing, continue to maintain test architecture as-is. |
Solution 1: | ||
- Longer test run time. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Non-blocking: one minor comment, for comparison.
Solution 1: | |
- Longer test run time. | |
Solution 1: | |
- Current average test execution time is maintained. | |
- Test suite cannot be realistically enhanced whenever there is a conflicting requirement, which will be often. | |
- Development and maintenance of individual tests and overall test suite will slow and eventually halt. | |
Solution 2: | |
- Longer test run time. | |
- Developers can continue current velocity of test development or increase, but not stop without this workaround. | |
- The test architecture achieves meaningful flexibility to permit development and testing of conflicting test requirements simultaneously. |
Committer Notes
This ADR pertains to the refinement of the method used for employing the test data files 'ssp-all-VALID.xml' and 'ssp-all-INVALID.xml' in the constraint validation tool.
{Please provide a description of what this PR accomplishes. Be sure to reference any issues addressed. If the PR is a work-in-progress submitted for early review, please submit the PR as a draft PR using the "Draft pull request" dropdown.}
All Submissions:
By submitting a pull request, you are agreeing to provide this contribution under the CC0 1.0 Universal public domain dedication.