我的账户
啄木鸟学院

专注软件测试菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

接口测试用例设计

[复制链接]
RHM 发表于 2020-5-12 11:03:50 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
1:接口说明文档的重要性
1.1接口文档的特点
   接口文档,顾名思义就是对接口说明的文档。好的接口文档包含了对接口URL,参数以及输出内容的说明,我们参照接口文档就能编写出一个个的测试用例。而且接口文档详细的话,测试用例编写简单,不会遗漏。
如果一个接口文档没有写清楚,你从文档中分不出哪些儿参数是必需的,哪些儿是非必须的,而且没有参数的取值说明,返回值的结构等信息的话,测试人员是无法 编写相应的测试用例的。但是由于开发人员不愿意写文档,所以很多接口文档相对来说比较简单,模糊不清,这对我们做接口自动化测试是很大的阻碍。
1.2 接口文档的结构
接口文档可以包含很多信息,有的愿意写就可以多写的,不太愿意写的话,就写的信息相对来说会少点儿。不过,下面几项内容必须有,这是我们使用接口中和测试接口的依据:
1)接口名称。标识各个接口的简单说明,如登录接口,获取项目详情接口等。
2)接口URL。接口的调用地址,在测试环境下前面的域名可能不一样,不过接口名是不会变的。
3)调用方式。接口的调用方式:Post/Get方式,决定了如何调用接口及传递参数。
4    参数。接口需要传递的参数,参数需要增加些儿说明:
a 参数值类型说明:参数值要说明一下,只支持字母,数据,特殊字符或是字母数据混搭。
b)参数长度说明:参数接收最大多少个的字符串,或是最大是多少的数值等。
c 参数取值范围:像枚举型的参数,只接收什么范围内的数据,如1-5等。
d)参数的配合说明:有些儿参数需要配合起作用的,如:offsetcount参数。
e 参数是必需的还是非必需的。
5)返回值。接口的返回值说明需要包含正确和错误的情况,正确的情况下有哪儿数据,错误的情况下会有什么提示?
6)其他的一些儿说明。上面的说明是通用的,还有其他的一些儿说明,如必须是登录状态调用,或是版本号等说明,在某些儿情况下也需要说明一下。
严格要求的公司会要求接口开发人员标明上面相关的接口说明,此时我们做接口测试的时候,就可以参照文档来转化我们的测试用例。但目前国内很多公司不太注重文档,接口信息不全是常有的事情。
1.3 接口文档缺失
   针对目前接口文档信息不全或是没有接口文档的情况下,如果上面的领导要求我们做接口自动化测试,这无异是一个非常艰辛的任务。但是奉承着“兵来将当,水来土掩”的原则,我们要想着解决办法。
1)完全没有接口文档。这个情况是最麻烦的,我们要找开发人员来商量 ,最好能补个接口文档,如果实在来不及那就给个调用接口的实例。实例中会有接口地址,参数等信息,我们去测试环境中调用一下,就能看到返回结果的情况。
2)接口文档信息不全。信息不全这个最常见,像参数说明缺少啊,没有说明哪些儿是必需的参数,哪些儿是非必需的,或是没有说明取值范围等。此时我们能问开发就问开发,如果不太方便,就要做尝试:一般非必需的参数不会做容错的判断,必需的参数检测的方面比较全面。
3)文档不是最新的。接口的后续的工作中被修改或是优化过,我们按接口文档上的说明去调用,返回和预期的不一样。通知开发更新文档,然后用最新的文档再去修改测试用例。
  这个接口文档需要和接口开发人员做好约定,开发新接口时要把接口信息写清楚,如果更新原来的接口,要及时更新接口文档。同时在写接口自动化测试用例的时候,要多和开发人员沟通,只有通过大家的一起努力,才能把工作做的越来越好。
2:接口测试用例设计关注点
接口的测试设计主要关注点
1. 接口中所有的入参都要写测试用例。
2. 每个入参的每个错误类型都要准备一个异常用例。如必须参数缺省、参数类型错误、参数范围错误、参数超过最大位数、参数没有达到最小指定位数、参数 的无效值(有效状态外)、参数的小数点超过规定长度、参数含有非法字、参数含有违禁字、参数的关联性检查(如所在省、市,所在地不匹配)等等。
3. 对于正常系的用例,要把所有入参的各种合法的有效值都执行到。所有入参的最大位可以用一个测试用例执行掉。所有可缺省的参数不要(只输入必须参数)的测试用例也要做一个。
4. 对于搜索接口,应该把每个参数单独作为搜索条件来确认搜索结果是否正确,然后再确认多条件输入后的结果。
        如下是部分参数的接口测试设计的截图:
7.png
  接口的测试代码的编写
        大家应该发现了对于所有的参数,我们都需要校验一下参数的基本特征,如前面讲到的异常用例一样。那么接口测试代码又是什么样的呢。
· step1: 编写测试基类(加载资源、初始化环境)(可选)。
· step2: 编写测试类。
· step3: 在该测试类中编写测试方法。
· step4: 在测试方法中调用被测方法。
· step5: 验证预期结果与返回的结果是否一致。
· step6: 执行测试查看测试结果。
        那么针对所有的接口测试用例写接口测试代码,可以看到的是,我们的接口测试代码主要是入参的不同,校验结果的不同,其他区域的测试代码都是一样的。我们要做的是不断的 copy 前一个测试用例代码,然后修改某个参数、修改某个验证点就搞定了。
8.png

分享本篇文章给更多人:


63.9K
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝0

帖子23

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注软件测试菁英教育

客服电话:17792550360

客服时间:9:00-21:00

卓目鸟学苑 - 专注软件测试菁英教育!( 陕ICP备20001493号-1 )

版权所有 © 西安菁英教育科技有限公司 2023-2026