Getting Feedback from Test-Driven Development and Testing in Production

· Source: InfoQ · Field: Technology & Digital — Software Development & Engineering · Depth: Advanced, short

Summary

Ola Hast and Asgaut Mjølne Söderbom presented their approach to continuous delivery at QCon London, emphasizing a strategy that relies heavily on unit and integration tests, eschewing traditional end-to-end tests. Their methodology integrates Test-Driven Development (TDD), pair programming, and robust design principles to facilitate frequent, small deployments. They advocate for "testing in production" to obtain high-quality feedback, mitigating risks through feature toggles. This decade-long practice has led to a system where test environments are largely bypassed, and fast feedback loops from both tests and production drive continuous improvement and design refinement. They highlight TDD primarily as a design tool, with testing benefits being a positive side effect.

Key takeaway

For software engineering teams aiming to accelerate continuous delivery and improve code quality, you should consider shifting your focus from extensive end-to-end testing and dedicated test environments. Instead, embrace a strategy centered on Test-Driven Development, pair programming, and "testing in production" with feature toggles. This approach provides faster, higher-quality feedback, enabling quicker iteration and more resilient systems, ultimately driving better design decisions.

Key insights

Prioritize fast feedback loops and robust design over extensive test environments and end-to-end tests.

Principles

Method

Implement TDD with pair/mob programming, deploy small changes frequently with feature toggles, and use production for primary feedback, minimizing reliance on staging environments.

In practice

Topics

Best for: Software Engineer, MLOps Engineer, DevOps Engineer

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by InfoQ.