RAIDE: a tool for Assertion Roulette and Duplicate Assert identification and refactoring

Test smells are fragments of code that can affect the comprehensibility and the maintainability of the test code. Preventing, detecting, and correcting test smells are tasks that may require a lot of effort, and might not scale to large-sized projects when carried out manually. Currently, there are many tools available to support test smells detection. However, they usually do not provide neither a user-friendly interface nor automated support for refactoring the test code to remove test smells. In this work, we propose RAIDE, an open-source and IDE-integrated tool. RAIDE assists testers with an environment for automated detection of lines of code affected by test smells, as well as a semi-automated refactoring for Java projects using the JUnit framework.

[1]  Annibale Panichella,et al.  On the Diffusion of Test Smells in Automatically Generated Test Code: An Empirical Study , 2016, 2016 IEEE/ACM 9th International Workshop on Search-Based Software Testing (SBST).

[2]  Vahid Garousi,et al.  Smells in software test code: A survey of knowledge in industry and academia , 2018, J. Syst. Softw..

[3]  Heitor Augustus Xavier Costa,et al.  On the influence of Test Smells on Test Coverage , 2019, SBES.

[4]  Mohamed Wiem Mkaouer,et al.  On the distribution of test smells in open source Android applications: an exploratory study , 2019, CASCON.

[5]  Arie van Deursen,et al.  Automated Detection of Test Fixture Strategies and Smells , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[6]  Alexander Chatzigeorgiou,et al.  JDeodorant: Identification and Removal of Feature Envy Bad Smells , 2007, ICSM.

[7]  Alexander Chatzigeorgiou,et al.  Identification of Move Method Refactoring Opportunities , 2009, IEEE Transactions on Software Engineering.

[8]  Bart Van Rompaey,et al.  TestQ: Exploring Structural and Maintenance Characteristics of Unit Test Suites , 2008 .

[9]  Zheng Fang Test Clone Detection via Assertion Fingerprints , 2014 .

[10]  Vahid Garousi,et al.  TeCReVis: A Tool for Test Coverage and Test Redundancy Visualization , 2010, TAIC PART.

[11]  Vahid Garousi,et al.  A Tester-Assisted Methodology for Test Redundancy Detection , 2010, Adv. Softw. Eng..

[12]  Stéphane Ducasse,et al.  Rule-based Assessment of Test Quality , 2007, J. Object Technol..

[13]  Larissa Rocha Soares,et al.  An empirical study of automatically-generated tests from the perspective of test smells , 2020, SBES.

[14]  Chen Huo,et al.  Improving oracle quality by detecting brittle assertions and unused inputs in tests , 2014, FSE 2014.

[15]  Anthony Peruma What the Smell? An Empirical Investigation on the Distribution and Severity of Test Smells in Open Source Android Applications , 2018 .

[16]  Vahid Garousi,et al.  What We Know About Smells in Software Test Code , 2019, IEEE Software.

[17]  Arie van Deursen,et al.  Refactoring test code , 2001 .