A Systematic Literature Review on Design for Testability Approaches in Software Systems

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’.

Authors

Institutions

Publication Details

Journal
ACM Computing Surveys
Published
2026-05-08
DOI
https://doi.org/10.1145/3787493
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

A Systematic Literature Review on Design for Testability Approaches in Software Systems

Morteza Zakeri, Saeed Parsa, Narges Abbasi
ACM Computing Surveys
Software Testing and Debugging Techniques
article

A Systematic Literature Review on Design for Testability Approaches in Software Systems

Morteza Zakeri, Saeed Parsa, Narges Abbasi
article en

Abstract

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’.

ACM Computing Surveys
Amirkabir University of Technology (IR), Institute for Research in Fundamental Sciences (IR), Iran University of Science and Technology (IR)
Openalex Percentile: Top 3%
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

A Systematic Literature Review on Design for Testability Approaches in Software Systems — Morteza Zakeri, Saeed Parsa, et al. · ACM Computing Surveys (2026) | TGRS Research Map | TGRS