记一次使用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的。
页:
[1]