A survey on software testability

被引:27
|
作者
Garousi, Vahid [1 ]
Felderer, Michael [2 ,3 ]
Kilicaslan, Feyza Nur [4 ]
机构
[1] Wageningen Univ, Informat Technol Grp, Wageningen, Netherlands
[2] Blekinge Inst Technol, Dept Software Engn, Karlskrona, Sweden
[3] Univ Innsbruck, Dept Comp Sci, Innsbruck, Austria
[4] Hacettepe Univ, Dept Comp Engn, Ankara, Turkey
关键词
Software testing; Software testability; Survey; Systematic literature mapping; Systematic literature review; Systematic mapping; TECHNICAL DEBT; CHALLENGES; VOICE;
D O I
10.1016/j.infsof.2018.12.003
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Context: Software testability is the degree to which a software system or a unit under test supports its own testing. To predict and improve software testability, a large number of techniques and metrics have been proposed by both practitioners and researchers in the last several decades. Reviewing and getting an overview of the entire state-of-the-art and state-of-the-practice in this area is often challenging for a practitioner or a new researcher. Objective: Our objective is to summarize the body of knowledge in this area and to benefit the readers (both practitioners and researchers) in preparing, measuring and improving software testability. Method: To address the above need, the authors conducted a survey in the form of a systematic literature mapping (classification) to find out what we as a community know about this topic. After compiling an initial pool of 303 papers, and applying a set of inclusion/exclusion criteria, our final pool included 208 papers (published between 1982 and 2017). Results: The area of software testability has been comprehensively studied by researchers and practitioners. Approaches for measurement of testability and improvement of testability are the most-frequently addressed in the papers. The two most often mentioned factors affecting testability are observability and controllability. Common ways to improve testability are testability transformation, improving observability, adding assertions, and improving controllability. Conclusion: This paper serves for both researchers and practitioners as an "index" to the vast body of knowledge in the area of testability. The results could help practitioners measure and improve software testability in their projects. To assess potential benefits of this review paper, we shared its draft version with two of our industrial collaborators. They stated that they found the review useful and beneficial in their testing activities. Our results can also benefit researchers in observing the trends in this area and identify the topics that require further investigation.
引用
收藏
页码:35 / 64
页数:30
相关论文
共 50 条
  • [1] TESTABILITY OF SOFTWARE COMPONENTS
    FREEDMAN, RS
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1991, 17 (06) : 553 - 564
  • [2] DESIGN FOR TESTABILITY - A SURVEY
    WILLIAMS, TW
    PARKER, KP
    [J]. PROCEEDINGS OF THE IEEE, 1983, 71 (01) : 98 - 112
  • [3] An approach to software testability measurement
    Lin, JC
    Lin, SW
    Huang, L
    [J]. ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE AND INTERNATIONAL COMPUTER SCIENCE CONFERENCE, PROCEEDINGS, 1997, : 515 - 516
  • [4] SOFTWARE TESTABILITY - THE NEW VERIFICATION
    VOAS, JM
    MILLER, KW
    [J]. IEEE SOFTWARE, 1995, 12 (03) : 17 - 28
  • [5] Learning to Predict Software Testability
    Nasrabadi, Morteza Zakeri
    Parsa, Saeed
    [J]. 2021 26TH INTERNATIONAL COMPUTER CONFERENCE, COMPUTER SOCIETY OF IRAN (CSICC), 2021,
  • [6] Testability analysis of reactive software
    Nguyen, TB
    Robach, C
    Delaunay, M
    [J]. IWOTA 2004: 1ST INTERNATIONAL WORKSHOP ON TESTABILITY ASSESSMENT, PROCEEDINGS, 2004, : 15 - 25
  • [7] DESIGN FOR TESTABILITY - A SURVEY
    WILLIAMS, TW
    PARKER, KP
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 1982, 31 (01) : 2 - 15
  • [8] A New Approach for Software Testability
    du Bousquet, Lydie
    [J]. TESTING - PRACTICE AND RESEARCH TECHNIQUES, 2010, 6303 : 207 - 210
  • [9] SEMANTIC METRICS FOR SOFTWARE TESTABILITY
    VOAS, JM
    MILLER, KW
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1993, 20 (03) : 207 - 216
  • [10] A process for improving software testability
    Lamoreaux, T
    Ofori-Kyei, M
    Pinone, M
    [J]. 20TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2004, : 502 - 502