论文标题
业务软件如何可测试?
How Testable is Business Software?
论文作者
论文摘要
大多数企业依靠大量软件来执行其日常操作。该软件至关重要,因为该软件中的缺陷对收入和客户满意度产生了重大影响。验证此软件的主要手段是测试。我们对Java软件包进行了广泛的分析,以评估其单位测试性。结果表明,软件存储库中的代码通常分为非常琐碎的代码的一部分,单位测试的非平凡代码以及无法轻松测试单位测试的代码。这提出了有关使用测试覆盖范围和设计用于测试性的有趣考虑因素,这对于测试效率和有效性至关重要。缺乏单位测试性是应用自动验证和测试生成工具的障碍。这些工具无法弥补代码可检验性差,并且很难成功,或者在不先改善软件系统设计的情况下不适用。
Most businesses rely on a significant stack of software to perform their daily operations. This software is business-critical as defects in this software have major impacts on revenue and customer satisfaction. The primary means for verification of this software is testing. We conducted an extensive analysis of Java software packages to evaluate their unit-testability. The results show that code in software repositories is typically split into portions of very trivial code, non-trivial code that is unit-testable, and code that cannot be unit-tested easily. This brings up interesting considerations regarding the use of test coverage metrics and design for testability, which is crucial for testing efficiency and effectiveness. Lack of unit-testability is an obstacle to applying tools that perform automated verification and test generation. These tools cannot make up for poor testability of the code and have a hard time in succeeding or are not even applicable without first improving the design of the software system.