51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 7768|回复: 12
打印 上一主题 下一主题

自动化测试框架应该具备的要点

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-3-20 10:37:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Spark.lee 于 2015-3-20 10:40 编辑

自动化测试框架包含的环节
1. 重用性
[size=1em]指:开发的功能需要有良好的可重复利用的效果。
例如:
[size=1em]公共的业务单元提炼出来,比如登陆模块。

2. 提供数据和脚本分离
[size=1em]指:在测试脚本中,不出现具体的测试数据,这些测试数据通过外部文件的方式存储。在运行中引用。
例如:
  • 测试数据
  • 测试脚本
  • 测试结果


3. 提供脚本和业务分离
[size=1em]指: 业务脚本和测试用例区分开,业务脚本单独放在一个java文件中,供测试脚本执行调用。
例如:
  • 测试用例
  • 业务流程
  • 测试数据


4. 提供框架执行报告
[size=1em]主要是提供测试执行的接哦过报告,目前很多开源的已经提供测试报告,大家开源根据自己的需求进行修改。
例如:
  • TestNG本事自带的报告。
  • TestNG-xslt可以优化TestNG产生的测试报告
  • ReportNG

5. 提供脚本开发的环境配置
[size=1em]框架需要提供可配置的环境变量,不能再框架中写死环境的参数。
例如:
  • 开发环境
  • 集成环境
  • 测试环境
  • 预发布环境


6. 框架的执行性能
[size=1em]指的是框架执行测试脚本的性能效果怎么样?采用什么样的机制去执行,框架提供怎么样的配置去允许框架如此执行。
例如:
  • 多进程执行测试脚本。
  • 分布式执行测试脚本。

7. 框架的执行
[size=1em]指的是框架支持怎么样的一个执行效果,允许单执行,多执行,失败执行等,需要提供这样的一个机制。
例如:
  • 执行单独的测试用例;
  • 批量执行测试用例;
  • 只执行失败的测试用例;
  • 可以在前一组测试用例执行结果的基础上,执行下一组测试用例;

8. 脚本的版本管理
[size=1em]脚本的版本管理机制,根据不同的需要执行不同的版本的测试用例。框架需要提供这样的一个功能。
例如: 不同版本的APP
  • 目前TestNG提供分组的功能可以考虑使用。
  • 在配合SVN或者git的本地存储功能。

9. 框架提供执行日志
[size=1em]在脚本执行的过程中,打印出来的运行信息,特别是打印出框架的信息,测试数据的信息以及配置项加载的信息,错误信息等。
例如: 框架的执行信息
[size=1em]

10. 代码的编写规范
[size=1em]主要是指代码的注释规范,命名规范以及配置项的设定规范等。
例如:
  • 注释规范
[size=1em]
  • 框架布局规范设定
[size=1em]

11. 易于调试
[size=1em]编写测试脚本的时候方便脚本的调试。
  • 调试在自动化过程中占据了大量的时间,因此在调试这个过程中需要加以特别的关注

12. 易于维护
[size=1em]指框架在后期修改的时候,不会影响到脚本的,另外就是脚本容易维护修改。这个主要是体现在框架的设置上面。
例如:
  • 测试数据的分离
  • 出错后容易排查问题等

13. 易于脚本的编写
[size=1em]主要是框架要根据业务的需求提供尽可能多的功能,让脚本更简单,快捷。
例如:接口测试框架
  • 只需要按照框架提供的测试流程即可完成用例的编写。
  • 比如提供一键式生成测试脚本等
    • 第三方功能的支持
      我们在编写框架的时候要考虑成本,很多开源的东西都已经存在了,没有必要在花心思在去写,这个时候我们都可以借用这些工具,在工程中只要引用这些jar即可使用。

例如:
  • 使用pom工程,把jar直接引用进来。
  • 测试工程一键式生成配置。

14. 数据库的配置管理
[size=1em]主要是基于测试环境的变化,我们所使用数据库也是针对不同的环境的,我们这个时候也需要同环境一样进行环境的切换。
例如:
  • 开发环境的数据库
  • 集成环境的数据库
  • 测试环境的数据库
  • 预发布环境的数据库
  • 数据库配置:
    [size=1em]
  • 数据源配置
    [size=1em]


15. 数据库的操作管理
[size=1em]指框架提供的框架对数据库的相关操作。
例如:
  • [size=1em]增删查该操作。
    [size=1em]
  • [size=1em]数据连接
    [size=1em]
  • [size=1em]数据初始化 ,数据清理,数据检查等


16. 环境的切换
[size=1em]指框架提供快速切换环境的能力,一个配置项的修改即可达到环境切换
例如:
  • 切换Mock环境
  • 切换测试环境

17. 框架提供的测试用来编写流程规范
[size=1em]指的是框架要求的一些流程规范,编写规范,文件的存放位置等。
例如:
  • [size=1em]测试数据的命名
  • [size=1em]测试脚本的存放位置

[size=1em]
  • 测试脚本的命名
[size=1em]

18. 同其他工具的结合
[size=1em]比如同缺陷工具,测试平台,持续集成等的结合,都需要考虑下。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏17
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    5#
    发表于 2015-3-29 11:14:02 | 只看该作者
    写得挺好的,只是这样做,不知道成本会上升多少
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2015-4-2 13:16:13 | 只看该作者
    写了提供了做自动化需要考虑的方方面面,赞一个
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2015-7-1 10:13
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    7#
    发表于 2015-4-13 14:45:10 | 只看该作者
    理想是美好的,现实是骨感的!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2015-5-20 11:23:52 | 只看该作者
    好资料,谢谢分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2017-4-19 10:56:15 | 只看该作者
    很好的汇总
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    1 小时前
  • 签到天数: 1901 天

    连续签到: 1 天

    [LV.Master]测试大本营

    12#
    发表于 2017-4-20 17:43:05 | 只看该作者
    我感觉这样做是很详细,但成本和维护不是一般公司愿意承担的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2017-9-27 15:27:04 | 只看该作者
    很齐全,对我很有帮助,一个一个攻破
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-26 13:12 , Processed in 0.073295 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表