日历

« 2008-10-08  
   1234
567891011
12131415161718
19202122232425
262728293031 

统计信息

  • 访问量: 437
  • 日志数: 1
  • 建立时间: 2007-12-03
  • 更新时间: 2007-12-03

RSS订阅

我的最新日志

  • 软件测试自动化流程与框架设计

    2007-12-03

    一. 为何需要软件自动化测试框架
      软件测试框架是软件测试自动化规模发展到一定阶段的必然需求,因为自
    动化测试将会面临如下问题:
    1. 如何定义脚本的规范,使之具有良好的可复用性和可维护性。
    2. 众多脚本的管理问题,如何管理不同版本的测试脚本以及测试脚本之间
    的关联关系。
    3. 众多脚本的执行问题,如何无人值守地执行测试脚本,以节约测试时间
    4. 如何获得最大的自动化测试收益,怎样调整测试策略来达到最高的automation效益。
    目前在微软,IBM等自动化测试比较成熟的公司,都已经实现并应用了软件自动化测试框架。可以说,框架是自动化测试的趋势。

    二.软件自动化测试框架架构思想

    其实MS也好,IBM也好,自动化测试框架虽然形式各有不同,但思想却大同小异。总体来说,成熟的自动化测试框架必须提供以下几个功能:
    1. controller-agent的拓扑结构。此点最妙之处是扩展性极强,在空间上能够兼容各种类型测试程序及脚本,在时间上能够并发执行测试任务。
    2. 内嵌灵活的自动化测试案例的管理策略。此处可根据企业实际具体应用定义相应的测试组件
    3. 强大的测试报告和日志展现。一份好的自动化测试报告能满足不同人的口味和需要,比如给老板以清晰直观的测试图表分析;给开发人员以强大的日志debug分析;给测试人员以bug自动关联作用。

    下面以automation center为例,分析一下自动化测试框架的设计


    展现层:
    给终端用户提供基于Web页面的四大功能模块
    ·  测试任务
     发起安装/测试任务,并对任务状态进行实时监控
    ·  测试结果
     展现测试结果,生成测试报告,邮件通知,提交bug全程自动化
    ·  日志分析
     SMB协议访问日志服务器,轻松获得automation执行时的日志和抓图
    ·  AC管理
       脚本管理策略
       测试组件策略
       测试实例生成
       Agent 资源管理,添加/删除
       Server资源管理,添加/删除
       AC核心设置
    控制层:
    controller是AC核心,负责如下工作
    ·  接收并处理用户发送的任务请求
    ·  管理和控制安装/测试Agent
    ·  分析和整理测试结果
    ·  内嵌测试报表/邮件逻辑
    ·  连接数据库,日志服务器和脚本服务器
    Agent层:
    Agent 安装在任务机上,负责:
    ·  执行安装任务
    ·  执行测试任务
    ·  生成log/抓图数据,供后续分析

    框架应用策略
    1. 自动化测试框架是代码,流程,策略的集合(这句话已经耳熟能详了,但能深刻理解并能成功地用到工作实践中却不容易)
    2. 当你有超过10个自动化测试案例时,就应该开始考虑自动化测试框架的实施了(规范,管理,执行策略等等)
    3. 实现框架的语言以编译语言为优先选择(我看过用vbscrīpt编写的上万行的框架代码,惨不忍睹,维护和扩展那是相当滴困难)
    4. 在设计时,框架和案例要分工清楚明确(框架,纲举目张也,不宜管得太多太细,否则案例丧失了灵活性,框架推广起来就步履维艰了,嘿嘿)

     

Open Toolbar