测试思想-集成测试 关于接口测试 Part 2
关于接口测试
by:授客 QQ:1033553122
------------------接Part 1----------------------
5.
用例设计思想(举例说明)


如上表,是某个接口说明文档中的一个接口,课程检索,其中“v1/Lesson/testsrch/?”
为接口调用地址,此外,还给出了接口函数输出(即Server
Response)及返回值。
问:怎么设计?
答:思路应该是这样的
1.理解需求
客户需求->业务需求->测试需求,对接口测试用例设计也不例外。拿到接口,首先要明白这个接口的主要功能是做啥用的,调用它可实现什么业务。如上述,接口功能:课程检索
2.理解接口参数
对每个参数都要明白它们各自的含义。除了接口文档上简单的说明,还必须理解它真正的作用。按我个人观点,要想更好的理解接口参数,则应该多站在操作流程(或业务流程)及场景上进行考虑,尽量把对应操作数据或输入步骤映射到接口函数。
举例:
场景(操作流程),通场,对于数据查询类操作:输入关键词,然后点击查询,如图


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

说明:实际中往往没有提供产品demo或者需求说明书,这个时候就要结合我们个人的经验或者生活经历来思考了,如果有更好了。
好了,回过头来看接口参数,这时就很清晰了
k
string
检索的关键词,拿上图说,就是我们输入的查询内容“接口测试”
pageIndex int
当前页码,那上图来说,我们知道它有个很重要的作用就是翻页
pageSize
int 每页数量,上图虽然没提供页面容量设置,但是实际也隐藏了每个页面展示的记录条数
3.关注接口输出
仅关注接口参数的输入还不够,还应该关注接口的输出,特别是输出结果不唯一的时候:如下课程检索输出。


4.寻找测试点
记住,
一、主要是基于步骤2(输入)、步骤3(输出)的
根据步骤挖掘测试点和测试数据
举例:
测试点:查询内容k(类型>中文,英文大小写,数字,特殊符;长度>是否字数限制;是否可为空>不输入,即””;查询内容存在;查询内容不存在)
测试点:页面翻页pageIndex(当前页,非当前页,不存在的下一页,不存在的上一页,如果提供手动输入页码,然后跳转,还得考虑负数等容错)
测试点:页面展示记录数设置(默认;限制每页展示记录数;翻页至不存在页面)
测试点:对资源的处理输出(视频解码;审核;删除;是否精品推荐判断)
二、其次依据接口参数本身
1、类型->能否传递类型不符的参数值;
个数->能否不传递某些参数;
类型->能否传递类型不同的参数,比如要求是int,你传入string类型的或者要求string类型的,你要求传入int
类型值>能否传递超过参数类型能容纳的值,比如有符号int的范围是-32768~32767,而无符号0~65535,那传递个65536会咋样呢?
注意:
1、一和二中有些是交叉的,他们的关系是互补关系
2、要知道测试是不能穷尽的,要时间成本投入的,如果每个参数每种情况都要细致测的话是要花很多时间的。所以,要折中考虑,考虑测试数据是否意义,适当的取舍,特别是时间有限的情况下。
5.根据测试点设计用例
这个和功能设计用例一样。合理安排优先级,先设计常规用例,典型操作流程,典型业务场景用例,然后设计异常容错等用例。






