Unveiling Faulty User Sequences: A Model-Based Approach to Test Three-Tier Software Architectures

被引:0
作者
Scommegna, Leonardo [1 ]
Verdecchia, Roberto [1 ]
Vicario, Enrico [1 ]
机构
[1] Univ Florence, Dept Informat Engn, Florence, Italy
关键词
Software architecture; Dependency injection; Stateful components; Software dependability; Model-based testing; Data flow testing; BUGS;
D O I
10.1016/j.jss.2024.112015
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Context: When testing three -tiered architectures, strategies often rely on superficial information, e.g., blackbox input. However, the correct behavior of software -intensive systems based on such architectural pattern also depends on the logic hidden behind the interface. Verifying the response process is thus often complex and requires ad -hoc strategies. Objective: We propose an approach to identify faults hidden behind the presentation layer. The model -based approach uses an architectural abstraction called managed component Data Flow Graph (mcDFG). The mcDFG is aware of the interactions between all layers of the architecture and guides the generation of tests based on different mcDFG coverage criteria to identify faults in the business logic. Method: To evaluate the approach viability, we consider a three -tiered web application and 32 faults. The fault detection capability is assessed by comparing a set of test suites created by following our method and a set of test suites developed by utilizing traditional testing strategies. Results: The collected data show that the proposed model -based approach is a viable option to identify faults hidden in the logic layer, as it can outperform standard strategies based solely on the presentation layer while keeping the number of test cases and number of interactions per test case low.
引用
收藏
页数:16
相关论文
共 50 条
[1]   MAINTAINING KNOWLEDGE ABOUT TEMPORAL INTERVALS [J].
ALLEN, JF .
COMMUNICATIONS OF THE ACM, 1983, 26 (11) :832-843
[2]   MobiGUITAR Automated Model-Based Testing of Mobile Apps [J].
Amalfitano, Domenico ;
Fasolino, Anna Rita ;
Tramontana, Porfirio ;
Ta, Bryan Dzung ;
Memon, Atif M. .
IEEE SOFTWARE, 2015, 32 (05) :53-59
[3]   Is mutation an appropriate tool for testing experiments? [J].
Andrews, JH ;
Briand, LC ;
Labiche, Y .
ICSE 05: 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2005, :402-411
[4]  
[Anonymous], 2008, P 2008 ACM SIGMOD IN, DOI DOI 10.1145/1376616.1376668
[5]  
[Anonymous], 2007, Pattern-oriented software architecture
[6]   RESTful API Automated Test Case Generation with EvoMaster [J].
Arcuri, Andrea .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2019, 28 (01)
[7]  
Barth A., 2011, 6265 RFC IETF
[8]  
Bass Len, 2021, Software Architecture in Practice, V4th
[9]   Diversity-Based Web Test Generation [J].
Biagiola, Matteo ;
Stocco, Andrea ;
Ricca, Filippo ;
Tonella, Paolo .
ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, :142-153
[10]  
Brown K., 2003, Enterprise Java Programming with IBM WebSphere, V2nd