首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯TMQ在线沙龙回顾|接口测试用例设计

腾讯TMQ在线沙龙回顾|接口测试用例设计

作者头像
腾讯移动品质中心TMQ
发布2018-04-02 14:46:06
1.4K0
发布2018-04-02 14:46:06
举报

活动介绍

TMQ第四十期在线沙龙分享活动圆满结束啦!

本次分享的主题:接口测试用例设计

共有470位测试小伙伴报名参加活动。

想知道活动分享了啥吗?

请往下看吧!

嘉宾

刘燕:腾讯高级测试工程师,目前主要负责手机管家产品的测试。在用例设计、协议测试、安全测试、白盒测试、接口测试等方面积累了丰富的经验。

分享主题

接口测试用例设计

问答环节

1、接口测试是否有必要测试人员阅读源码,再根据源码设计测试用例?

答:最好可以阅读源码,这可以帮助测试人员更好的了解被测系统和程序实现。还有一个额外收益:测试在阅读源码(CodeReview)的时候也可以发现一些缺陷。我们可以根据源码来设计测试用例,同时,测试人员也需要特别注意避免被开发的思维限制,也需要跳出源码,从黑盒测试的角度出发,去设计和思考用例。

2、异常的测试有必要做那么多吗?

答:一些情况下异常测试是非常必要的,而在一些情况下的确是不需要这么多。

例如,在游戏测试中,客户端和后台的接口,需要要做充分的异常测试。协议通常有加密,但是因为游戏有利益可图,总有一些人去破解(协议都是可被破解的,只是时间和成本问题),那么一旦破解,就可以绕过客户端直接访问后台接口,如果后台逻辑有漏洞,就有利可图了。因此在很多游戏中,需要保证后台逻辑的健壮性。还有,一些提供给外部使用的接口,也需要做好异常测试,因为你不清楚调用者会怎么使用,那么作为一个可靠的提供方,保证自己的稳定和健壮是非常有必要的。另外一些情况,可能这些异常是外部无法触发的,那么这种情况下,异常问题就没有那么高的优先级去解决。

测试中,通常需要去权衡测试成本和产品质量,找到一个平衡点。

3、接口测试可以完全脱离客户端界面而进行测试吗?

答:是可以的,因为接口测试测试对象是接口,当然客户端也可直接访问接口的,但还有些接口是程序内部调用的,客户端无法直接访问。接口测试通常需要一些工具辅助或自己编写测试工具,或测试代码等,便捷地调用和访问被测接口,方便我们的测试。

4、接口参数化测试有什么优秀的工具或者框架可以使用吗?

答:接口参数化,内部有些工具有类似功能,但很多时候不能完全满足所有需求(有些需求比较个性化)。业界比较通用的工具和框架,暂时不是很清楚。从理论上讲,清楚了参数化的规则,根据常见的需求实现参数化工具,应该不是问题。

5、接口用例维护在哪里?自动化接口测试用例是否复用?

答:接口用例的形式大致可分为三种:手工、半自动化、全自动化。

手工执行的用例和我们平时的用例相似,需要手工操作,维护和保存文字形式的测试用例,下次测试还需要手工执行。

半自动化的用例通常有相关代码或其他形式的存储,但测试时还需要人工介入。

自动化的用例在回归时可以直接执行,也可以每天去执行,这部分通常是可以完全复用的。

6、接口测试断言时,需要与数据库记录比对吗?

答:接口测试中,测试一个接口的时候预期得到什么结果,设计的时候是清楚的。这个预期结果可能是返回成功或某个错误码;可能接口需要对某个数据进行操作,那么这个时候接口测试也是同时需要验证数据的正确性,这种情况就需要校验数据(校验数据库或者数据存储)。其他需要检查的预期也是类似,在接口测试时同时检查。

7、项目中接口测试的流程是什么样的呢?在什么时间段进行开发,在什么时间段进行测试呢?和功能测试的比例分配是怎么做的呢?

答:项目中,接口测试可以比传统功能测试更靠前。开发的接口设计好,那么测试就可以着手准备和编写接口测试用例了。接口开发完成,接口测试就可以执行测试了,并不需要等到整个模块完成。理想状态下,接口测试是和开发并行的。

接口和功能测试的比例,这个要看具体情况。例如有些模块通过传统方法难以验证,而接口测试会非常方便,那么接口测试比例就可以很高,达到9:1甚至更高;有些模块可能传统测试手工就可以很方便地验证,而接口测试需要付出更高的成本,那么传统功能测试占比适当高些。

8、有回调函数的接口怎么来测试?

答:猜测可能是这种问题:调用完被测函数,直接断言,可能回调还没有被执行,因此用例可能会失败。这个问题其实是如何将异步调用转成同步,常见的方法是:

(1) 阻塞线程运行,防止过早断言;

(2) 异步回调中唤醒线程;

(3) 异步回调执行完毕,线程继续,此时再进行断言。

9、主讲人介绍的接口测试与开发所做的单元测试区别在什么地方?

答:接口测试的测试对象是接口,单元测试指对软件中的最小可测试单元进行检查和验证。从概念上来讲,接口测试比单元测试更广泛。单元测试的测试单位通常是函数,也就是说广泛意义的接口测试,包含了单元测试。接口测试用例设计思想不单单是针对接口的功能,还需要考量跟接口相关调用者或者多个接口交互;单元测试用例可能更多的是针对该函数内部处理逻辑。接口测试通常是测试人员来进行,单元测试更多是开发来进行。

10、已废弃的接口不维护 那么旧版本无法兼容怎么办?

答:已废弃的接口,指之前有使用,由于一些原因不再使用的接口。一些情况下确实还需要考虑旧版本兼容的问题,这种情况通常的处理方式有几种:

(1) 旧版本不支持继续访问,提醒用户升级版本;

(2) 接口请求时判断版本号,只有特定的版本才能访问。

沙龙视频

视频内容

手机扫码下载PPT

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 腾讯移动品质中心TMQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档