A Quantitative Function for Estimating the Comparative Values of Software Test Cases

A Quantitative Function for Estimating the Comparative Values of Software Test Cases

Yao Shi, Mark L. Gillenson, Xihui Zhang
Copyright: © 2022 |Pages: 33
DOI: 10.4018/JDM.299559
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Software testing is becoming more critical to ensure that software functions properly. As the time, effort, and funds invested in software testing activities have been increased significantly, these resources still cannot meet the increasing demand of software testing. Managers must allocate testing resources to the test cases effectively in uncovering important defects. This study builds a value function that can quantify the relative value of a test case and thus play a significant role in prioritizing test cases, addressing the resource constraint issues in software testing and serving as a foundation of AI for software testing. The authors conducted a Monte Carlo simulation to exhibit application of the final value function.
Article Preview
Top

Introduction

As software applications permeate everywhere in the world, people are becoming more sensitive to the validity and reliability of software applications (Juristo et al., 2006). Defects in software applications may result in tremendous financial loss and even innocent death (Felderer & Ramler, 2014). According to a report by Tricentis, a leading company providing software testing solutions, about 606 major software failures from 314 companies occurred throughout the world in 2017. These failures caused $1.7 trillion in financial losses, resulted in 268 years of cumulative unplanned downtime, and affected 3.6 billion people (Tricentis, n.d.). Billions of dollars are invested in software development every year around the world, and approximately 50 percent of the total elapsed time and more than 50 percent of the total costs are expended in testing the program or system being developed in a typical software development project (Boehm & Papaccio, 1988; Hailpern & Santhanam, 2002; Harrold, 2000; Myers et al., 2011). Despite the fact that software testing has been considered as an important phase in the software development life cycle to assure software quality, defects still cannot be entirely eradicated due to inadequate testing (Tricentis, n.d.; Whittaker, 2000).

Inadequate software testing usually results in defective applications and negative outcomes. Inspired by Whittaker’s (2000) study, we identified five primary software testing practical issues (untested code, untested combinations of input values, untested paths, untested operating environments, and defective testing procedures) that cause inadequate software testing. These five testing issues are rooted in resource constraints and technical constraints in software testing. On the one hand, a company might not have adequate resources such as budget, time, or personnel to run sufficient tests. On the other hand, a company might have enough resources but not have key technical support such as sophisticated algorithms, powerful testing tools, or expert testing engineers, resulting in defective testing procedures. Considering that most practical software testing issues result from resource constraints, we therefore focus on exploring the comparative value of software test cases in this study. The issue is that in a resource constrained testing environment, it is imperative for companies to choose the most valuable test cases to make their testing efforts as effective and efficient as possible. We believe that determining the most valuable test cases will help alleviate the resource constraints issues and thus dramatically improve the testing process.

Given that exhaustive software testing is impossible (Myers et al., 2011), maximizing the efficiency and effectiveness of software testing with limited resources becomes an important question in the software testing domain (Juristo et al., 2006). Although researchers have attempted to solve the problem of resource constraints in software testing from different perspectives in the last few decades (e.g., Biffl et al., 2006; Boehm, 2006; Felderer & Ramler, 2014; Wohlin & Aurum, 2006), the shortcomings of the prior studies indicate that the existing approaches cannot appropriately address the problem. This is because the software testing methods either lag behind software development methods or just take into account software engineering factors which cannot provide adequate guidance for improving software testing (Juristo et al., 2006; Talby et al., 2006).

Complete Article List

Search this Journal:
Reset
Volume 35: 1 Issue (2024)
Volume 34: 3 Issues (2023)
Volume 33: 5 Issues (2022): 4 Released, 1 Forthcoming
Volume 32: 4 Issues (2021)
Volume 31: 4 Issues (2020)
Volume 30: 4 Issues (2019)
Volume 29: 4 Issues (2018)
Volume 28: 4 Issues (2017)
Volume 27: 4 Issues (2016)
Volume 26: 4 Issues (2015)
Volume 25: 4 Issues (2014)
Volume 24: 4 Issues (2013)
Volume 23: 4 Issues (2012)
Volume 22: 4 Issues (2011)
Volume 21: 4 Issues (2010)
Volume 20: 4 Issues (2009)
Volume 19: 4 Issues (2008)
Volume 18: 4 Issues (2007)
Volume 17: 4 Issues (2006)
Volume 16: 4 Issues (2005)
Volume 15: 4 Issues (2004)
Volume 14: 4 Issues (2003)
Volume 13: 4 Issues (2002)
Volume 12: 4 Issues (2001)
Volume 11: 4 Issues (2000)
Volume 10: 4 Issues (1999)
Volume 9: 4 Issues (1998)
Volume 8: 4 Issues (1997)
Volume 7: 4 Issues (1996)
Volume 6: 4 Issues (1995)
Volume 5: 4 Issues (1994)
Volume 4: 4 Issues (1993)
Volume 3: 4 Issues (1992)
Volume 2: 4 Issues (1991)
Volume 1: 2 Issues (1990)
View Complete Journal Contents Listing