[论文解读] What we know about software testability: a survey.
本文对208项关于软件可测性的研究进行了系统文献映射,识别出影响可测性的关键指标、技术与因素,尤其是可观测性与可控性。该研究综合了当前测量与提升可测性的实践方法,为从业者和研究人员提供了切实可行的见解,以提升软件项目中测试的效率与效果。
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 -practice in this area is often challenging for a practitioner or a new researcher. Our objective is to summarize the state-of-the-art and -practice in this area and to benefit the readers (both practitioners and researchers) in preparing, measuring and improving software testability. To address the above need, we conducted a survey in the form of a systematic literature mapping (classification) in this area. After compiling an initial pool of 303 papers, a systematic voting was conducted among the authors, and our final pool included 208 papers. 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. 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 mentioned 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 which need further investigations.
研究动机与目标
- 为研究人员和从业者提供当前软件可测性领域技术现状与实践现状的全面概述。
- 识别在软件系统中可测性测量与改进方面最常被讨论的方法。
- 基于实证文献,突出影响可测性的核心因素,如可观测性与可控性。
- 通过基于证据的技术,支持从业者在实际软件项目中测量与提升可测性。
- 为研究人员提供指引,以识别未来研究中可测性研究的空白与新兴趋势。
提出的方法
- 开展系统文献映射(SLM),对软件可测性研究进行分类与分析。
- 从相关学术数据库与来源中收集初始的303篇论文。
- 通过作者间的系统性投票流程,筛选并选出208篇高质量且相关的论文。
- 根据主题对论文进行分类,如可测性测量、改进技术与影响因素。
- 综合分析常用指标、转换技术与关键可测性因素的发现。
- 通过工业合作伙伴验证本综述的实用性,以确保其实际相关性。
实验结果
研究问题
- RQ1文献中关于测量软件可测性的最常研究的方法是什么?
- RQ2哪些因素对软件可测性影响最大,现有研究如何应对这些因素?
- RQ3在实践中,最常使用的提升软件可测性的技术有哪些?
- RQ4当前可测性研究趋势与工业需求和实践是否一致?
- RQ5软件可测性研究中存在哪些空白与未来研究机会?
主要发现
- 影响可测性的两个最常被提及的因素是可观测性与可控性。
- 可测性转换、提升可观测性、添加断言以及增强可控性是最常见的改进策略。
- 可测性测量与可测性改进是文献中讨论最频繁的两个主题。
- 工业合作伙伴认为本综述具有实用价值,表明其具有较强的实践相关性。
- 研究结果为从业者应用可测性技术以及研究人员识别尚未充分探索的研究方向提供了整合性基础。
- 系统映射过程成功识别并分类了208篇相关论文,确保了对本领域全面且可靠的概述。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。