使用RobotFramework自动化测试

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第27天,点击查看活动详情

自动化测试开发与调试环境

建议使用centos7 作为自动化测试lib 与脚本的开发与调试环境。

自动化测试框架

RobotFramework介绍

Robotframework是一个非常受欢迎的,功能全面的自动化测试框架。

可以搜索到很多的中英文教程,在这里不一一列举。

官方手册: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的。

猜你喜欢

转载自juejin.im/post/7112072754278432804
今日推荐