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 CODEOWNERS file 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
  • 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 CODEOWNERS files to target and source branches and check that a new MR assigns the expected code owners from the target CODEOWNERS file.
  • 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.

Test Coverage sheet

Edited by 🤖 GitLab Bot 🤖