接口测试1

接口测试是检查系统组件间交互的方法,关注数据交换和依赖关系。它能早发现bug,提高测试效率,适用于复杂系统的质量控制。常见的接口测试包括HTTP接口,涉及入参、出参验证。测试工具如Postman,返回码如200表示成功,404表示未找到,500表示服务器内部错误。
摘要由CSDN通过智能技术生成

接口是什么

 

API接口分类

 

API接口测试

API接口测试定义

  1. 接口测试是测试系统组件之间接口的一种测试方法
  2. 它用于检测外部系统与系统之间以及系统内部各个子系统之间的交互
  3. 重点是要检查数据的交换,以及系统间的相互逻辑依赖关系等
  4. 接口测试就是通过测试不同情况下的入参与之相应的出参信息来判断接口是否符合或满足相应的功能性、安全性要求

API接口测试的好处

  1. 能够提早发现bug,符合质量控制迁移的理念
  2. 可以迅速定位缺陷,提升测试效率
  3. 接口测试低成本高效益,可以进行自动化并且持续集成
  4. 接口测试可以系统进行全面检测:异常测试、安全验证等

项目越复杂,系统越庞大,接口测试使用的越频繁,效果越明显

API接口通常的交互模式

 

通常情况下红色线处就是要进行接口测试的地方,可能是一个http接口,也可能是rpc接口。

服务端接口示例

// dms-core

public interface IWorkFaultService extends IService<WorkFault> {

    /**

     * 通过工单ID获取 工单异常信息

     * @param workId 工单ID

     * @return WorkFault 工单异常信息

     */

    WorkFault getByWorkId(String workId);

    /**

     * 通过工单ID删除

     * @param workId 工单ID

     * @return int 删除个数

     */

    int deleteByWorkId(String workId);

    /**

     * 批量保存或更新

     * @param workFaultList 要保存或更新的集合

     * @return boolean

     */

    boolean mySaveOrUpdateBatch(List<WorkFault> workFaultList);

}

// dms-app

@RestController

@RequestMapping("/workMaintain")

public class WorkMaintainController {

    @PostMapping("/update")

    public Result<WorkMaintainVo> update(@RequestBody @Valid WorkMaintainVo maintainVo) {

        if (CharSequenceUtil.isBlank(maintainVo.getWorkId())) {

            return Result.error("工单ID不能为空");

        }

        WorkMaintain workMaintain = workMaintainService.getByWorkId(maintainVo.getWorkId());

        maintainVo.setId(workMaintain.getId());

        String workId = workMaintainService.mySaveOrUpdate(maintainVo);

        if (CharSequenceUtil.isNotBlank(workId)) {

            return Result.success();

        }

        return Result.error("保存强保单出错");

    }

}

API接口的测试内容

 

测试工具

抓包:浏览器F12、charles、fiddler

发包:charles、fiddler、postman

附录

接口返回码

1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码

  • 100(继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。

  • 101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。

 

2xx (成功)表示成功处理了请求的状态代码

  • 200(成功)服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。

  • 201(已创建)请求成功并且服务器创建了新的资源。

  • 202(已接受)服务器已接受请求,但尚未处理。

  • 203(非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。

  • 204(无内容)服务器成功处理了请求,但没有返回任何内容。

  • 205(重置内容)服务器成功处理了请求,但没有返回任何内容。

  • 206(部分内容)服务器成功处理了部分 GET 请求。

3xx (重定向)表示要完成请求,需要进一步操作。通常,这些状态代码用来重定向

  • 300(多种选择)针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。

  • 301(永久移动)请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

  • 302(临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

  • 303(查看其他位置)请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。

  • 304(未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。

  • 305(使用代理)请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。

  • 307(临时重定向)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

4xx(请求错误)这些状态代码表示请求可能出错,妨碍了服务器的处理

  • 400(错误请求)服务器不理解请求的语法。

  • 401(未授权)请求要求身份验证。对于需要登录的网页,服务器可能返回此响应。

  • 403(禁止)服务器拒绝请求。

  • 404(未找到)服务器找不到请求的网页。

  • 405(方法禁用)禁用请求中指定的方法。

  • 406(不接受)无法使用请求的内容特性响应请求的网页。

  • 407(需要代理授权)此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。

  • 408(请求超时)服务器等候请求时发生超时。

  • 409(冲突)服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。

  • 410(已删除)如果请求的资源已永久删除,服务器就会返回此响应。

  • 411(需要有效长度)服务器不接受不含有效内容长度标头字段的请求。

  • 412(未满足前提条件)服务器未满足请求者在请求中设置的其中一个前提条件。

  • 413(请求实体过大)服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。

  • 414(请求的 URI 过长)请求的 URI(通常为网址)过长,服务器无法处理。

  • 415(不支持的媒体类型)请求的格式不受请求页面的支持。

  • 416(请求范围不符合要求)如果页面无法提供请求的范围,则服务器会返回此状态代码。

  • 417(未满足期望值)服务器未满足”期望”请求标头字段的要求。

5xx(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误

  • 500(服务器内部错误)服务器遇到错误,无法完成请求。

  • 501(尚未实施)服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。

  • 502(错误网关)服务器作为网关或代理,从上游服务器收到无效响应。

  • 503(服务不可用)服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。

  • 504 (网关超时)服务器作为网关或代理,但是没有及时从上游服务器收到请求。

  • 505(HTTP 版本不受支持)服务器不支持请求中所用的 HTTP 协议版本。

  • 511 Network Authentication Required (要求网络认证)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值