6.测试方法
功能测试用例设计方法都适用
测试思想-集成测试 关于接口测试 Part 2的更多相关文章
- 测试思想-集成测试 关于接口测试 Part1
关于接口测试 by:授客 QQ:1033553122 接口定义 接口泛指实体把自己提供给外界的一种抽象化物,用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式. 举例 ...
- 测试思想-测试设计 史上最详细测试用例设计实践总结 Part2
史上最详细测试用例设计实践总结 by:授客 QQ:1033553122 -------------------------接 Part1-------------------------- 方法:这里 ...
- 使用JMeter3.0实战之分布式并发测试以及web API接口测试
简介: 该文档是以Apche JMeter-3.0为例进行编写的,通过网上的学习资料和官方文档的说明手册学习后,进行项目操作实践,将测试的过程记录下提供给大家学习. 本博文的内容主要是进行配置JMet ...
- MockServer的测试思想与实现
转载:http://blog.csdn.net/shen1936/article/details/50298901 背景 什么是MOCK Mock的定义 Mock框架简介 Mock在单测中的应用 De ...
- ember.js:使用笔记8 加载测试与集成测试
emberjs使用的测试工具为qunit.js: 加载:将runner.js添加到Index.html:大致内容: if (window.location.search.indexOf("? ...
- 测试思想-流程规范 SVN代码管理与版本控制
SVN代码管理与版本控制 by:授客 QQ:1033553122 欢迎加入软件性能测试交流群(QQ群):7156436 目录 一. 二. 三. 四. 五. 六. 七. 一. 创建根目录 创建一 ...
- 测试思想 QA的价值体现
QA的价值体现 by:授客 QQ:1033553122 1. 缺陷挖掘价值 QA人员一个很重要的价值就是在尽可能短的时间内找出尽可能多的缺陷. 某种意义上说,缺陷直观的反应了产品的质量,QA发现的有 ...
- springboot-32-使用mvc测试
Spring Boot可以和大部分流行的测试框架协同工作:通过Spring JUnit创建单元测试:生成测试数据初始化数据库用于测试:Spring Boot可以跟BDD(Behavier Driven ...
- Spring Boot应用的测试——Mockito
Spring Boot应用的测试——Mockito Spring Boot可以和大部分流行的测试框架协同工作:通过Spring JUnit创建单元测试:生成测试数据初始化数据库用于测试:Spring ...
随机推荐
- 分布式任务调度系统xxl-job相关问题补充
搭建xxl-job时可能会遇到的问题 邮箱配置不起作用报异常 以163邮箱为例,接收邮件需要开启POP3/STMP服务 光开启服务还不够,需要添加授权码 授权码为手动输入,可以与登录密码不同,所以服务 ...
- location-alias
location /images/ { alias /project/pic/; } 给定的路径对应于location的"/url" 这个URL; /images/f.jpg -- ...
- ArrayList源码解读笔记
简介: ArrayList是我们开发中非常常用的数据存储容器之一,其底层是数组实现的,我们可以在集合中存储任意类型的数据,ArrayList是线程不安全的,非常适合用于对元素进行查找,效率非常高. 线 ...
- 构建NTP时间服务器
NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高的必须统一时间. 互联网的时间服务器也有很多,例如ntpdate ntp. ...
- IIS服务器多站点 的 https证书使用443端口 解决方案
默认情况一个服务器的IIS只能绑定一个HTTPS也就是443端口 要实现多个站点对应HTTPS只能更改IIS配置 首先把每个站点分配个不同端口,如443.444.445…(证书一定要是多域的) 然后重 ...
- 剖析QMenu & Qt完全定制化菜单
贴张效果图: 定制包括: 1. 周边阴影 2. 菜单项的元素(分割符, 控制ICON大小, 文字显示位置与颜色, 子菜单指示符) 菜单内的效果, 部分可以使用stylesheet实现, 但要做到这样 ...
- Python基础之带你快速掌握列表的常用方法
append 前面说过列表是一种 内容可改变的 对象. append方法就会改变列表的内容,在后面添加一个元素 比如 a = [1, 2, 3.14, 'hello'] # append 之后,a就变 ...
- 从零开始学 Web 之 ES6(六)ES6基础语法四
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- bootstrap3中container与container_fluid的区别
.container与.container_fluid是bootstrap中的两种不同类型的外层容器,按照官方的说法,这两者的区别是: .container 类用于固定宽度并支持响应式布局的容器. . ...
- 线段树(segment tree)
线段树是一种二叉搜索树,它的每一个结点对应着一个区间[L, R],叶子结点对应的区间就是一个单位区间,即L == R.对于一个非叶子结点[L, R],它的左儿子所表示的区间是[L, (L +R)/2] ...