29、OSPF配置实验之被动接口
1161
2022-11-06
本文目录一览:
接口测试发现的典型问题:
(1)传入参数处理不当,导致程序crash;
(2)类型溢出,导致数据读出和写入不一致;
(3)因对象权限未进行校验,可以访问其他用户敏感信息;
(4)状态处理不当,导致逻辑出现错乱;
(5)逻辑校验不完善,可利用漏洞获取非正当利益等。
用例设计:
1:入参类型:
数值型 :
如果参数规定了值的范围,则需要考虑等价类取值范围内、取值范围外,取值的边界,如有需要,可能会遍历取值范围内的各个值。
类型的特殊值:-1,0
数据类型的边界值:int的最小值最大值;
特殊值处理不当导致程序异常退出;
类型边界溢出
取值范围外值未返回正确的错误信息等
字符串型:
字符串型的参数,主要考虑字符串的长度和内容:
特殊值:空字符;
边界值:String的最大长度;
字符串内容可考虑类型:数字,非数字;
特殊字符。
超长字符未进行处理,导致存储、显示等异常
数组或链表类型
参数类型为数组或链表时,用例可以考虑:
例如批量提交任务的接口submitTask(int[] taskID),参数用例设计考虑:
正常取值:1-5个权限,范围外:6个权限;
边界值:1-35的边界值,请求允许最大最小值;
特殊值:0个;
合法ID和不合法的;
重复的ID等。
可能存在的问题和风险:
0个item时程序异常退出;
重复的item处理时未去重导致结果异常等。
2:针对逻辑设计
约束条件分析
(1)数值限制:分数限制、金币限制、等级限制等等。
例如:兑换Q币活动要求积分50才可参与。
(2)状态限制:登录状态等。
例如:同步用户信息需要先登录账号。
(3)关系限制:绑定的关系,好友关系等。
例如:帮家人防骗功能只能查询绑定家人的来电信息。
(4)权限限制:管理员等。
3: 针对输出结果
接口处理正确的结果可能只有一个,但是错误异常返回结果有很多情况很多值。如果知道返回结果有很多种,就可以针对不同结果设计用例。例如提交积分任务的时候我们通常能想到的是返回正确和错误,错误可能想到:无效任务,无效登录态,但是不一定能否完全覆盖所有错误码,而接口返回定义的返回码可以设计更多用例:
覆盖返回码也是用例设计的一种思路。
常见问题和风险:
(1)错误前端处理不足,导致前端异常;
(2)错误提示处理不当,导致用户看到晦涩的错误码;
(3)错误提示不当,导致用户不知道哪里出了问题,如何解决。
4:接口超时
( 1)未进行超时处理,导致整个流程阻塞
(2)超时后又收到接口返回,导致逻辑出现错乱
在开始接口测试之前,我们想一下,接口测试的流程是什么?说到这里,有些人就会产生好奇和疑问,心里mmp:接口测试要什么流程哈???不就是参考接口文档,直接利用接口测试工具(例如jmeter和postman)测试。。。其实,如果一个project中,只是几个接口,你完全可以做临时的接口测试,但project可不止几个接口,少则几十条接口,多则成百上千接口。另外,如果你公司的这个项目,第一次做接口测试。而且古人说过:“无规矩不成方圆。”所以哈,我们还是有必要严格遵守接口测试的流程。
二、接口测试的流程
接口测试属于功能测试,接口测试的流程类似于以往的功能测试。接口测试的流程如下:
测试尽早找开发拿接口文档(需求文档);
根据接口文档编写测试用例(用例编写可按照以往规则写,比如等价类划分,边界值,场景法等设计方法);
执行测试,查看不同的参数请求,接口返回的数据是否达到预期

三、为什么要写用例
理清思路,避免漏测和重复测;
提高测试效率;
跟进测试进度;
更好的发现问题,记录问题,复现问题;
跟进重复性工作;
告诉领导:我做过;
接口测试流程中的一个产物(测试用例)
上面7点,有用例,自己心中有数,不用一个测试点重复测好多次,也避免漏测。
首先,选中一个已添加好的测试用例之后,然后进行点击执行,等待执行结果之后。在执行完成的结果中,选中需要断言的文字,右键文字后进行选中“add assertion” 弹出一个下拉菜单中,进行选择“for content”的选项。对弹出的断言的文字进行再次的确认的信息,可以错误的断言中,对其修改然后点击save。断言完成后就需要进行执行测试用例的结果,点击执行的按钮。执行结果完成之后,进行点击assertions,来查看执行结果。可以在执行的结果中看到显示为绿色表示执行结果成功的,如果执行结果是红色的,表示执行结果未成功。
1)必填字段:请求参数必填项、可选项
2)合法性:输入输出合法、非法参数
3)边界:请求参数边界值等
4)容错能力:大容量数据、频繁请求、重复请求(如:订单)、异常网络等的处理
5)响应数据校验:断言、数据提取传递到下一级接口...
6)逻辑校验:如两个请求的接口有严格的先后顺序,需要测试调转顺序的情况
7)性能:对接口模拟并发测试,逐步加压,分析瓶颈点
8)安全性:构造恶意的字符请求,如:SQL注入、XSS、敏感信息、业务逻辑(如:跳过某些关键步骤;未经验证操纵敏感数据)之前的黑马程序员软件测试公开课里面讲过,你也可以搜索黑马程序员视频库进行免费学习。
接口测试:
接口:主要是子模块或者子系统间交互并相互作用的部分。
这里说的接口是广义的,客户端与后台服务间的协议;插件间通信的接口;模块间的接口;再小到一个类提供的方法;都可以理解为接口。因此,可以分析,系统间的接口包含三部分:输入、处理逻辑、输出。
接口测试:是指针对模块或系统间接口进行的测试。
分析一个接口:
获取接口文档:和黑盒测试一样,我们是从需求文档中去挖掘测试点,设计测试用例。对于接口测试,同样是有对应的接口文档的。
分析接口文档,提取测试点:
1)输入:接受哪些参数、参数的类型、可选参数和必选参数等;根据输入参数采用等价类、边界值分析法等进行设计。
2)业务逻辑:对于一个接口,不同的输入参数或组合,流程或状态的转移是不同,可以根据业务逻辑画出流程图或状态转移图,确保每种状态至少被访问了一次。
3)输出:根据文档规定的输出,反向设计测试数据,使所有的输出状态都被包含了;
测试用例:同时对输入、业务逻辑、输出进行考虑时,肯定会存在用例的冗余,在最大限度覆盖业务功能和规则下,选取最优用例集合。同时,需要考虑异常数据和场景。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~