Commit 8802794a authored by Mek Stittri's avatar Mek Stittri

Quality dept guidelines

parent 02a713ae
---
layout: markdown_page
title: "Guidelines"
---
## On this page
{:.no_toc}
- TOC
{:toc}
## Overview
Guidelines are high-level directives on how we carry out operations and solve challenges in the Quality Engineering department.
## Test Automation & Planning
* **Test plans as collaborative design document**: Test Plans as documented in [Test Engineering](./test-engineering) are design documents that aim to flush out optimal test coverage.
It is expected that engineers in every cross-functional team take part in test plan discussions.
* **E2E test automation is a collective effort**: Test Automation Engineers should not be the sole responsible party that automates the End-to-end tests.
The goal is to have engineers contribute and own coverage for their teams.
* **We own test infrastructure**: Test infrastructure is under our ownership, we develop and maintain it with an emphasis on ease of use, ease of debugging, and orchestration ability.
* `Future` **Disable feature by default until E2E test merged**: If a feature is to be merged without a QA test,
it **must** be behind a feature flag (disabled by default) until a QA test is written and merged as well.
## Test Failures
* **Fix failing test in `master` first**: [Failing tests on `master` are treated as the highest priority](../../workflow/#broken-master).
* **Flaky tests are quarantined until proven stable**: A flaky test is as bad as no tests or in some cases worse due to the effort required to fix or even re-write the test.
As soon as detected it is quarantined immediately to stabilize CI, and then fixed as soon as possible, and monitored until it is fixed.
* **Everyone can fix a test, the responsibility falls on the last who worked on it**: Anyone can fix a failing/flaky test, but to ensure that a quarantined test isn't ignored,
the last engineer who worked on the test is responsible for taking it out of [quarantine](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/qa/README.md#quarantined-tests).
* **Failure due to bug**: A test failure that is a result of a bug should be immediately made aware to the team responsible for that feature.
### Priorities
Test failure priorities are defined as follow:
* ~P1: Tests that are needed to verify fundamental GitLab functionality.
* ~P2: Tests that deal with external integrations which may take a longer time to debug and fix.
## Triage Efficiency
* **Triage packages to triage at scale**: Due to the volume of issues, one team cannot handle the triage process.
We have invented [Triage Packages](./triage-operations/#triage-package) to scale the triage process within Engineering horizontally.
### Triage Operations
More on our [Triage Operations](./triage-operations/)
## Building as part of GitLab
* **GitLab features first**: Where possible we will implement the tools that we use as GitLab features.
* **Build vs buy**: If there is a sense of urgency around an area we will consider buying/subscribing to a service to solve our Quality challenges in a timely manner.
This is where building as part of GitLab is not immediately viable.
---
layout: markdown_page
title: "Triage Operations"
---
## On this page
{:.no_toc}
- TOC
{:toc}
Any GitLab team member can triage issues. Keeping the number of un-triaged issues low is essential for maintainability, and is our collective responsibility.
We have implemented automation and tooling to handle this at scale and distribute the load to each team.
## Triage Packages
A [triage package](https://gitlab.com/gitlab-org/quality/team-tasks/issues/35) is an issue containing a checklist of un-triaged tasks. Each task corresponds to an issue that needs labels, prioritization and/or scheduling.
### Current Packages
TBD
## Resources
* [Issue Triage Policies](/handbook/engineering/issue-triage/).
* Chat channels; we use our chat internally as a realtime communication tool:
* [#triage](https://gitlab.slack.com/messages/triage): general triage team channel.
* [#gitlab-issue-feed](https://gitlab.slack.com/messages/gitlab-issue-feed) - Feed of all GitLab-CE issues
* [#support-tracker-feed](https://gitlab.slack.com/messages/support-tracker-feed) - Feed of the GitLab.com Support Tracker
* [#mr-coaching](https://gitlab.slack.com/messages/mr-coaching): for general conversation about Merge Request coaching.
* [#opensource](https://gitlab.slack.com/messages/opensource): for general conversation about Open Source.
\ No newline at end of file
......@@ -155,17 +155,9 @@ and [current architecture overview](https://gitlab.com/gitlab-org/gitlab-qa/blob
* [On-boarding](onboarding)
* [Project Management](project-management)
* [Test Engineering](test-engineering)
* [Issue Triage](issue-triage/)
* [**Public Issue Tracker (for GitLab CE)**](https://gitlab.com/gitlab-org/gitlab-ce);
please use confidential issues for topics that should only be visible to team members at GitLab.
* Chat channels; please use chat channels for questions that don't seem appropriate to use the issue tracker for.
* [#quality](https://gitlab.slack.com/messages/quality): for general conversation about GitLab Quality
* [#triage](https://gitlab.slack.com/messages/triage): general triage team channel.
* [#mr-coaching](https://gitlab.slack.com/archives/mr-coaching): for general
conversation about Merge Request coaching.
* [#opensource](https://gitlab.slack.com/archives/opensource): for general
conversation about Open Source.
* [Guidelines](guidelines)
* [Test Engineering](guidelines/test-engineering)
* [Triage Operations](guidelines/triage-operations/)
## Other related pages
......
---
layout: markdown_page
title: "Issue Triage"
---
## On this page
{:.no_toc}
- TOC
{:toc}
**Note:** We are currently working on involving all of Engineering as part of the issue triage process.
## Common Links
- [**Public Issue Tracker (for GitLab CE)**](https://gitlab.com/gitlab-org/gitlab-ce);
please use confidential issues for topics that should only be visible to team members at GitLab.
- Chat channels; we use our chat internally as a realtime communication tool:
- [#triage](https://gitlab.slack.com/messages/triage): general triage team channel.
- [#gitlab-issue-feed](https://gitlab.slack.com/messages/gitlab-issue-feed) - Feed of all GitLab-CE issues
- [#support-tracker-feed](https://gitlab.slack.com/messages/support-tracker-feed) - Feed of the GitLab.com Support Tracker
## Issue Triage
All Developers are responsible for issue triage as part of the Quality Team. The role holds multiple responsibilities that typically include Community Support and Development activities.
Time focused on issue triage will be spent responding to issues posted to our multiple issue trackers on GitLab.com.
This page indexes resources that Developers working on issue triage may find useful.
## Resources
* [Issue Triage Policies](/handbook/engineering/issue-triage/)
* [Onboarding](/handbook/engineering/quality/issue-triage/onboarding/)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment