测试学习1----软件自动化测试Selenium
一、自动化测试:
是将手工需要做的事情写成自动化脚本,让机器执行该脚本以解放双手,提高测试效率。
自动化脚本价值:复用率越高,越有价值
常见的自动化测试工具:
-
QTP:重量级、收费
-
RationalRobot:快速回归测试
-
jmeter :性能测试工具,可进行接口测试
-
LoaderRunner:性能测试工具
-
soupui&postman:接口测试工具
-
appium:APP自动化测试工具 (iOS Android) Macaca(阿里开源自动化)
-
selenium:
免费、开源、轻巧
支持多语言:Java C# python ruby
支持多平台:Chrome IE Firefox safari edge opera 不同操作系统
支持分布式:selenium1有方法
二、自动化测试方法:
测试对象:UI、接口、代码
测试过程:系统测试、集成测试、单元测试
执行人员:测试人员、开发人员 测试由测试和开发共同完成 调试由开发完成
自动化测试可以在整个测试过程中任何一个阶段实施,前提功能相对稳定
测试人员一般在系统测试时进行自动化测试
集成测试阶段多进行自动构建、部署,以及冒烟测试的自动化
单元测试针对代码级别进行测试,可进行静态代码检查,或者执行单元测试用例,典型的框架比如junit,jmock等,该部分多由开发人员实施
**UI自动化:**页面相关性强,在系统测试功能相对稳定后进行、适用于页面功能相对稳定 代价高
用例维护量大
页面相关性强,必须后期介入
UI测试适合与界面变动较小的项目
**接口自动化:**页面相关性较小、后台功能完成并相对稳定 代价低
可在产品前期介入
用例维护量小
页面相关性小
适合接口变动较小,界面变动频繁的项目
测试金字塔:接口测试在中间,UI测试在最上面
自动化测试适用于兼容性测试
如何实施自动化测试
分析:总体把握系统逻辑,分析出系统的核心体系架构。
设计:设计测试用例,测试用例要足够明确和清晰,覆盖面广而精
实现:实现脚本,有两个要求一是断言,二是合理的运用参数化。
执行:执行脚本远远没有我们想象中那么简单。脚本执行过程中的异常需要我们仔细的去分析原因。
总结:测试结果的分析,和测试过程的总结是自动化测试的关键。
维护:自动化测试脚本的维护是一个难以解决但又必须要解决的问题。
分析:在自动化测试过程中深刻的分析自动化用例的覆盖风险和脚本维护的成本。
三、selenium是一个工具集
- selenium1:selenium RC、selenium IDE(录制自动化测试脚本)、selenium GRID(分布式)
- selenium2:webdriver(Google)
- selenium3:增加了一些浏览器的原生驱动。Safari、edge
四、Webdriver原理
car:浏览器乘客:脚本
出租车司机:Webdriver 驱动,脚本指令驱使浏览器工作