接口测试用例设计方法有哪些_接口自动化测试用例设计

接口测试用例设计方法有哪些_接口自动化测试用例设计本篇的目的是简明的完成一份接口测试用例设计的撰写,维护的文档,需要大家共同努力,不断完善,存在的不足以及日后在实际使用中暴露出来的问题,希望大家及时出,以便更新文档。一、用例设计过程:用例不是一次完成的,书写测试用例本身和完善代码一样,也是一个循序渐进的过程。首先,必须熟读需求说明书和接口设计文档,了解每个接口具体的使用场景,明白软件的性能指标。其次,设计接口测试用例:开始在编码阶段,测试人员根据需求说明书和接口设计文档设计接口测试用例。然后,codereview:开发完成编码后,在时间充裕的

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本篇的目的是简明的完成一份接口测试用例设计的撰写,维护的文档,需要大家共同努力,不断完善,存在的不足以及日后在实际使用中暴露出来的问题,希望大家及时出,以便更新文档。

一、 用例设计过程:

用例不是一次完成的,书写测试用例本身和完善代码一样,也是一个循序渐进的过程。
首先,必须熟读需求说明书和接口设计文档,了解每个接口具体的使用场景,明白软件的性能指标。
其次,设计接口测试用例:开始在编码阶段,测试人员根据需求说明书和接口设计文档设计接口测试用例。
然后,code review:开发完成编码后,在时间充裕的条件下,要进行 code review,一方面是检查开发的代码功能逻辑是否正确,另一方面通过review开发的代码来补充接口测试用例。
最后,完成用例后,随着对系统了解的增多,不断提高用例精度,对测试用例需要进行定期review,一旦测试需求发生变化,测试用例必须重新维护。

二、接口测试用例构思结构:

阶段一:开发在编码,测试拿到需求文档和接口设计文档:
1、基本功能测试(业务测试):根据需求文档和接口设计文档的转译,需要清楚业务流程规则和每个接口的使用场景方式,设计符合业务逻辑和接口使用场景的用例。
2、边界分析测试:在基本功能的基础上,开始考虑接口输入输出参数的影响。主要采用等价类划分、边界值分析方法等。
覆盖所有的必选参数
组合可选参数
a.参数有无、或为null
b.参数的顺序、个数、类型
c.参数类型数值大小、输入的数值的范围
d.参数字串长短,Null-max-max+1
e.参数包含特殊字符
3、参数组合测试:在边界分析的基础上,考虑输入条件的各种组合、输入条件之间的相互制约关系。主要使用因果图法进行用例设计。
4、异常情况测试:接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何异常都进行处理,比如:某个接口需要先登录获取token,如果直接调用该接口应该给出相应提示。
5、幂等级测试:简单说就时针对连续重复提交的情况的进行测试,特别是涉及到交易金额的场景,需要验证软件是如何处理的。
6、并发测试:两个以上用户同时操作使用同一场景时,可能引导争夺资源,死锁等现象。
7、事务性测试:一个业务流程包含多个操作步骤,如果某个操作失败,那么整个操作需要回滚。或者调用前一个步骤的逆向接口进行操作取消。
8、大数据量时测试:数据库里数据量较大时(百万级),测试对DB进行增删改查操作的效率。
9、环境异常测试:关联系统出现宕机、超时或者无响应的状态时,接口返回提示正确,业务逻辑正确,不可存在事务性不一致的情况
阶段二:开发完成编码,测试时间充裕的条件下,需要对开发的代码进行code review
1、 review开发的代码实际业务逻辑是否正确
2、隐含条件测试:进行code review,检查代码中是否有隐含的默认条件。
3、SQL测试:针对需要进行数据库操作的接口,查看相关sql,对sql的正确性进行验证。一般sql的过滤条件都会比开发告诉我们的要多,所以查看sql进行验证是最保险的方式,特别需要设计组合条件的场景进行验证。

三、测试过程验证点:

