Skip to main content
QUICK REVIEW

[论文解读] Improving the Testability of Object-oriented Software during Testing and Debugging Processes

Sujata Khatri, Rajender Singh Chhillar|arXiv (Cornell University)|Aug 15, 2013
Software Reliability and Analysis Research参考文献 19被引用 6
一句话总结

本文提出了一种可靠性增长模型,通过分析测试过程中的故障复杂性和故障分布,以提升面向对象软件的可测试性。作者利用开源项目(Python版MySQL和Squirrel SQL Client)的故障数据,证明基于故障复杂性的测试资源分配可提高故障检测效率和整体可测试性。

ABSTRACT

Testability is the probability whether tests will detect a fault, given that a fault in the program exists. How efficiently the faults will be uncovered depends upon the testability of the software. Various researchers have proposed qualitative and quantitative techniques to improve and measure the testability of software. In literature, a plethora of reliability growth models have been used to assess and measure the quantitative quality assessment of software during testing and operational phase. The knowledge about failure distribution and their complexity can improve the testability of software. Testing effort allocation can be made easy by knowing the failure distribution and complexity of faults, and this will ease the process of revealing faults from the software. As a result, the testability of the software will be improved. The parameters of the model along with the proportion of faults of different complexity to be removed from the software have been presented in the paper .We have used failure data of two object oriented software developed under open source environment namely MySQL for python and Squirrel SQL Client for estimation purpose

研究动机与目标

  • 解决由于故障复杂性分布不均导致的面向对象软件故障检测效率低下的问题。
  • 通过在测试和调试过程中利用故障分布和故障复杂性度量,提升可测试性。
  • 优化测试资源分配,以提高软件系统的故障检测率。
  • 开发一个定量模型,利用真实世界开源项目中的实证故障数据来评估和提升可测试性。
  • 提供一种基于故障复杂性的测试优先级框架,以提高软件可靠性。

提出的方法

  • 分析两个开源面向对象系统(Python版MySQL和Squirrel SQL Client)的故障数据。
  • 根据故障的复杂性对其进行分类,以确定其在测试过程中的可检测性。
  • 开发一个结合故障复杂性和故障分布参数的可靠性增长模型。
  • 利用该模型估算尚未被发现的不同复杂度等级故障的比例。
  • 应用该模型,根据故障复杂性指导测试资源分配,以最大化故障检测率。
  • 使用两个开源项目的实证数据验证模型的有效性。

实验结果

研究问题

  • RQ1故障复杂性如何影响面向对象软件的可测试性?
  • RQ2能否利用故障分布数据改进测试资源分配和故障检测效率?
  • RQ3基于故障复杂性的测试优先级对整体可测试性有何影响?
  • RQ4在引入故障复杂性的前提下,可靠性增长模型在预测故障检测率方面的准确性如何?
  • RQ5与传统测试策略相比,所提出的模型在多大程度上提升了可测试性?

主要发现

  • 复杂度较高的故障在测试初期更难被发现,从而降低了整体可测试性。
  • 所提出的模型能够有效估算尚未被检测到的不同复杂度等级故障的比例。
  • 基于故障复杂性的测试资源分配显著提高了故障检测率。
  • MySQL for Python和Squirrel SQL Client的实证数据验证了模型的预测准确性。
  • 该模型通过聚焦于更难检测的高复杂度故障,实现了更高效的测试。
  • 通过使测试资源与故障特征和故障模式更好地匹配,实现了可测试性的提升。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。