SELONov 1, 2020

How Testable is Business Software?

arXiv:2011.00630v11 citations
AI Analysis

This addresses the problem of testing efficiency and effectiveness for businesses relying on critical software, but it is incremental as it builds on existing analysis of testability.

The study analyzed Java software packages to assess unit-testability, finding that code is divided into trivial, testable, and hard-to-test portions, which impacts the use of coverage metrics and design for testability.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes