代码质量可以通过多种方式来改进,UI自动化测试是较为简单的一种方式。项目组现在由于人手比较少,产品质量并不好,所以这两天考虑在OpenExpressApp加入UI自动化测试提高一下产品质量。我所在公司其实已经有一套较为成熟,自主开发的测试框架,但目前只适用Delphi项目,所以我只能自己考虑一下在.Net下如何进行UI自动化测试了。
自动化测试的三代框架
之前我介绍了一下自动化测试的三代框架,最基本的就是线性测试,主要基于录制回放,但是不利于重用和模块化。
如果代码是开发人员的主要资产,那么测试脚本就是测试人员的主要资产,它一样是需要模块化和可维护的,例如下面对于同一类测试案例,基于上面三代框架就会出现三种不同使用方式。
如何使用Code UI
之前想使用TestApi之类的开源测试框架来做自动化测试,但是写了一个简单例子,发现有时定位控件有些问题,正好升级到VS2010,而VS2010为测试人员增加一个很好的工具,那就是CodeUITest,通过录制回放可以较为简单的进行UI测试,上手也非常的简单。虽然录制简单,但是这种方式是自动化测试的第一代框架(由于我没有深入学习CodeUI功能,如果理解有误,请多指正),当测试案例较多时,自动化测试脚本的维护一定会成为问题,所以我希望能够使用Code UI的功能来实现自动化脚本的编写。
通过在VS2010中建立一个CodeUI测试工程,录制后查看了一下生成的代码,发现我可以按照类似的方法去封装一些代码。(具体怎么使用 VS2010 CodeUI的功能网上已经有很多介绍了,大家可以去google一把)。我当时就冒出一个想法:”我能否建立一个C#项目,使用这些测试类库来构建自己的自动化测试框架,而不需要在VS2010去跑?”