Feature Testing Working Group
Attributes
Property | Value |
---|---|
Date Created | 2024-11-01 |
Target End Date | 2025-02-01 |
Slack | |
Google Doc | |
Epic | |
Overview & Status | See Exit Criteria |
Context
The current approach to feature testing, using RSpec and Capybara, has a number of drawbacks:
- Due to lack of coverage or quantity of quarantined specs, the feature suite overall provides limited confidence in code changes and fails to catch regressions.
- Low level of stability leads to high frequency of broken master.
- Limited debugging tools make it difficult to create stable tests and debug flaky ones.
- Maintenance of tests written in Ruby is frequently the responsibility of Frontend engineers, who may or may not have skill in this language.
Goals
This Working Group has the following goals:
- Establish the credibility of an alternative JavaScript-based testing system, Playwright, as an alternative to Capybara (or potentially RSpec+Capybara).
- Create a proof of concept using Playwright with a part of the GitLab platform.
- Create an architecture blueprint with a strategy on how to migrate to Playwright.
Exit Criteria
Criteria | Start Date | Completion Date | Progress | DRI |
---|---|---|---|---|
Data Management | ||||
Authentication | ||||
CI/CD | ||||
Environment Setup | ||||
Migration Plan |
Details
Data Management
RSpec includes numerous tools to create objects in Rails with database access. We need to determine a solution for this in Playwright. This will include ways to set up/tear down test data, database seeding, and managing of fixtures and factories.
Authentication
We’ll need to determine how to simulate user authentication.
CI/CD
Need to set up CI pipelines running Node.js. Look into how to parallelize the running of tests, with a goal of quicker pipelines than the current RSpec solution.
Environment Setup
Ensure system can be installed with the GDK, and the test suite can be run with minimal setup.
Migration Plan
Strategy to take to gradually migrate to Playwright.
Roles and Responsibilities
Working Group Role | Person | Title |
---|---|---|
Executive Sponsor | Tim Zallmann | VP of Engineering, Core Development |
Facilitator | Donald Cook | Engineering Manager, Plan:Project Management |
Functional Lead | Natalia Tepluhina | Principal Engineer, Plan |
Functional Lead | Ksenia Kolpakova | Engineering Manager, Test Engineering |
Functional Lead | Javiera Tapia | Backend Engineer, Create:Source Code |
Member | Désirée Chevalier | Senior Software Engineer in Test, Plan |
Member | Doug Stull | Staff FullStack Engineer in Growth |
e68f123f
)