软件测试-基础篇

一、接口的认识

什么是接口

电脑:USB,投影机(数据传输)

软件:API,application program interface.微信提现与充值,支付宝支付,银联支付接口。(鉴权码:token,key,appkey)
接口包括:内部接口和外部接口
内部接口:开发人员自己开发的对自身系统提供的接口
外部接口:开发系统调用外部的 其他的接口。

总结:接口就是软件提供给外部的一种服务,用于做数据传输服务。
软件测试-基础篇_第1张图片

软件为什么需要接口

因为接口能让内部的数据被外部进行修改。

为什么需要做接口测试?

  1. 现在很多系统是前后端分离,开发进度是不一样的,需要把一开始开发出来的接口进行测试。(不需要等系统全部开发完)。mock(模拟接口)前后端开发进度不一致是需要使用。
  2. 基于安全考虑,前端有验证很容易绕过,直接请求接口,特别是:身份证信息,银行卡,金钱交易。
  3. 测试推崇的是测试左移,测试尽早介入。

接口测试的本质:就是测试接口能否正常的交互数据,权限控制以及异常场景。

二、接口返回的数据格式和JSON详解

  1. JSON格式:三组数据**(80%)**

{error_code:0,msg:"提现成功”,data:[]}
error_code:错误码,0表示成功,
msg:对错误码的中文说明
data:真正返回的数据

  • json 就是一种数据类型。
  • JSON由两组数据组成:
MAP对象,键值对,{key:value,key:value}
数组:[value1,value2,value3]
示例:
{
	"people": [{
			"firstName": "Brett",
			"lastName": "McLaughlin"
		},
		{
			"firstName": "Jason",
			"lastName": "Hunter"
		}
	]
}

好用的JSON校验工具网站:www.bejson.com

可以帮助校验json格式是否正确,比如符号中英
接口的加密与编密功能

  1. Html格式;


	
		
		0
		...
		

  1. XML格式;

	0
	...

三、接口测试协议

1. webservice协议:接口地址:http://…?wsdl

http://192.168.3.1:8080/addUser
http://192.168.3.1:8080/delUser
http://192.168.3.1:8080/updUser
http://192.168.3.1:8080/selUser

soap协议,携带wsdl
restful规则:
get获取数据,post提交数据,put修改数据,delete删除数据

http://192.168.3.1:8080/user			//根据请求方式的不一样来对数据做不同操作

2. dubbo协议:接口地址以dubbo://…

适用于少量的数据传输,大并发。

3. http协议:接口地址:http:// 80%
https = http + ssl安全传输协议 端口:443
http:端口80

什么是http协议?
http是超文本传输协议,主要用于浏览器和服务器之间交互数据,交互有两个部分:
请求: get,post,delete
响应:1XX信息,2XX成功,3XX重定向(不传值的跳转),4XX客户端错误,5XX服务器错误
请求部分包含:

请求行:请求方式,请求地址,协议
GET http://www.baidu.com/ HTTP/1.1

请求头:
User-Agent: PostmanRuntime/7.32.3(客户端的用户/代理
Accept: /客户端可以接收的数据格式
X-Request_With:(异步请求—带有局部刷新的带有此请求头)
Postman-Token: 05535233-a98a-4e7d-89f1-3f76cbcfa5f7
Host: www.baidu.com(请求的地址
Accept-Encoding: gzip, deflate, br(客户端可以接受的压缩方式
Connection: keep-alive (保持活跃的状态
Cookie: BDSVRTM=0(请求所带的cookie信息

空一行
请求正文

响应的部分:
响应行:协议 ,响应码,响应信息

HTTP/1.1 200 OK
响应头:
Connection: close(链接状态/响应方式
Transfer-Encoding: chunked
Bdpagetype: 1
Bdqid: 0xec3aba61001f68ba
Content-Encoding: gzip
Content-Security-Policy: frame-ancestors ‘self’ https://chat.baidu.com http://mirror-chat.baidu.com https://fj-chat.baidu.com https://hba-chat.baidu.com https://hbe-chat.baidu.com https://njjs-chat.baidu.com https://nj-chat.baidu.com https://hna-chat.baidu.com https://hnb-chat.baidu.com http://debug.baidu-int.com;
Content-Type: text/html; charset=utf-8 (响应内容的类型
Date: Mon, 10 Jul 2023 18:52:15 GMT(响应时间
P3p: CP=" OTI DSP COR IVA OUR IND COM "
P3p: CP=" OTI DSP COR IVA OUR IND COM "
Server: BWS/1.1 (服务器
Set-Cookie:当浏览器第一次访问服务器时会响应一个set-Cookie给浏览器)BAIDUID=38CC3D5FF00FE1D276A9A87D6B66FA25:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com(响应
Set-Cookie: BIDUPSID=38CC3D5FF00FE1D276A9A87D6B66FA25; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: PSTM=1689015135; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
Set-Cookie: BAIDUID=38CC3D5FF00FE1D22CE9CDFC03EA4184:FG=1; max-age=31536000; expires=Tue, 09-Jul-24 18:52:15 GMT; domain=.baidu.com; path=/; version=1; comment=bd
Set-Cookie: BDSVRTM=31; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=36546_38643_38831_39027_39023_38942_38882_38958_38955_39009_39013_39037_38919_38972_38814_38639_26350_39041_39046; path=/; domain=.baidu.com
Traceid: 1689015135069700634617022122667376863418
X-Ua-Compatible: IE=Edge,chrome=1
空一行
响应的内容

四、企业接口测试的流程和方案?

  1. 拿到api接口文档,熟悉接口的业务,接入地址,鉴权,入参,出参,错误码。
  2. 接口计划和方案
    思路:
    正例:输入正常的入参,查看接口是否返回成功。
    反例:
    鉴权反例:鉴权为空,鉴权码错误,鉴权码已过期…
    参数反例:参数为空,单数类型异常,参数长度异常。
    错误码的覆盖。
    其他场景:分页异常。
  3. 编写用例和评审。
  4. 执行接口测试。
  5. 输出接口测试报告。

五、接口测试工具以及Postman介绍

接口测试工具:

postman,jmeter,soupui,apipost,ffiddler,charles

Postman简介

是一款功能强大的网页调试与发送HTTP请求的Chrome插件,专为接口而生

你可能感兴趣的:(软件测试,软件测试)