Test plan for "Support Git protocol version 2"
- This change impacts gitaly, gitlab-shell, and gitlab-workhorse (what else?)
The matrix below identifies the Attributes, Components, and Capabilities relevant to the scope of this test plan. It can be used to help thinking about different perspectives on testing the feature.
Attributes (columns) are adverbs or adjectives that describe (at a high level) the qualities testing is meant to ensure Components have.
Components (rows) are nouns that define major parts of the product being tested.
Capabilities link Attributes and Components. They are what the product needs to do to make sure a Component fulfills an Attribute.
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
- Git protocol version 2 or version 1 can be specified easily (mostly beyond our control, but we shouldn't add any unnecessary configuration)
- Git operations via protocol v2 execute as reliably as they do via v1
- Git operations via protocol v2 perform as well as they do via v1
Automated end-to-end tests
Scenario 1: Core git operations via Git client
- Clone and push via
http://via protocol v1 and v2
Scenario 2: GitLab internal operations
- Add examples to existing tests that perform basic git operations so they use v2
- Merge, rebase, and squash MRs
- Create, edit, delete files via the UI
- Use ssh key
- Something involving pipelines?