什么是自动化测试:
手工测试:通过人工操作的行为进行的测试工作
自动化测试:将手工执行的重复工作内容,转换为机器可以识别的语言,交由机器来替代人工执行
自动化测试不是用于发现缺陷的,是用于提升测试人员效率的
自动化性能测试:
Jmeter、LoadRunner
自动化功能测试:
Python
Selenium(浏览器的UI自动化,最新版本是3.14)
Appium(APP端最核心的自动化测试框架,Appium Desktop)
Requests(接口自动化测试)
UI:
RobotFrameWork、AirTest(自带有图像识别)
接口:
Postman(类JS语言)、Jmeter(最主流)、SoapUI(主要用于WebService)
抓包:
Fiddler、Charles、WireShark
UI自动化与接口自动化的重要程度的区别性:
UI自动化:
1. 最直观体现成效的内容
2. 软件测试工程师的角色:
站在用户的角度来思考系统的问题
用户角度?基于UI界面来进行使用的过程
于是需要一套可以基于UI界面的测试手段
选择做一项技术的推行,看的是投入产出比
接口自动化:
系统迭代频率是非常高的
软件测试:要尽可能早地介入测试
需求——设计——编码(接口测试)——测试——回归——发布
编码:
前端实现与后端实现
前端基于mock技术来执行联调
后端自己调
介入接口测试,实现对后端的接口进行测试
自动化测试分层:
V模型:
需求分析——概要设计——详细设计——编码——单元测试——集成测试——系统测试——验收测试
自动化分层:
UI:
自动化测试中最先接触也是最容易接触到的内容,目前应用度最广泛的一个层级,主要针对系统的流程和业务来执行的测试
Service:——集成测试
接口层自动化测试,相较于UI层更为深入的测试手段,依旧属于黑盒测试范畴
Unit:——单元测试
主要针对系统底层代码的测试实现,是粒度最大的一种测试手段
def 注册():
用户信息获取
数据库插入
中间关联判断
。。。。
每一行代码至少执行一次,才算是单元测试全覆盖,需要测试者非常熟悉系统架构以及底层代码逻辑,掌握非常熟练的编程能力
自动化测试介入时间:
自动化测试应用:
1. 冒烟测试
2. 回归测试
介入时间:
1. 提交版本时
2. 前后端联调之前:接口自动化
何种类型适用于自动化测试:
1. 接口自动化适用于任何类型系统
2. 业务相对稳定,同时项目周期较长的情况下
BVT是什么?虚竹说是系统测试
冒烟测试:提取核心的测试用例(正确的、属于核心内容的测试用例),在提交版本时,对新版本进行提取用例的测试操作
BVT:冒烟通过之后才能够执行的测试
空链接测试:
通过自动化测试(工具)
Chrome开发者工具:
不同浏览器有不同的开发者工具
Chrome开发者工具:
1. 在自动化测试领域,开发者工具不要内嵌在浏览器中
因为在内嵌时,会影响到页面布局,很可能在元素定位时会出现错误
2. Network限速,用于在弱网测试时应用的一种手段
用于降低网络传输速率,校验在极端情况下,页面加载是否能够完成
UI自动化测试用例:
1. 基于流程来走
2. 不考虑任何的设计模式
POM写的是对象库
接口是后端的东西。
web端,app端这些是前端东西
url是基于接口路径来生成的