根据客户的要求,最近项目要用Agitar来生成单元测试用例。
Agitar是基于CS的架构。客户端是基于Eclipse的插件,Dev编写好要测试的代码,并编译后将代码发送到服务端。服务端分析Class文件,生成Unit test case文件发送给客户端,也就是Dev。Dev就可以通过Junit做单元测试了,听起来是不是很神奇,确实如此,我试了试,对于简单的代码而言,测试代码的覆盖率基本都能达到100%。它的另一个重要功能是Agitaration,它会分析你的代码,在服务器端测试代码的质量。比如它会对于边界值等进行测试。
而对于Dev之上的TL或者PM,通过服务端每天产生的DashBoard可以查看整个项目代码质量,比如有多少TestCase没有通过。它会分析每一个类及方法的复杂度,便于管理确保项目质量。
整体而言,这个软件还是很不错的,它是根据分析你的Class文件,生成“Characters test case ”,而不是根据业务逻辑的TestCase。
对于我们Dev而言,通过它的Agitaration功能,可以看到我们代码的具体行为,查看那些不是我们真正希望的行为,也就是Bug。同时由于不用编写那些character test case,可以大大减少我们编写乏味的TestCase的时间,是我们的重点放在真正的业务逻辑。
但是通过这几天的实践,由于我们要重构的方法比较大,行数基本都在2K以上,代码生成的效果还是很差。还是需要我们具体的编码啊!!!!
另外这个软件是商业软件,它的Trial Version也只是让你下载客户端,然后你要把你的代码发送到服务端,但公司在USA,我反正在家里连插件都没有下载下来,太慢了。如果代码发过去,然后再把他们生成的代码发过来,不知道到猴年马月了!!