Testdata design, curation and cleanup
We need to start organizing the test data the framework outputs for better readability, ease of debugging and cleanup.
Problem
-
Readability The test data created from GitLab QA is very hard to navigate around https://gitlab.com/gitlab-qa-sandbox-group
- Generic name and timestamps do not help with readability.
- Reusability Tests are not lean in setup, we liberally create groups and projects. A number of these can be reused.
-
Stability Tests are failing on envs which we don't clean up test data. Tests from canary and production pipelines have been failing because of the number of projects/groups created.
- We recently cleared out https://gitlab.com/gitlab-qa-sandbox-group and a few days later we now have 41 pages of groups. https://gitlab.com/gitlab-qa-sandbox-group?page=41
- We need to periodically clean out the test data on staging and also canary.
Proposal
- Define isolation levels of tests data. For tests that are in a lower level it can reuse a static parent container.
- Group
- Project
- Issue
- Merge requests.
- Project
- Group
- Design and separate write and readonly test data. Organize the test data for ease of nagivation.
- Readonly data: Big MRs/issues that the test just needs to navigate to and view the UI.
- Separate test data into stage areas (dev,create,plan) or etc
- Add inteligence into the test. Use existing groups and projects if created already
- Name artifacts the test create after the test name or what is being tested. Instead of creating (awesome project) the project should be named after what is being tested with a timestamp.
-
awesome-project-a52842b18041e9b9=>create-project-test-20190201-1122334
-
Edited by Mek Stittri