软件测试面试接口测试常见问题

本文讨论了接口测试中如何处理依赖登录的状态,解释了软件接口的概念,介绍了抓包工具Fiddler的功能,并详细阐述了异常分析方法、接口测试用例设计原则,包括GET和POST的区别、常见状态码以及安全测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接口测试中,依赖登录状态的接口如何测试?

答:依赖登录状态的接口的本质上是在每次发送请求时需要带上 session或者 cookie才能发送成功,在构建POST请求时添加必要的 session或者cookie

按你的理解,软件接口是什么?

就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。

抓包工具 Fiddler抓包工具面板功能

1.Http Request的顺序,从1开始,按照页面加载请求的顺序递增。

2.Result:HTTP响应的状态Protocol:请求使用的协议(如HTTP/HTPS)

3.HOST:请求地址的域名URL:请求的服务器路径和文件名,也包含GET参数

4.BODY:请求的大小,以byte为单位

5. Content-Type:请求响应的类型

6. Caching:请求的缓存过期时间或缓存控制

header的值

7. Process:发出此请求的 Windows进程及进程

8. Comments:用户通过脚本或者菜单给此

session增加的备注

9. custom:用户可以通过脚本设置的自定义值

当一个接口出现异常时候,你是如何分析异常

的?

先抓包,用 fiddler( charles)工具抓包,或者浏览器上F12调试工具;APP上的话,那就用Fiddler做代理,通过手机设置代理去看请求和返回报文;查看后端日志,如 Linux系统通过 hell连上服务器,查看接口日志,查看是否有报错信息(命令:tai-f日志文件)。

怎么设计接口测试用例?

①是否满足前提条件有些接口需要满足前提,才可成功获取数据。常见的,需要登录 Token

逆向用例:针对是否满足前置条件(假设为n个条件),设计0-n条用例

②是否携带默认值参数

正向用例:带默认值的参数都不填写、不传参,必填参数都填写正确且存在的“常规”值,其他不填写,设计1条用例

③业务规则、功能需求

这里根据时间情况,结合接口参数说明,可能需要设计N条正向用例和逆向用例

④参数是否必填

逆向用例:针对每个必填参数,都设计1条参数值为空的逆向用例

⑤参数之间是否存在关联有些参数彼此之间存在相互制约的关系

⑥参数数据类型限制逆向用例:针对每个参数都设计1条参数值类型不符的逆向用例

⑦参数数据类型自身的数据范围值限制

正向用例:针对所有参数,设计1条每个参数的参数值在数据范围内为最大值的正向用例

get和post区别是什么?

答:POST和GET都是向服务器提交数据,并且都会从服务器获取数据。

区别:

1)传送方式:get通过地址栏传输,post通过报文传输

2)传送长度:get参数有长度限制(受限于url长度),而post无限制

3)GET产生一个TCP数据包(对于GET方式的请求,浏览器会把httpheader和data一并发

送出去,服务器响应200返回数据),POST产生两个TCP数据包(对于POST,浏览器先发送

header,服务器响应100 continue,浏览器再发送data,服务器晌应200ok返回数据

4)get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留

5)在做数据查询时,建议用GET方式;而在做数据添加、修改或删除时,建议用post方式

请求接口中常见的返回状态码有?

1.信息提示(表示临时的响应。客户端在收到常规响应之前,准备接收一个或多个1x×响

应)

2.成功(表明服务器成功地接受了客户端请求)

3.重定向(客户端浏览器必须采取更多操作

来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求)

4.客户端错误(发送错误,客户端有问题。

例如,客户端请求不存在的页面,客户端未提供

有效的身份证验证信息)

5.服务器错误(服务器由于遇到错误而不能

完成该请求)

接口错误和异常处理测试测什么?

1.输入异常值(空值、特殊字符、超过约定长度等),接口能正确处理,且按预期响应;

2.输入错误的参数,接口能正确处理,并按预期响应;

3.多输入、少输入参数,接口能正确处理,且按预期响应;

4.错误传输数据格式(如json格式写成fom格式)测试。

怎么设计接口测试用例?

设计接口用例时,主要从四个方面:功能,业务逻辑,异常,安全。

1功能:是否正常:是否按照接口文档实现

2业务:判断业务逻辑:是否依赖业务;

3异常:参数异常和数据异常

4安全测试用例设计:coke, header,唯一识别码等。

get和post的区别?

1.get是从服务器上获取数据,post是向服务u器传送数据

2.get是把参数数据队列加到提到交表单的

ACTION属性所指的URL中,值和表单内各个字段一—对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在 HTML HEADER内一起传送到 ACTION属性所指的URL地址。用户看不到这个过程。

3.对于get方式,服务器端用RequestQuery String获取变量的值,对于post方式,服务器端用 Request Form获取提交的数据

4.get传送的数据量较小,不能大于2KB。post

传送的数据量较大,一般被默认为不受限制。但理论上,S4中最大量为80KB,IIs5中为100KB。

5.get安全性非常低,post安全性较高。但是执行效率却比Post方法好

1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;

2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值