关于接口测试

by:授客 QQ1033553122

------------------接Part 1----------------------

5.   用例设计思想(举例说明)

 测试思想-集成测试 关于接口测试 Part 2_软件测试

 

测试思想-集成测试 关于接口测试 Part 2_软件测试_02
 

如上表,是某个接口说明文档中的一个接口,课程检索,其中“v1/Lesson/testsrch/?” 为接口调用地址,此外,还给出了接口函数输出(Server Response)及返回值。

问:怎么设计?

答:思路应该是这样的

1.理解需求

客户需求->业务需求->测试需求,对接口测试用例设计也不例外。拿到接口,首先要明白这个接口的主要功能是做啥用的,调用它可实现什么业务。如上述,接口功能:课程检索

 

2.理解接口参数

对每个参数都要明白它们各自的含义。除了接口文档上简单的说明,还必须理解它真正的作用。按我个人观点,要想更好的理解接口参数,则应该多站在操作流程(或业务流程)及场景上进行考虑,尽量把对应操作数据或输入步骤映射到接口函数。

举例:

场景(操作流程),通场,对于数据查询类操作:输入关键词,然后点击查询,如图

测试思想-集成测试 关于接口测试 Part 2_测试思想_03

 

测试思想-集成测试 关于接口测试 Part 2_软件测试_02

紧接着如果有匹配数据的记录则在列表中显示,然后如果页面超过一页,列表下方会出现提供翻页操作,并显示当前处于第几页,如图

测试思想-集成测试 关于接口测试 Part 2_软件测试_02

 

说明:实际中往往没有提供产品demo或者需求说明书,这个时候就要结合我们个人的经验或者生活经历来思考了,如果有更好了。

 

好了,回过头来看接口参数,这时就很清晰了

       k   string  检索的关键词,拿上图说,就是我们输入的查询内容接口测试

pageIndex   int 当前页码,那上图来说,我们知道它有个很重要的作用就是翻页

pageSize    int 每页数量,上图虽然没提供页面容量设置,但是实际也隐藏了每个页面展示的记录条数

 

3.关注接口输出

仅关注接口参数的输入还不够,还应该关注接口的输出,特别是输出结果不唯一的时候:如下课程检索输出。

 测试思想-集成测试 关于接口测试 Part 2_测试思想_06

 

测试思想-集成测试 关于接口测试 Part 2_软件测试_02
 

4.寻找测试点

记住,

一、主要是基于步骤2(输入)、步骤3(输出)

根据步骤挖掘测试点和测试数据

举例:

测试点:查询内容k(类型>中文,英文大小写,数字,特殊符;长度>是否字数限制;是否可为空>不输入,即””;查询内容存在;查询内容不存在)

测试点:页面翻页pageIndex(当前页,非当前页,不存在的下一页,不存在的上一页,如果提供手动输入页码,然后跳转,还得考虑负数等容错)

测试点:页面展示记录数设置(默认;限制每页展示记录数;翻页至不存在页面)

测试点:对资源的处理输出(视频解码;审核;删除;是否精品推荐判断)

 

二、其次依据接口参数本身

1、类型->能否传递类型不符的参数值;

个数->能否不传递某些参数;

类型->能否传递类型不同的参数,比如要求是int,你传入string类型的或者要求string类型的,你要求传入int

类型值>能否传递超过参数类型能容纳的值,比如有符号int的范围是-32768~32767,而无符号0~65535,那传递个65536会咋样呢?

 

注意:

1、一和二中有些是交叉的,他们的关系是互补关系

2、要知道测试是不能穷尽的,要时间成本投入的,如果每个参数每种情况都要细致测的话是要花很多时间的。所以,要折中考虑,考虑测试数据是否意义,适当的取舍,特别是时间有限的情况下。

 

5.根据测试点设计用例

这个和功能设计用例一样。合理安排优先级,先设计常规用例,典型操作流程,典型业务场景用例,然后设计异常容错等用例。

 

 测试思想-集成测试 关于接口测试 Part 2_软件测试_08

        测试思想-集成测试 关于接口测试 Part 2_软件测试_09

       测试思想-集成测试 关于接口测试 Part 2_测试思想_10

 

 

 

测试思想-集成测试 关于接口测试 Part 2_软件测试_02
    测试思想-集成测试 关于接口测试 Part 2_软件测试_02

测试思想-集成测试 关于接口测试 Part 2_软件测试_02


6.测试方法

功能测试用例设计方法都适用