Automated black-box boundary value detection

被引:1
作者
Dobslaw, Felix [1 ]
Feldt, Robert [2 ]
Neto, Francisco Gomes de Oliveira [3 ]
机构
[1] Mid Sweden Univ, Dept Commun Qual Management & Informat Syst, Ostersund, Jamtland, Sweden
[2] Chalmers Univ Technol, Dept Comp Sci & Engn, Gothenburg, Vastra Gotaland, Sweden
[3] Univ Gothenburg, Dept Comp Sci & Engn, Gothenburg, Vastra Gotaland, Sweden
基金
瑞典研究理事会;
关键词
Software testing; Boundary value detection; Boundary value analysis; Boundary value exploration; Program derivative; PARTITION; VALIDATION;
D O I
10.7717/peerj-cs.1625
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Software systems typically have an input domain that can be subdivided into sub-domains, each of which generates similar or related outputs. Testing it on the boundaries between these sub-domains is critical to ensure high-quality software. Therefore, boundary value analysis and testing have been a fundamental part of the software testing toolbox for a long time and are typically taught early to software engineering students. Despite its many argued benefits, boundary value analysis for a given software specification or application is typically described in abstract terms. This allows for variation in how testers apply it and in the benefits they see. Additionally, its adoption has been limited since it requires a specification or model to be analysed. We propose an automated black-box boundary value detection method to support software testers in performing systematic boundary value analysis. This dynamic method can be utilized even without a specification or model. The proposed method is based on a metric referred to as the program derivative, which quantifies the level of boundariness of test inputs. By combining this metric with search algorithms, we can identify and rank pairs of inputs as good boundary candidates, i.e., inputs that are in close proximity to each other but with outputs that are far apart. We have implemented the AutoBVA approach and evaluated it on a curated dataset of example programs. Furthermore, we have applied the approach broadly to a sample of 613 functions from the base library of the Julia programming language. The approach could identify boundary candidates that highlight diverse boundary behaviours in over 70% of investigated systems under test. The results demonstrate that even a simple variant of the program derivative, combined with broad sampling and search over the input space, can identify interesting boundary candidates for a significant portion of the functions under investigation. In conclusion, we also discuss the future extension of the approach to encompass more complex systems under test cases and datatypes.
引用
收藏
页数:48
相关论文
共 42 条
[11]  
Feldt R, 1998, EUROMICRO CONF PROC, P387, DOI 10.1109/EURMIC.1998.711831
[12]   Towards Automated Boundary Value Testing with Program Derivatives and Search [J].
Feldt, Robert ;
Dobslaw, Felix .
SEARCH-BASED SOFTWARE ENGINEERING, SSBSE 2019, 2019, 11664 :155-163
[13]   Test Set Diameter: Quantifying the Diversity of Sets of Test Cases [J].
Feldt, Robert ;
Poulding, Simon ;
Clark, David ;
Yoo, Shin .
2016 9TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2016, :223-233
[14]  
Feldt R, 2013, PROC INT SYMP SOFTW, P350, DOI 10.1109/ISSRE.2013.6698888
[15]  
Goodenough J. B., 1975, IEEE Transactions on Software Engineering, VSE-1, P156, DOI 10.1109/TSE.1975.6312836
[16]   Combination testing strategies: a survey [J].
Grindal, M ;
Offutt, J ;
Andler, SF .
SOFTWARE TESTING VERIFICATION & RELIABILITY, 2005, 15 (03) :167-199
[17]  
Grochtmann M., 1993, Software Testing, Verification and Reliability, V3, P63, DOI 10.1002/stvr.4370030203
[18]   PARTITION TESTING DOES NOT INSPIRE CONFIDENCE [J].
HAMLET, D ;
TAYLOR, R .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1990, 16 (12) :1402-1411
[19]   Search-based software engineering [J].
Harman, M ;
Jones, BF .
INFORMATION AND SOFTWARE TECHNOLOGY, 2001, 43 (14) :833-839
[20]  
Hartigan J. A., 1979, Applied Statistics, V28, P100, DOI 10.2307/2346830