Don’t Blame the Testers or Developers for Software Defects! Focus on Your “Requirements” Instead.

by September 25, 2017

More Often Than Not, Software Defects Stem From Incomplete and Ambiguous Requirements

Countless research and case studies have long pointed to a cold, hard truth. And that is, the requirements, not developers or testers, introduce the vast majority of software defects that wreak havoc in production.

The Speed of  Agile Introduces a New Set of Requirements Engineering and Design Challenges

Rather than solve this issue, the development practices which have risen around “Agile” have introduced a new challenge, as testers must piece together and react to a constant barrage of disparate user stories and change requests. These stores still written in natural language, far removed from the logic of the system which needs to be tested.

What’s more, the requirements remain static, stored as written text or flat diagrams. They do not deliver value further “right”, as testers must manually convert them into tests. This is a slow, unsystematic process, which creates software defects when the ambiguous or incomplete requirements are misinterpreted.

The lack of traceability to requirements further means that testers must manually identify and reflect the impact of a change made to the system, an approach which cannot keep up with changing user needs or the speed demanded by Continuous Testing and Delivery.

Applying Model-Based Testing Approaches to Drive Testing Efficiency

For testing and development to keep up with constantly changing user needs, these needs must be captured in a format which minimizes miscommunication, can react to change, and enables subsequent test assets to be derived automatically – thereby minimizing the occurrence of software defects.

There is a better way. Model-based Testing practices promote the use of “active” flowchart modeling provides a format already familiar to the business analysts who often capture user needs, but which can also be used to generate optimized test cases, test scripts, data and expected results automatically. Watch this video to see model-based testing in action.

When the user needs change, these test assets can be updated, as testing becomes a largely automated comparison of how a system should function to the system which has been delivered. A “Shift left, Shift right” approach will further be discussed, whereby the insights from test run results and live user behavior can be harvested using data analysis, and reflected in the requirements.

Modeling requirements becomes easier with the right tools. Start your Free Trial of CA Agile Requirements Designer today – and realize the many benefits of Model-based  Testing.