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

Introduce test data optimization ADR #700

Draft
wants to merge 4 commits into
base: feature/external-constraints
Choose a base branch
from

Conversation

Gabeblis
Copy link

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.

Copy link
Contributor

@aj-stein-gsa aj-stein-gsa left a 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.

@wandmagic
Copy link

#690
this is ADR is largely implimented here, let me know if we need to make any adjustments to meet the request of this ADR

Copy link
Contributor

@aj-stein-gsa aj-stein-gsa left a 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
Copy link
Contributor

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:

Suggested change
## Possible Solutions
## Possible Solutions
1. Do nothing, continue to maintain test architecture as-is.

Comment on lines +23 to +24
Solution 1:
- Longer test run time.
Copy link
Contributor

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.

Suggested change
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refactor test data for constraints for conflicting test requirements
3 participants