没有合适的资源?快使用搜索试试~ 我知道了~
Selenium 在不同项目中可以重复使用,成为功能自动化测试框架(具有特定模式、步骤,形成统一规范,可以重用的)。基于Selenium API,可以在大量Web自动化测试中编写脚本,执行测试;代码公开,便于二次开发,扩张功能,易于维护;
资源推荐
资源详情
资源评论
接口测试
一、环境准备
1.1 Postman
含义:接口测试工具、接口自动化工具
注册、登录;用户名:xiaoAJ 密码:huang520jing
1.2 Fiddler
含义:Web 调试代理工具(抓包工具,包的分析、调试报文)
Postman 与 Fiddler 有冲突,都是以代理方式工作;Fiddler4 版本不一定越
新越好,无需注册就可使用。
1.3 被测系统
1.3.1 www.idataapi.cn idataapi
API 集市中有免费与收费的接口使用
注册、登录,账号:黄经 密码:huang520jing
1.3.2 聚合数据 www.juhe.cn
注册、登录,账号:xiaoAJ 密码:huang520jing
二、自动化与手工测试复习
2.1 自动化工具
功能自动化 QTP Selenium
性能自动化 LoadRunner JMeter
接口测试 Postman Fiddler JMeter
手机自动化 adb 随机事件 稳定性测试
Monkey 基于随机事件 稳定性测试
MonkeyRunner 基于精确坐标点 功能自动化
Appium 基于控件 功能自动化
(与 selenium 相似 Web 功能自动化)都给予 WebDriver 控件面向对象思
想
2.1 分层的手工测试
分层:黑盒测试、白盒测试、灰盒测试
2.1.1 黑盒测试
概念:一般被称为功能测试,把测试的程序看成是一个黑盒子,对界面
输入数据,进行操作,检查程序是否按照需求规格说明书的规定正常实现。
缺点:投入产出比较低,就是编写用例发现的缺陷不多;
2.2.2 白盒测试
概念:又称为结构测试,在单元测试阶段完成,对代码要求较高;通过
检查代码来发现程序的错误,需要测试人员掌握被测系统所用的编程语言,熟
悉程序结构和处理过程,所以一般由程序员完成
优点:白盒测试精确度非常高,发现 bug 修复成本低
缺点:测试人员白盒测试难以推广,要求高
案例:win7 操作系统 5000 万行,Linux 系统 2000 万行
2.2.3 灰盒测试
概念:结合了白盒测试和黑盒测试的要素,是介于白盒测试和黑盒测试
之间;既要检查输出结果对于输入数据的正确,又要检查程序的代码;
启发:灰盒测试是接口的思路来源,适当掌握开发思想、技术和开发进
行交流
三、接口测试基础
3.1 测试金字塔模型
说明:分为三层:UI、Server、Unit
金字塔测试模型认为:UI 层的测试效率低,发现 Bug 的能力弱,投入与产出
比低(事倍功半),应该逐步减少采用;而更多采用 Server 层和 Unit 的测试
(更多的代码及测试)
基本理念:1.越底层,越稳定 2.越底层,越高效 3.越底层,越低成本 4.越
底层,越难实施
3.1.1 UI 层(User Interface 用户界面)
应用:在用户界面上进行操作完成测试—黑盒测试(功能测试)
UI 层自动化测试:QTP、Selenium
应用:主要应用在回归测试、大数据量测试,代替测试员的重复手工测试;
缺点:投入产出比低,发现 Bug 能力弱
3.1.2 server 层(服务层测试)
应用:主要在集成测试阶段,测试模块间调用关系—-主要测试代码之间的
调用关系,也是接口测试的核心。
Servery 接口自动化测试:测试模块间的调用关系的正确性。
应用:目前主要指 Web 接口测试,主要测试网页和后台服务器之间数据传
递的正确性。
<1>Web 规范:使用浏览器访问服务器的一套方案、规范
B/S 架构—Web 前端技术:HTML5,CSS3,JavaScript;
Web 后端技术:Java(JDBC、Servlet、JSP Web 交互相关)
或 Python 程序
<2>经典的架构模式:MVC 模式(了解)
应用面:不论是 Web 应用,手机 App 都作为经典的架构模型来进行
设计,能够通过对软件的分层,让开发者分头开发,各司其职,各尽所能将整
个业务完成好;
Model 模型层 业务逻辑
View 视图层 显示逻辑
Controller 控制器层 控制逻辑
<3>软件工程追求的目标:提高可复用性、易维护性
Selenium 在不同项目中可以重复使用,成为功能自动化测试框架
(具有特定模式、步骤,形成统一规范,可以重用的)。基于 Selenium
API,可以在大量 Web 自动化测试中编写脚本,执行测试;代码公开,便于二
次开发,扩张功能,易于维护;
3.1.3 Unit 层(单元层)
应用:主要在单元测试阶段,使用白盒和黑盒的方法,测试某个模块是否
正确;
Unit 层代码:Java 测试:Junit,JTest
Python 测试:Unittest 自带的白盒测试工具
C/C++测试:C/C++ Test
使用工具测试代码的正确性和语法正确性、规范性
缺点:难度太大,找不到合适的人员,成本高;
3.2 接口测试基本概念
3.2.1 日常生活的接口
通过接口连接,将传输的内容将一处传递到另一处
3.2.2 程序接口 API
Application Programming Interface 应用编程接口
接口本质上是程序开发的函数或方法,提供参数和返回值;
对比:LoadRunner VuGen 平时采用 Web[HTTP/HTML]协议录制脚本;
------协议是脚本的灵魂 模拟客户端向服务器法请求
3.3 Web 接口测试
概念:现企业说接口测试,一般指的 Web 接口测试或 Http 接口测试,主要
指基于 B/S 架构的接口测试(B/S 架构主要基于 HTTP 超文本传输协议,所以
也叫 HTTP 接口测试);一般请求 Request 和响应 Response 方式交互,在响应的主
体中主要携带 HTML 源代码文本
1、B/S 架构使用的协议
HTTP 超文本传输协议
HTTPS 安全版的 HTTP 协议
2、在客户端(Browser 浏览器)和服务器(Server)之间传输的数据主要
包 括 : HTML ( 静 态 网 页 ) 、 视 频 、 音 频 、 图 片 、 CSS ( 样 式 表 )、
JavaScript 等
3.3.1 为什么采用 Web 接口
项目分工:产品经理、需求分析师,开发人员:系统架构师、web 前端工
程师、程序员,测试人员
为什么人员使用 Web 接口?
原因:程序是分层设计的,各层之间有数据传递---表示层—业务逻辑层—
数据访问层—数据库
1、程序开发是分层的,一般至少分为 3 层
1)界面层:提供程序的界面,要求美观,吸引客户,由美工或前端开
发人员完成;
2)业务逻辑层和数据访问层:完成程序的实际业务处理功能和数据读
取、写入等操作功能,一般由程序员完成。
各层之间有大量的数据传递
2、随着 Web 前端技术的兴起,用户交互界面越来越复杂、美观,同时
显示的数据越来越多,数据在前端和后端传递难度比较大---解决方案:前端采
用 Web 接口传递数据;
3.3.2 采用 Web 接口的好处
各司其职,各尽所能,应用广泛
1)前端专业性越来越高,重点关注显示逻辑;
2)后端由程序员完成,重点关注业务和数据逻辑;
3)Web 接口应用广泛,即可满足 Web 页面调用,也可满足移动 App 调
用,即可提供公司内部系统调用,也可提供公司外部系统调用;
3.3.4 什么是 web 接口测试
Web 接口测试就是测试前端和后端之间的 Web 接口的正确性
为什么做 Web 接口测试?
1)可以更早的介入测试;2)更好的验证系统的安全性和性能;3)发现低
层的问题
3.4 接口测试的核心技术点
1) 协议:Web 接口主要使用 Http、Https 协议
2)数据格式(用什么方式存储、传递参数)--JSON(JavaScript 对象表示
法)
3.5 接口测试的主要测试点
1)功能测试 Selenium
业务流程(业务功能)测试、参数测试(必填参数、选填参数、参数组合、
特殊字符、最大最小值)
2)性能测试 LoadRunner JMeter
响应时间、用户数、吞吐量(每秒处理多少字节)、TPS(每秒事务数)
3)安全性测试(更适合系统运维工程师执行)
敏感信息加密、核心数据前后端都要验证、防止恶意请求、模拟各种信息注
入
比如:SQL 注入,SQL Injection;用户、攻击者调教信息,成为了 SQL 语句
的一部分,影响了 SQL 原有的执行逻辑;
四、JSON
4.1 JSON 基础
特点:轻量级、跨语言、通用的、面向对象的数据文本格式;
应用:常用于接口访问时数据发送、接收;比普通文本复杂,比 XML 文本简
单
作用:以文本格式存储、表示、交换、传递数据;
Web 前端和后端需要传递大量数据,数据就以 JSON 格式进行传递;
4.2 语法规则
1)对象使用花括号表示{}---对象可以嵌套使用
2)对象中包含数据,每一组数据是以“名值对”(或键值对)形式表示,字段
名称(变量名称、键)在前,数值在后,使用冒号分隔;字段名称是使用双引
号括起来的字符串,数值必须是合法数据类型
3)每组数据之间使用逗号分隔(最后一组数据不用)
4)数组(多个数据的集合)使用方括号表示[];数组中可以嵌套数组,对象
中可以嵌套对象、数组;-----对象和数组可以相互嵌套
5)JSON 文件以.json 为扩展名
场景:JavaScript Object Notation Java 脚本对象表示法
案例:{
"name": "张三",
"age": 20,
剩余21页未读,继续阅读
资源评论
weixin_45348805
- 粉丝: 2
- 资源: 41
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功