同一个项目相互调接口_接口功能测试总结T009

一、为何进行接口测试

确保接口数据无误,后端功能无误,绕过前端接口的异常处理能力

二、接口文档

要进行接口测试,需要接口开发人员提供相应接口文档,拿到接口文档,我们可以看到接口的请求url,接口的协议类型(本文讨论http/https),接口的请求方式,请求参数,返回参数,json返回示例;

请求包括:1、请求行 2、请求头部(headers) 3、空行 4、请求数据(body)

请求方式:

http1.0包括get、post、head

http1.1包括get、post、head、put、delete、trace、options、connect

请求传参方式(Content/Type):post的body常见数据类型有五种

1、application/json:{"key1":"value1","key2":"value2"}

2、application/x-www-form-urlencoded:key1 =xxx&key2=ooo&key3=false

3、multipart/form-data:表单格式

4、text/xml(很少用了)

<!--?xml version="1.0"?-->

<methodcall>

<methodname>examples.getStateName</methodname>

5、文件下载:Content-Type: octets/stream

响应报文(Response):状态行、消息报头、空行和响应正文

8736fa4ce1c70323ba3ae47b6bea1c42.png

三、接口测试用例

注意:接口测试相当于无界面的功能测试,设计用例思路跟功能测试一样

1、输入参数测试:确保接口对任意类型的输入做了相应的处理:a、输入参数合法;b、输入参数不合法;c、输入参数为空;d、输入参数为null;e、输入参数超长;可以把每个参数当作功能测试的输入框设计用例,主要用到有效等价和无效等价;

2、接口功能:接口是否满足了提供的功能,相当于正常情况下的测试;

3、异常场景:请求超时、快速连续点击、请求失败情况(任务型)、审批流程等;

4、用例规范

接口名称、测试点、接口地址、前置条件、请求方式、请求headers、请求params、请求参数body、检查点、预期结果、实际结果;ps:根据实际项目接口来设计,如有的接口传参同时具有params和body;有的接口请求方式既可以post也可以get;有的传参既可以传key=value也可以传json;

79dbed6b5ba8165bbbc08a9f5d8f33db.png

fc56cb23e045573c6d99ba53fa0b562f.png

管理用例可以用禅道或其他管理平台,excel也可以,根据实际。

5、专项测试

流量分析:fiddler抓到的请求body字段,单位bytes,顺便一提,1 KB = 1024 Bytes,1 MB = 1024 KB;

弱网测试:fiddle工具-rules-Performance-Simulate Modem Speeds,当然可以自己定义upload和downloaded速度,rules-Customize rules。

(此处未做深入)

四、执行测试

执行测试就得选用一个测试接口的工具,当然常用的postman和fiddle都可以,看个人习惯,我比较喜欢fiddle,可能有人说fiddle不是抓包用的吗,它的功能其实很多,Composer可以做接口测试,很方便,抓到的请求直接拖进来就可以再次调用,还可以打断点做mock,mock请求和返回,有些需要调第三方接口测试的情况很方便

以fiddler的Composer为例:

按照设计的用例-选择请求方式-url地址-http版本-请求头-请求body-Execute-查看Response是否符合预期结果,不符合就走Bug流程

五、bug提交

会话保存:

1、保存为txt,方便我们提bug,保存后,直接复制往bug管理平台上粘贴;

2、保存为saz,方便研发复现bug,可直接将此文件直接拖入fiddle,就可以重现当时接口请求的所有数据;

小案例分享:修改密码接口,前端做了密码复杂度限制,直接调接口用简单的新密码也可修改成功。

ps:

后续会更新测试开发文章:当前测试圈很火的pytest框架实现自动化测试和django相关内容,想了解的留个关注吧!系统学习,不断积累,总结。大神修炼之路,没有退路可言!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值