一、自动化测试
1. 简介
- 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。
2. 常见自动化测试工具
- QTP:quick fast professional,是一个侧重于功能的回归自动化测试工具,支持的脚本语言是VBScript。
- selenium:测试工具集,web端测试。
- jmeter:Apache开源,用于压力测试和接口测试工具,是轻量级的。
- loadrunner:性能测试工具。
- appium:手机端应用测试工具,IOS/安卓都可以测试。
- soupui:接口测试工具。
3. 自动化测试的演变
- 测试工具----数据驱动----关键字驱动----测试框架----测试平台
4. 自动化测试方法
(1)测试对象:UI、接口、代码
- UI自动化:用例维护量大;页面相关性强,必须后期介入;适合界面变动较小的项目。
- 接口自动化:可在产品前期介入;用例维护量小;页面相关性小;适合接口变动较小,界面变动频繁的项目。
(2)测试过程:系统测试、集成测试、单元测试
- 单元测试针对代码级别进行测试,可进行静态代码检查,或者执行单元测试用例,典型的框架有JUnit,该部分多由开发人员实施。
- 集成测试阶段多进行自动构建、部署,以及冒烟测试的自动化。
- 测试人员一般在系统测试时进行自动化测试 。
5. 自动化测试的适用对象
-
需求变动不频繁、项目周期足够长、自动化测试脚本可重复使用。
6.自动化测试的优势
- 减少重复测试的时间,实现快速回归测试
- 创建优良可靠的测试过程,减少人为错误
- 可以运行更多更繁琐的测试
- 可以执行一些手工测试困难或不可能进行的测试
- 更好的利用资源
- 测试具有一致性和重复性
- 测试脚本的重用性
二、Selenium
1. selenium的特点
-
免费,也不用再为破解QTP 而大伤脑筋
-
支持多语言:C 、 java 、 ruby 、 python 、 C# ,都可以通过 selenium 完成
-
支持多平台:windows 、 MAC ,
-
支持多浏览器:IE、edge 、 safari 、 chrome等
2. selenium工具集
- selenium1:selenium IDE + selenium RC + selenium Grid
- selenium2:selenium1 + webDriver
- selenium3:做了一些更新,增加了edge、sarafi原生驱动
注:WebDriver 解决了 Selenium 存在的缺点(比如,绕过 JS 沙箱);Selenium 解决了 WebDriver 存在的问题(例如支持广泛的浏览器);
3. selenium IDE 录制脚本
- Selenium IDE 是一个 Firefox 插件,是用来开发测试用例的集成开发工具,其简单易用,能够高效的开发测试用例,并可转换成相应的语言脚本。
注:IDE仅作为辅助工具来快速生成用例或者个人测试使用,实际很少用它来管理自动化测试用例并执行。