Test plan for "Assign approvers based on code owners"
Test Plan
Introduction
This test plan is for https://gitlab.com/gitlab-org/gitlab-ee/issues/1012 and extends https://gitlab.com/gitlab-org/gitlab-ee/issues/7654 and https://gitlab.com/gitlab-org/gitlab-ee/issues/7286.
The feature automatically assigns eligible approvers based on the files changed and any matching rules in
a CODEOWNERS file.
Scope
- Only users (specified by handle or email) are supported, not groups.
- Only add/update/remove approvers when an MR changes or is merged. Don't need to consider when the
CODEOWNERSfile changes or when users permissions change but the MR doesn't. - EE-only (Starter)
ACC Matrix
| Secure | Responsive | Intuitive | Reliable | |
|---|---|---|---|---|
| Merge Requests | 1 | 2 | 2 |
For more information see the Google Testing Blog article about the 10 minute test plan and this wiki page from an open-source tool that implements the ACC model.
Capabilities
Merge Requests are:
- Secure
- Users can't be assigned as approvers if they're not eligible. (e.g., https://gitlab.com/gitlab-org/gitlab-ee/issues/7754)
- Intuitive
- Assigned approvers can be removed.
- Approvers are updated when the MR is updated.
- Reliable
- Only assign approvers for files included in the MR.
- Only assign approvers from the target branch, not the source branch.
Test Plan
End-to-end tests:
- Add a different
CODEOWNERSfiles to target and source branches and check that a new MR assigns the expected code owners from the targetCODEOWNERSfile. - With an approver assigned and approval granted, push a change that removes a code owner and adds another and check that the approvers and approvals are updated.
Edited by 🤖 GitLab Bot 🤖