Minimizing software testing efforts and improving test effectiveness at the design level has paramount importance and garnered substantial research attention during software engineering practice. We present a systematic literature review of ‘design for testability’ in software systems, particularly the approaches, tools, artifacts, granularity, and testing levels, benchmarks, metrics, and affected quality attributes. Most studies focus on testability measurement with correlation analysis at the class level in object-oriented systems, using source code and UML diagrams. Java is the predominant programming language, and over half of the solutions are dedicated to unit testing. The lack of design for testability at various abstraction levels, disagreement on the impact of design metrics on testability, and the lack of examining approaches in non-object-oriented programming paradigms are critical challenges in ‘design for testability’.
Abbasi et al. (Fri,) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: