基于selenium的web自动化测试框架搭建(1)

     1.目的

本文档对系统项目引入自动化测试框架的可行性进行评估,为测试经理提供决策参考。目的是通过自动化测试工具及其它手段减轻手工回归测试的工作量,提高大家的工作效率。

 

2.范围

 

 

目前主要涉及XX系统XX系统。对现有测试工作流程、已有的测试用例等进行自动化转换。并给出测试结果,以供评估。

本文档中讨论的自动化测试工具主要是功能测试工具。

 

3.涉及语言和工具

 

本文档主要涉及以下一些工具:

Java:主要用于编写用例。

Xml:主要用于存储测试数据。

SeleniumSelenium ThoughtWorks 专门为 Web 应用程序编写的一个验收测试工具。

Junit:主要是与selenium进行配合,进行结果校验。

Ant:主要用于项目自动构建以及和junit配合输出测试报告。

SVN:版本控制工具。

Hudson:持续集成,定时job。

Eclipse:集成IDE

 

4.回报与风险

 

 

 

  •    自动化测试的优点:

          对程序的回归测试更方便,提高测试效率,缩短回归测试时间。  

          测试具有一致性和重复性。每次执行的步骤都是一致的,发现问题可以很容易重现。

          测试人员可以把节省出来的时间用于用例的设计等更有价值的工作。



  •    自动化测试的缺点:

         永远无法取代手工测试。手工测试发现的BUG数量要远多于自动化测试发现的数量。无法取代测试人员的经验和对错误的判断能力.

        初期需要更多的时间来编写用例脚本,后期也需要不断的维护脚本和数据。

        自动化测试只有在版本稳定的情况下才能展开。

 

              5.架构图



    多个测试用例组成测试套件。通过Selenium实现测试用例自动化,并且Selenium驱动浏览器执行用例。执行完成之后,形成测试报告。下面是具体的分解说明。 

 

              6.测试驱动

 

  测试驱动是一个自动化测试框架的核心,其决定整个自动化脚本设计。当前比较流行的测试驱动有数据驱动和关键字驱动。

  测试驱动引擎从数据源获取测试数据,然后将数据以参数的形式传递给测试脚本,最后通过执行测试脚本,验证测试结果,并将测试结果输出。一般数据源与测试结果存储在数据库、xml文件、Excel文件、CSV文件等。

  数据驱动主要优点是:测试脚本与测试数据的分离,当应用功能变更时,只需要修改该功能部分的脚本;执行测试用例的人员不需要了解测试脚本的实现,只关注测试数据表与测试报告表。从而提高脚本的利用率和可维护性。

  本阶段采用数据驱动和xml存储操作数据。

 

   7.测试用例与测试套件

 


    以大功能模块为基础,逐步划分成小的功能,形成一个个测试用例,再组合成一个测试套件。通过测试套件将测试某一个模块或功能点的测试用例集合起来,方便运行与管理。

 

   8.测试结果

 

   测试结果直接反应了自动化测试实施过程情况。单个测试用例结果以html文件的测试报告形势呈现,细分到每一步的执行过程,包括log也显示在结果中。测试失败时自动截图,也可以在需要的地方,手动添加截图代码,以便更直观的查看结果

 

   9.持续集成

 

     Hudson+Ant+SVN+Junit,组成持续集成环境。定时自动构建,断言失败,发送告警邮件。

 

 

框架说明到此为止,下一篇文章将会把具体的搭建步骤细细说来。转载请注明出处,谢谢。

 

猜你喜欢

转载自yong3773.iteye.com/blog/1763096