51Testing软件测试论坛

标题: 记一次使用RobotFramework做自动化测试的过程 [打印本页]

作者: lsekfe    时间: 2022-7-21 10:30
标题: 记一次使用RobotFramework做自动化测试的过程
自动化测试开发与调试环境
  建议使用centos7 作为自动化测试lib 与脚本的开发与调试环境。
  自动化测试框架
  RobotFramework介绍
  Robotframework是一个非常受欢迎的,功能全面的自动化测试框架。
  安装与配置:
  1. 安装python 3.6 (包括pip3)
  2. 安装Robotframework: RobotFramework 安装与配置   当前版本为:Robot Framework 3.0.4 (Python 3.6.2 on linux)
  RobotFramework 测试库
  测试库文档: RobotFramework 创建测试库
  使用python进行基础测试库的开发
  当准备开始某个产品的自动化测试项目时,首先要进行的是自动化测试设计。
  自动化测试设计会抽象出跟产品相关的一些基础操作,比如给某个API发送一个特定的请求。这些操作在整个自动化测试项目中会被经常用到,那么就应该考虑放到测试库中。
  尽量复用已有的测试库
  因为Robotframework广受欢迎并且已经被应用了很长时间,所以产生了众多的第三方测试库(包括开源社区)。秉承“不重复造轮子”的理念,应尽量复用已有的测试库,根据项目需求进行修改,尽量减少自动化开发的投入。
  IDE
  建议使用Pycharm作为RF+Python进行自动化测试开发的IDE。
  自动化测试的原则
  执行效率    >    真实模拟
  简单稳定    >    面面俱到
  更多地执行    >    更高的覆盖率
  交付为导向    >    明确的分工
  自动化测试需要稳定可靠
  自动化测试也是一种开发工作,但是同通常意义上的功能开发工作相比,目标是实现针对某功能实体的测试行为自动化,而不是功能的实现。
  因此自动化测试的首要重点是:自动化测试的结果是否足够稳定可靠,能够准确描述被测对象的质量情况。
  反之,如果自动化测试结果不可靠,不能达到一个较高的可信度而需要大量的人力投入去复核测试结果,去维护修复测试代码,那么从根本上说,这样的自动化测试已经偏离了自动化测试想要达到的“高产出/投入比”的最重要目的之一。
  如何达到稳定可靠的目的?
  ·避免数据污染。自动化测试的一个通用做法是每个测试集合/测试用例执行之前,都要进行测试环境的一致性配置与检查,同时在测试执行之后恢复测试环境。
  · 测试用例设计与实现简单明了。 除非有特殊的功能测试要求,原则上每个测试用例尽可能简单。因此在自动化测试用例/测试计划设计时,单个用例尽可能设计简单,验证被测对象的单个功能点。
  · 尽可能长的生命期。被测产品的快速迭代必然带来功能的迭代或变化,不可避免带来自动化测试相应的维护成本。因此自动化的测试设计必须有着较好的可扩展性。
  自动化测试需要高执行效率
  自动化测试的另一个重要目的是持续集成(CI)。如果一个自动化测试集合的执行时间过长,则无法满足频繁的代码提交,版本发布的要求,同时过长的执行时间必然带来可靠性风险。
  只有在持续集成中,自动化测试才能得到最大化产出:
  · 软件的尽快回归
  · 保证软件基线质量
  · 增强发布信心
  · 保障软件重构
  自动化测试需要能够标准化测试步骤
  无论在持续集成还是其他的自动化测试场景中,自动化需要保证其覆盖的回归部分的验证点覆盖。
  因此在自动化测试的设计和实现过程中,需要格外注意输入与输出是否足够严谨。
  如果说稳定可靠的要求是自动化测试用例标记为FAIL的用例应该是功能出错,那么标准化测试步骤的要求是当用例为PASS时能够确定在此用例已经标记的测试范围内确实是PASS的。






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2