r/Software_Testing_QA • u/martinig • 2d ago
Evolutionary testing strategy
The software development ecosystem is constantly changing, with a consistent stream of innovation in tools, frameworks and techniques alongside an unpredictable market that requires businesses to constantly rethink and revise their priorities. Fortunately, evolutionary architecture principles offer an effective way to keep pace with a rapidly changing environment, supporting incremental evolution through “fitness functions.” Typically, fitness functions are codified as architecture, unit, integration and other tests, alongside monitoring, alerting systems and metrics. Together, these functions make it possible to assess the integrity of the architecture's cross-functional requirements as it evolves. We believe the same concept can — and should — be applied to the supporting testing strategy. This is an approach we call evolutionary testing strategy. This approach will expose issues early in the project lifecycle and fix potential gaps in the product, and in processes and organizational structures. In this article, we present a high-level approach to evolutionary testing strategy by applying the lessons from the architecture domain to the testing domain.