Test smells are known as bad development practices that reflect poor design and implementation choices in software tests. Over the last decade, test smells were heavily studied to measure their prevalence and impacts on test maintainability. However, these studies focused mainly on the unit level and to this day, the work on system tests that interact with the System Under Test through a Graphical User Interface remains limited. To fill the gap, we conduct an exploratory analysis of test smells occurring in System User Interactive Tests (SUIT). First, based on a multi-vocal literature review, we propose a catalog of 35 SUIT-specific smells. Then, we conduct an empirical analysis to assess the prevalence and refactoring of these smells in 48 industrial test suites and 12 open-source projects. We show that the same type of smells tends to appear in industrial and open-source projects, but the symptoms are not addressed in the same way. Smells such as Obscure Test, Sneaky Checking, and Over Checking show symptoms in more than 70% of the tests. Yet refactoring actions are much less frequent with less than 50% of the affected tests ever undergoing refactoring. Interestingly, while refactoring actions are rare, some smells, such as Narcissistic, disappear through the removal of old symptomatic tests and the introduction of new tests not presenting such symptoms.
翻译:测试的味道被称为不良的开发做法,反映了软件测试中的设计和实施选择不善。在过去十年中,对测试的味道进行了大量研究,以衡量其流行程度和对测试维持能力的影响。然而,这些研究主要侧重于单位水平,直到今天,通过图形用户界面与测试系统互动的系统测试工作仍然有限。为了填补这一空白,我们对系统用户互动测试(SUIT)中出现的测试气味进行了探索性分析。首先,根据多版本文献审查,我们提议了一份有35个SUIT特有气味的目录。随后,我们进行了实证性分析,以评估48个工业测试套和12个开放源项目中这些气味的流行程度和重新构思。我们表明,同一种气味在工业和开放源项目中往往出现,但症状却没有以同样的方式得到解决。像Obscure测试、Sneaky检查和超检查一样,在超过70%的测试中出现症状。然而,重新测定行动频率要小于50 % 的受影响的测试,在进行这种变异性测试时,这种新测试是有趣的。