TestSmells / TestSmellDetector

A tool to detect test smells in Java projects that utilize JUnit as the testing framework
https://testsmells.github.io/
GNU General Public License v3.0
73 stars 39 forks source link

Detected smells are wrong #14

Open eblio opened 2 years ago

eblio commented 2 years ago

In the latest version of this tool, whether it is release v2.1 or on the latest commit on main, the reported smells tend to be innexact.

When using the tool, we noted inconsistencies in the reported smells. The results would usually look like this:

File Smell 1 Smell 2 Smell 3
test1.java false true false
test2.java true true false
test3.java true true false
test4.java true true false

This is a sample table, displaying why we thought there was an issue, not representing real data.

When a smell gets detected in a file, it systematically gets detected in the next file, which is particularly shocking when a project has more than 20 test files. For over 500 of projects, the mean number of detected smells was around 8, which is a lot compared to what has been observed in other studies.

To obtain such result we input a .csv file mapping each test file to its production file (when possible), which means several files will be processed in a row.

I plan to do a pull request fixing this issue. More information on the technical details will be available there.