# Evolution of quality at Grab

[Grab](https://yomu.fyi/company/grab) · Abby Alcantara · Mar 31, 2023

**Type:** Problem & solution

## Summary

As Grab expanded its superapp, manual QA sign-offs led to prolonged testing cycles and a peak in major production defects around 2019. To counter defect leakage and improve delivery pace, the engineering organization transitioned to a shift-left testing strategy across its software development lifecycle. Quality engineers began writing Given/When/Then acceptance tests prior to coding so that software engineers could execute them during development, accompanied by Definition of Ready and Definition of Done standards. The team also structured a multi-layer test strategy spanning unit tests, pipeline-executed UI component tests with mocked APIs, backend integration tests, and a custom internal end-to-end framework. Between 2019 and 2022, these changes reduced major and critical production issues by 60% and development-phase critical bugs by 40%.

## Context

Grab's traditional SDLC relied on manual QA sign-offs before releases, resulting in lengthy regression cycles, high feature bug counts, and a peak in critical production issues in 2019.

## Approach / What changed

Grab adopted shift-left testing by having engineers execute pre-written acceptance tests during development, instituting Definitions of Ready and Done, and establishing a testing strategy covering unit tests, UI component tests with mocked APIs, backend integration tests, and an in-house end-to-end framework.

## Takeaways

- Standardizing acceptance criteria in a Given/When/Then format allowed QA engineers to draft test cases before development began for software engineers to execute directly during coding.
- The updated Definition of Done for new features mandated at least 70% test coverage for UI component tests run with mocked API responses in CI pipelines.
- Between 2019 and 2022, shifting testing left decreased major and critical production bugs by 60% and development-phase critical bugs by 40%.

**Tags:** [CI/CD](https://yomu.fyi/topic/ci-cd), [Developer Experience](https://yomu.fyi/topic/developer-experience), [Reliability](https://yomu.fyi/topic/reliability), [Testing](https://yomu.fyi/topic/testing)

[Read original post](https://engineering.grab.com/evolution-of-quality)
