Tim Farley, Cambia Health Solutions
Testing to support the needs of software developers is fundamentally different from testing to support the needs of end users. While both end users (external customers) and software developers (internal customers) rely on testing to demonstrate the readiness of the product, what is meant by “product” and “ready” is completely different. For end users, the product is the final product and it is ready for use when it meets all requirements. For developers, the product is the software they are in the process of creating and it is ready when it supports further development.
Software Quality Assurance (SQA) and testing teams are often focused exclusively on ensuring final products are ready for external customer use. Such teams often lack either the capability or capacity to provide the testing services that internal software development customers require, beginning with a clear understanding of what testing benefits developers most. It is impossible to meet internal customer needs when those needs are unknown.
Development-Driven Testing (DDT) provides a framework for SQA and testing teams to understand and meet the needs of software developers. The approach assesses the interfaces between the SQA and development teams, the information exchanged between them and the timing of their interactions to determine whether they are adequate to support the needs of developers. Test development, documentation, execution and results reporting can then be optimized to improve that support. By ensuring that testing meets the unique needs of developers, SQA and testing teams can improve software development efficiency, shorten software development cycles and improve product quality.
This paper describes how to create a DDT strategy. It describes how to identify the unique needs of a development team and create a testing strategy to meet those needs by analyzing the interfaces, information and interactions between the teams. The paper concludes with a project walkthrough where adapting the testing strategy to meet developer needs led to improved product quality and development efficiency, and saved the company millions of dollars compared to legacy testing strategies.
Tim Farley, 2012 Technical Paper, Abstract, Paper, Slides, Notes