Wednesday, September 24, 2008

Automated Quality Assurance tools VS. Manual QA

For this entry, I am comparing automated quality assurance tools with manual (human) quality assurance. I ran CheckStyle, PMD, and FindBugs on my CodeRuler code. I was amazed at how much warnings and errors that the automated quality assurance tools found compared to a fellow classmate found. Everyone is human, so there are things that we will see them as correct coding while the computer will see it as bad coding.

First I ran CheckStyle on my CodeRuler code. The automated tool generated 383 warnings/errors. Most of them were tab character, some of them missing Javadoc tag comments, and some were warnings of passing the 100 characters marker. Comparing this to a fellow classmate that checked my code, both CheckStyle and fellow classmate found the same errors (missing @param, @author, Javadoc comments, passed the 100 characters marker, and lines that contains tab character instead of spaces. I think the fellow classmate would give up if he has to find all 383 warnings that CheckStyle did and list the line number.


Next I ran the FindBugs. FindBugs did not find any bugs in the code, so that was a good thing. I mean the code worked and it did pass Eclipse’s quality check. Yeah, did not have to worry about FindBugs since it did not find any bugs in the code. I think the fellow classmate did not find any bugs as well, it executed fine on his computer.
Last I used PMD. PMD gave 34 warnings, 19 of them was first priority and 15 of them was third priority. Most of the warnings were for creating empty method and returning empty variables instead of nulls. The rest were avoid implementing this type of coding and instead use this coding. PMD is great in making the code readable and reducing the lines of code. Well the fellow classmate did find empty methods, and use if/else block statements, but he did say to re-code certain part to make it not as confusing.


Automated quality assurance sure beats out manual quality assurance. But there are some things that human can tell and computer cannot, vice versa. With automated quality assurance tools, it is less time consuming (that equals to saving money and headaches) compare to manual checking.

No comments: