文章目录
1. 自动化测试
1.1自动化测试工具
- 自动化测试工具:
- QTP:比较难安装,主要比较大;
- jmeter:性能测试工具 设置/录制脚本
- loadrubber 性能测试工具 UI界面录制
- soupUI 接口测试工具 postman
- appium APP 自动化测试工具 Macaca Monkey
- selenium的特点
- 轻量级的
- 支持多语言:ruby Python java C#等。
- 支持多平台:支持Windows Mac
- 支持多浏览器:Firefox IE Chrome edge Safar i Opera
- 支持分布式测试:自动化脚本多的化,一台机器比较费劲,可以使用selenium grid 可以让测试快速实施。
1.2自动化工具于自动化框架的区别?
- 自动化测试框架一般分为两个层次,上层是管理整个自动化测试的开发,执行及维护,在比较庞大的项目中,它体现重要的作用,他可以管理整个自动测试,包括自动化测试用例执行的次序,测试脚本的维护,以及集中管理测试用例、测试报告和测试任务等。下层是测试脚本的开发,充分的使用相关的测试工具,构建测试去驱动,并完成测试业务逻辑。
- 自动化测试的演变:测试工具-数据驱动-关键字驱动-测试框架-测试平台。
1.3自动化测试方法
- 测试对象:UI、接口、代码
- 测试过程:系统测试、集成测试、单元测试
- 执行人员:测试人员、开发人员
- 自动化测试可以在整个测试过程中任何一个阶段实施,前提功能相对稳定;
- 测试人员一般在系统测试时进行自动化测试;
- 集成测试阶段多进行自动构建、部署、以及冒烟测试的自动化;
- 单元测试针对代码级别进行测试,可进行静止代码检查,或者执行单元测试用例,典型的框架如junit,jmock,该部分多有开发人员实施。
- UI自动化
- 用户维护量大;
- 页面相关性强,必须后期介入;
- UI测试适合与界面较小的项目。
- 接口自动化
1.4自动化适用什么测试
- 兼容性测试,回归测试
1.5自动化测试的优势
- 减少重复测试的时间,实现快速回归测试;
- 创建优良可靠的测试过程,减少人为错误;
- 可以运行更多更繁琐的测试;
- 可以执行一些手工测试困难或不可能进行的测试
- 更好的利用资源
- 测试具有一致性和重复性
- 测试脚本的重复性。
2.如何实施自动化测试
2.1 自动化测试适用对象
- 实施自动化测试的前提条件:需求变动不频繁、项目周期足够长、自动化脚本可重复使用。
- 需求变动频繁的项目,自动化脚本不能重复使用,维护成本太大,性价比低;
- 项目周期短,自动化脚本编制完成后使用次数不多,性价比低;
- 交互型较强的项目,需要人工干预的项目,自动化无法实施。
2.2 如何实施自动化测试
- 单纯的讲,自动化测试的具体体现,应该是包含以下7个过程的:
- 分析:总体把握系统逻辑,分析出系统的核心体系框架;
- 设计:设计测试用例。测试用例要足够明确和清晰,覆盖面广而精;
- 实现:实现脚本,有两个要求一是断言,二是合理的运用参数化;
- 执行:执行脚本远远没有我们想象的那么简单,脚本执行过程中的异常需要我们仔细去分析原因的。
- 总结:测试结果的分析,和测试过程的总结是自动化测试的关键;
- 维护:自动化测试脚本的维护是一个难以解决的问题;
- 分析:在自动化测试过程中深刻的分析自动化用例的覆盖风险和脚本维护的成本。
2.3自动化测试实施失败的原因
- 期望值过程,就像管理人员要求完全测试一样,期望100%的测试自动化,也同样是一个不现实的需求。
- 对收益和成本认识不清。抛开工具的开发或者购买成本和培训成本,自动化测试的成本应该还包含两部分(实现成本中还隐含了测试成本准备)。
- 成本=实现成本+运行维护成本。
3.selenium
3.1 selenium工具集
- selenium 1.0 : selenium RC(远程的控制器) seleniumIDE selenium GRID
- selenium 2.0 :selenium 1.0+webdriver 解决了环境沙箱问题
- selenium 3.0:增加了一些新的特性,增加了edge Safari的原生内核
- selenium RC的原理图