接口测试用例设计方法

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

 

一、    用例设计过程:

罗马不是一天建成的,用例不是一次完成的;书写测试用例本身和完善代码一样,也是一个循序渐进的过程。

 

首先,必须熟读需求说明书和接口设计文档,了解每个接口具体的使用场景,明白软件的性能指标。

 

其次,设计接口测试用例:开始在编码阶段,测试人员根据需求说明书和接口设计文档设计接口测试用例。

 

然后,code review:开发完成编码后,在时间充裕的条件下,要进行 code review,一方面是检查开发的代码功能逻辑是否正确,另一方面通过review开发的代码来补充接口测试用例。

 

      最后,完成用例后,随着对系统了解的增多,不断提高用例精度,对测试用例需要进行定期review,一旦测试需求发生变化,测试用例必须重新维护。

 

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

 

阶段一:开发在编码,测试拿到需求文档和接口设计文档:

1、基本功能测试(业务测试):

根据需求文档和接口设计文档的转译,需要清楚业务流程规则和每个接口的使用场景方式,设计符合业务逻辑和接口使用场景的用例。

 

2、边界分析测试:

在基本功能的基础上,开始考虑接口输入输出参数的影响。主要采用等价类划分、边界值分析方法等。

l  覆盖所有的必选参数

l   组合可选参数

l  参数有无、或为null

l  参数的顺序、个数、类型

l  参数类型数值大小、输入的数值的范围

l  参数字串长短,Null-max-max+1

l  参数包含特殊字符

 

3、参数组合测试:

      在边界分析的基础上,考虑输入条件的各种组合、输入条件之间的相互制约关系。主要使用因果图法进行用例设计。

 

4、异常情况测试:

接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何异常都进行处理,比如:某个接口需要先登录获取 sesssion,如果直接调用该接口应该给出相应提示。

 

 

5、幂等级测试:

     简单说就时针对连续重复提交的情况的进行测试,特别是涉及到交易金额的场景,需要验证软件是如何处理的。

 

6、并发测试:

     两个以上用户同时操作使用同一场景时,可能引导争夺资源,死锁等现象。

 

7、事务性测试:

     一个业务流程包含多个操作步骤,如果某个操作失败,那么整个操作需要回滚。或者调用前一个步骤的逆向接口进行操作取消。

 

8、大数据量时测试

     数据库里数据量较大时(百万级),测试对DB进行增删改查操作的效率。

9、环境异常测试

   关联系统出现宕机、超时或者无响应的状态时,接口返回提示正确,业务逻辑正确,不可存在事务性不一致的情况

 

 

 

阶段二:开发完成编码,测试时间充裕的条件下,需要对开发的代码进行code review

 

1、      review开发的代码实际业务逻辑是否正确

2、隐含条件测试:

进行code review,检查代码中是否有隐含的默认条件。例如:F项目中的getRecommendArticleList接口,代码中默认查询返回4条记录(如下图),但在接口文档中并未提到,如果不review code而开发也不告诉我们的话,这种情况肯定会漏测。

 

 

 

 

 

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://www.cnblogs.com/blackbird0423/p/8888759.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
接口测试用例的设计可以按照以下步骤进行: 1. 确定测试目标:明确要测试接口功能和预期结果。 2. 划分测试范围:根据接口的不同功能和参数,将测试用例划分为不同的模块或功能点。 3. 设计测试数据:确定需要使用的测试数据,包括正常数据、边界值数据、异常数据等。 4. 编写测试用例:根据测试目标和测试数据,编写具体的测试用例,包括输入参数、预期输出、前置条件等。 5. 设置测试环境:搭建测试环境,包括准备必要的测试工具和模拟数据。 6. 执行测试用例:按照设计的测试用例,执行接口测试,并记录测试结果。 7. 分析和报告:根据执行结果,对测试用例进行分析,找出问题并生成测试报告。 在设计接口测试用例时,需要考虑以下几个方面: - 正常情况下的输入和输出:确保接口在正常情况下能够正确处理输入参数,并返回符合预期的输出结果。 - 边界值测试:对于接口的输入参数,要考虑边界值情况,例如最大值、最小值、空值等,确保接口能够正确处理这些特殊情况。 - 异常情况处理:对于非法输入或错误操作,测试接口是否能够正确地进行异常处理,例如返回适当的错误码或错误信息。 - 接口间的调用关系:如果接口之间存在依赖关系,要确保在测试过程中正确模拟这些调用关系,并验证接口之间的数据传递是否正确。 - 并发和性能测试:对于高并发或大数据量的场景,需要设计相应的测试用例来验证接口的并发性能和稳定性。 请根据具体的项目和接口需求,结合以上原则来设计适合的接口测试用例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值