1、接口返回数据
a) 返回json数据的层次关系是否与文档一致
b) 数值类型数据: 特别是金额,负数、小数转为json输出是否正确
c) 接口返回数据与接口文档一致
d) 接口返回数据和数据库一致
e) 接口返回数据符合业务逻辑(比如转账功能,从一个账户扣款,另一个要增加相应金额)
f) 对于列表,应该根据请求参数,也应该验证列表的长度是否与期望值一致
g) 负面测试用例,应验证ERROR INFO是否与实际相匹配
2、数据库
a) 接口传入数据与插入DB的数据一致性:
b) 前端某个操作涉及后台DB多张表时,每张表都要检验数据正确性。
3、安全层面:
a) 后端接口返回给前端的数据包含敏感信息(如:姓名、身份证号、卡号、手机号、加密后的密码等)时,不能明文传输,需要加密。
b) 后台打日志要求对于敏感信息不能打出,或者进行加星号脱敏后打出,具体有:
(1)身份证号,用户密码(含加密后),用户手机号码,用户姓名,银行卡号
(2)身份证号码脱敏字段为生日时,生日在日志中不能打出
4、性能层面:
a) 接口响应时间: 接口处理数据的时间也是测试需要关注的一个点。牵扯到内部就是算法与代码的优化
b) 接口数据包大小:接口传递的数据包大小也需要关注,特别是返回给前端的接口,要把不同接口数据包大小需要做限制。
c) 并发承载能力:多用户并发时接口可以承载合同中的并发量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194125.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何避免手机失窃后倾家荡产——手把手教你设置SIM卡密码(也就是PIN密码)

    如何避免手机失窃后倾家荡产——手把手教你设置SIM卡密码(也就是PIN密码)

    2020年11月8日
  • 一文概括常用图像处理算法

    一文概括常用图像处理算法本文总结了11种常用的图像处理算法,包含了预处理算法以及检测算法,并介绍了一些常用的开发库。一、算法(预处理算法、检测算法)在采集完图像后,首先会对图像进行预处理操作。1、图像变换(空域与频域、几何变换、色度变换、尺度变换)2、图像增强3、纹理分析(取骨架、连通性)4、图像分割5、图像特征6、图像/模板匹配7、色彩分析8、图像数据编码压缩和传输9、表面缺陷目标识别算法10、图像分类(识别)11、图像复原二、现有的视觉检测软件/库三、HSV颜色识别-HSV基本颜色分量范围

    2022年5月13日
  • hashmap的底层实现原理_hashtable底层数据结构

    hashmap的底层实现原理_hashtable底层数据结构一:HashMap底层实现原理解析我们常见的有数据结构有三种结构:1、数组结构2、链表结构3、哈希表结构下面我们来看看各自的数据结构的特点:1、数组结构:存储区间连续、内存占用严重、空间复杂度大优点:随机读取和修改效率高,原因是数组是连续的(随机访问性强,查找速度快)缺点:插入和删除数据效率低,因插入数据,这个位置后面的数据在内存中都要往后移动,且大小固定不易动态扩展。2、链表结构:存储区间离散、占用内存宽松、空间复杂度小优点:插入删除速度快,内存利用率高,没有固定大小,扩展灵活

    2022年9月11日
  • java ORA-01008: 并非所有变量都已绑定避坑

    java ORA-01008: 并非所有变量都已绑定避坑//数据库增加数据的函数 publicbooleanadd(Creditc){ Stringsql=”insertintocredit(id,name,pwd,Money)” +”values(?,?,?,?)”; //要插入的对象中的数据拿到object数组中 Objecto[]={c.getId(),c.getName(),c.getPwd()…

    2022年9月6日
  • CreatePipe/CreateProcess[通俗易懂]

    CreatePipe/CreateProcess[通俗易懂]管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(AnonymousPipes)是在父进程和子进程间单向传输数据的一种未命名的管道,只能在本地计算机中使用,而不可用于网络间的通信。      匿名管道实施细则      匿名管道由Cre

    2022年7月26日
  • futex_wait_cancelable_wait()方法

    futex_wait_cancelable_wait()方法国内几乎没啥说的,公司很多网站很多还不让上,用手机谷歌还可能会被领导批评,寻思回家查,还强制加班下班还很晚,这是又要马儿跑又要马儿不吃草啊。源码中这块是这么写的+#defineFUTEX_PRIVATE_FLAG 128+#defineFUTEX_CMD_MASK ~FUTEX_PRIVATE_FLAG++#defineFUTEX_WAIT_PRIVATE (FUTEX_WAIT…

    2022年9月15日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号