Abstract:
Software testing processes are one of the most crucial topics now because the
usage of software’s has grown so much bigger than before and developers are in
desperate need for any ways that can help them test and evaluate their work with
causing less time and lower cost. That is why software test metrics and automatic
test tools plays an important role in this field. As software’s are getting much
bigger and more complex so as testing methods should improve.
In our study, first we emphasis on the importance of metrics used for software
testing and provide samples of each type then we evaluate two well-known tools
which are PMD and SonarQube that are being used often and are open source.
PMD is a static code analysis tool that indicates bugs without executing the code.
It uses a rule-based approach to analyze the source code. SonarQube performs
automatic reviews with static and dynamic analysis of code to detect bugs.
We ran these tools on variety of Java open source codes and then measure the
differences between the results.
In addition, we did a review process on some of the projects and compared the
results with the tools. Our results showed that both tools have some weaknesses
and also advantages. Some of the bugs were not found by the tools and their
xii
results were not the same. The logical issues were found during the review but
tools are much faster and have lower cost.