Towards an Extensible Architecture for Refactoring Test Code

被引:2
作者
Marinke, Rogerio [1 ]
Guerra, Eduardo Martins [1 ]
Silveira, Fabio Fagundes [2 ]
Azevedo, Rafael Monico [1 ]
Nascimento, Wagner [1 ]
de Almeida, Rodrigo Simoes [1 ]
Demboscki, Bruno Rodrigues [1 ]
da Silva, Tiago Silva [2 ]
机构
[1] Natl Inst Space Res, Sao Jose Dos Campos, Brazil
[2] Fed Univ Sao Paulo UNIFESP, Sao Jose Dos Campos, Brazil
来源
COMPUTATIONAL SCIENCE AND ITS APPLICATIONS, ICCSA 2019, PT IV | 2019年 / 11622卷
基金
巴西圣保罗研究基金会;
关键词
Neutrino; Refactoring; Test driven development;
D O I
10.1007/978-3-030-24305-0_34
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
As the software evolves, new codes are written, and many other codes are refactored. Refactoring also involves the test code, to ensure that it continues performed, and adequately verifying the behavior of the software. This work proposes the creation of an extensible architecture named EARTC to perform refactoring safely in test code. The coding of a specific refactoring for the test code is hampered by coupling to the unit testing automation framework so that it becomes desirable to eliminate this coupling from the refactoring code. The architecture proposed in this work implements extension points, which allows refactoring to be performed regardless of the test framework to be used, that is, other refactorings can be added to the architecture without the need to change the test code. Additionally, the architecture enables other testing frameworks to be coupled without interfering with their internal structure. To validate the independence among architecture modules, a Design Structure Matrix was done, which shows that the objectives were achieved. Also, to analyze the results of the proposed architecture in an experiment, a tool called Neutrino was implemented. The results obtained with Neutrino are satisfactory and show that the architecture meets the objectives described for the accomplishment of this work.
引用
收藏
页码:456 / 471
页数:16
相关论文
共 24 条
[1]  
Arthorne J., 2004, ECLIPSE SERIES
[2]  
Bavota G., 2012, 2012 12th IEEE Working Conference on Source Code Analysis and Manipulation (SCAM 2012), P104, DOI 10.1109/SCAM.2012.20
[3]  
Bavota G, 2012, 2012 28TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (ICSM), P56, DOI 10.1109/ICSM.2012.6405253
[4]  
Beck K., 2003, TEST DRIVEN DEV EXAM
[5]  
Bladel B., 2018, INT WORKSHOP REFACTO, P22, DOI DOI 10.1145/3242163.3242168
[6]  
Fowler M., 1999, REFACTORING IMPROVIN
[7]  
Gamma Erich., 1994, ELEMENTS REUSABLE OB
[8]   Test and Production Classes of an Industrial C# System: A Refactoring and Fault Perspective [J].
Gatrell, M. ;
Counsell, S. ;
Swift, S. ;
Hierons, R. M. ;
Liu, X. .
PROCEEDINGS 41ST EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS SEAA 2015, 2015, :35-38
[9]   A Programming Language Independent Framework for Metrics-based Software Evolution and Analysis [J].
Gerlec, Crt ;
Rakic, Gordana ;
Budimac, Zoran ;
Hericko, Marjan .
COMPUTER SCIENCE AND INFORMATION SYSTEMS, 2012, 9 (03) :1155-1186
[10]  
Guerra E.M., 2005, THESIS I TECNOLOGICO