GitLab Quality Center
When we think of tests, we are usually referring to unit testing and functional testing. These tests are fully automated and contribute to ship softwares of better quality.
However there is another dimension within the testing universe that we don't fully (or even not at all) support at GitLab - yet they do exist and are present in every large company or agency: QA testers.
Most of the time, QA Testers do their tests manually, and follow a strict procedure. This procedure needs to be documented and executed in the same order every time. Before any release, the QA team is responsible to run all test cases, and report the result of these tests.
These testers use complex tools to create and report on the tests cases. Those tools are not well integrated with their stack (like HP ALM for instance - or even Excel in most cases), and when they do, it's only through APIs. Manual testing is a real thing, and is nowhere ready to disappear anytime soon. The number of tools available out there shows how much there is a demand for it.
We can help these people (and therefore reach this new market) by providing a simpler, completely integrated tool. I believe we can make their life much easier.
I propose a new feature inside GitLab: the ability to create test cases, that you can play on each merge request. Failing a test case would result in a MR not able to be merged.
- We can define test cases per project
- A test case is a set of tasks (or steps).
- On the MR screen, a button lets us "play" a test case
- The test case appears on a full screen modal, one step at a time.
- When running a test case (manually, as a test case has to be processed by a human), each step can be either accepted or rejected.
- When a step is rejected, users can open a new window to create an issue to record what went wrong.
- We can block a MR to be merged if not all test cases are green.
Changes in the product:
- New concept: test case. A test case has a title, a description.
- Steps of a test case are actual issues.
- Test cases are accessible in a new tab, probably under issues or next to issues.
- MR screen: ability to play test cases
- MR screen: new screen to show each step individually, with two buttons: accepted and rejected.
- MR screen: ability to block merging if tests fail.
Links / references
Popular tools in the domain: