自动化测试策略

  由于开发周期短,需求、设计等方面沟通也需要花费很多时间,没有足够时间开发自动化测试脚本,至少对新功能的测试很难实现自动化测试。这时候,需要正确的策略来提高自动化测试的效益,如图3所示,并说明如下。

图3 自动化测试的策略

  构建一个灵活的、开放的自动化测试框架,如基于关键字驱动的自动化框架,使测试脚本的开发简单易行,脚本维护也方便。

  针对稳定的产品特性开发自动化测试脚本,也是针对前期完成的已有功能开发自动化测试的脚本,而大部分新功能测试采用手工测试

  集中精力在单元层次上实现自动化测试,主要由开发人员实施,测试人员提供单元测试框架,并辅助完成一些所需的基础工作。

  在产品设计、编程时很好地考虑了自动化测试的需求,使全面的、自动化的底层测试、接口测试成为可能,尽量避免用户界面(UI)的自动化测试。

  良好的IT基础设施,包括自动化构建软件包、自动化版本验证(BVT)、自动化部署、覆盖率自动产生等。

  敏捷测试工具

  自动化测试依赖于测试工具,所幸的是,目前已有很多敏捷测试工具。由于篇幅所限,这里只是简单地列出一些常用的敏捷测试工具,不再深入讨论了。

  单元测试工具:TestNG、xUnit家族(如JUnit、NUnit)、JMock、BizMock等。

  功能测试自动化:ThoughtWorks Twist。

  Web功能测试(frontend):Selenium IDE/RC、WatiR、WatiN。

  Web service测试工具(backend):soapUI。

  性能测试:JMeter+BadBoy。

  验收测试框架:Fitnesse、Tellurium。

  敏捷测试过程管理工具:微软的Visual Studio 2010,包括TFS 2010、Scrum模板(MS VS Scrum 1.0)、Test Manager 2010、Coded UI Test等。

  业务智能(BI)应用的测试框架:Oraylis BI.Quality (+ NUnit)。

  其他一些协作工具等,如TestLink、BugZilla、BugFree、Wiki等。