Embracing a New Approach to Quality Assurance

Alya Othman

QA Engineer
Manual Testing

Quality assurance (QA) has undergone significant transformations in the past decade, with changing project delivery requirements. Today, companies demand faster time-to-market alongside high-quality software. Traditional QA processes, involving engineers writing code, testing in separate environments, and limited ownership over quality, often lead to delays, incomplete testing, and production bugs. In this LinkedIn blog post, we'll explore a different approach to QA, highlighting Contra's innovative practices that emphasize testing directly on production.

The Power of Testing on Production

At Contra, we challenge the conventional QA workflow and embrace testing on the production environment. This may sound daring, but it is made possible by leveraging key elements: feature flags, smaller pull requests (PRs), shared ownership of quality, and robust automation.

Feature Flags: A Game-Changing Tool

Feature flags play a pivotal role in our approach. By utilizing feature flags effectively, we enable one-week cycles for merging and testing directly on production. Feature flags aren't just for A/B testing; they allow us to have features ready on production, safely rolled out to users at the appropriate time.

Smaller PRs for Greater Agility

Gone are the days of large feature branches and numerous small PRs that build up a feature. Instead, we break down features into smaller tasks and deploy them behind feature flags. This enables faster delivery, easier code review, and the ability to incrementally introduce and test functionality.

Shared Ownership of Quality

At Contra, everyone on the team takes responsibility for quality. Our approach emphasizes that QA is not solely the responsibility of the QA team. Engineers test their code, write automation tests for their features, and ensure their work aligns with design expectations. The entire team acts as users during testing, collectively ensuring a robust and high-quality product. The QA team supports this process, providing guidance and ensuring quality standards are upheld.

Robust Automation for Reliable Testing

Automation is a critical component of our QA strategy. However, having an automation suite with thousands of slow, flaky, and hard-to-maintain test cases is counterproductive. Instead, we prioritize stability, speed, and reliability in our automation suite. A well-maintained suite, accessible to the engineering team, contributes to faster feedback cycles, efficient testing, and better overall software quality.

The traditional approach to QA no longer aligns with the demands of fast-paced software development. By challenging the status quo, Contra has implemented a forward-thinking approach that involves testing directly on production. Leveraging feature flags, smaller PRs, shared ownership of quality, and robust automation, we have achieved faster delivery, higher accountability, and improved software quality.

Embracing this new approach to QA empowers teams to deliver high-quality software faster while fostering a culture of shared responsibility and accountability. As software development continues to evolve, it's essential for companies to adapt their QA processes to meet the demands of the modern era. By embracing innovation and exploring new possibilities, we can drive impactful change in the realm of quality assurance.


Partner With Alya
View Services

More Projects by Alya