Skip to main content
Log in

Smells in system user interactive tests

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Test smells are known as bad development practices that reflect poor design and implementation choices in software tests. Over the last decade, there are few attempts to study test smells in the context of system tests that interact with the System Under Test through a Graphical User Interface. To fill the gap, we conduct an exploratory analysis of test smells occurring in System User Interactive Tests (SUIT). We thus, compose a catalog of 35 SUIT-specific smells, identified through a multi-vocal literature review, and show how they differ from smells encountered in unit tests. We also conduct an empirical analysis to assess the diffuseness and removal of these smells in 48 industrial repositories and 12 open-source projects. Our results show that the same type of smells tends to appear in both industrial and open-source projects, but they are not addressed in the same way. We also find that smells originating from a combination of multiple code locations appear more often than those that are localized on a single line. This happens because of the difficulty to observe non-local smells without tool support. Furthermore, we find that smell-removing actions are not frequent with less than 50% of the affected tests ever undergoing a smell removal. Interestingly, while smell-removing actions are rare, some smells disappear while discarding tests, i.e., these smells do not appear in follow-up tests that replace the discarded ones.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

Notes

  1. Available at https://github.com/serval-uni-lu/ikora-evolution

  2. Available at https://github.com/serval-uni-lu/sonar-ikora-plugin

  3. https://appium.io/

  4. https://www.selenium.dev/

  5. Available as https://docs.google.com/spreadsheets/d/e/2PACX-1vQ78jmOjU3qTOlGzwCSkidJOliPKNDQhmuOxSsfTaRqFVjmFP41JUbYQeupqU_lGCK6L4EpQ3FHNGhU/pubhtml a spreadsheet

  6. The complete catalog is available at https://github.com/serval-uni-lu/suit-smell-catalog

  7. http://sikulix.com/

  8. https://github.com/serval-uni-lu/ikora-core

  9. https://github.com/serval-uni-lu/ikora-smells

  10. https://github.com/kabinja/suit-smells-replication-package

References

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Renaud Rwemalika.

Additional information

Communicated by: Jinqiu Yang

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Rwemalika, R., Habchi, S., Papadakis, M. et al. Smells in system user interactive tests. Empir Software Eng 28, 20 (2023). https://doi.org/10.1007/s10664-022-10251-1

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10664-022-10251-1

Keywords

Navigation