本篇文章给大家谈谈接口缓存测试用例,以及接口缓存测试用例分析对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享接口缓存测试用例的知识,其中也会对接口缓存测试用例分析进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
Apifox写接口自动化测试用例总结-2
下面从以下几个方面来进行总结:
1.设置环境
2.设置变量
3.自定义脚本写法
4.python脚本调用
在界面的右上角,是 环境管理 的入口,选择管理环境后进入。
可以在左侧新建或删除环境,右侧可以对某个环境进行编辑。
如果在系统测试时需要多个系统来测试,可以在添加默认服务的基础上,再添加其他系统的URL,在编写对应的接口时,手动选择对应服务信息。
根据需要,可以在页面右上角,快速切换为你所需要的环境。
打开环境管理(软件右上角设置形状的按钮),选择全局变量 tab。
1.添加一个名为my_variable的变量,将本地值设置值为hello,点击保存。
2.打开一个接口,在运行 tab (或接口用例)的参数值里输入{{my_variable}}即可引用该变量。
3.点击运行按钮,发送请求,实际运行的时候系统会将{{my_variable}}替换为hello,然后发出请求。
本地值和远程值的区别:
1.所有使用到变量的地方,实际运行的时候都是读写本地值,而不会读写远程值。
2.本地值仅存放在本地,不会同步到云端,团队成员之间也不会相互同步,适合存放token、账号、密码之类的敏感数据。
3.远程值会同步到云端,主要用来团队成员之间共享数据值。
4.注意:由于本地值仅存放在本地,使用一些清理软件清理 Apifox 文件缓存会导致本地值被清空,请务必注意。
变量类型:
1.环境变量是最常用的变量,同一个变量可以在不同的环境设置不同的值,变量值会跟随环境切换而改变。环境变量在环境管理模块设置
2.全局变量 使用方法类环境变量类似,但全局变量不会跟随环境切换而改变。
3.临时变量 仅在单次运行接口用例或测试管理里的测试用例或测试套件过程中有效,不会持久化保存。
使用方式:
以下两个环节可添加脚本:
在将请求发送到服务器之前,使用前置脚本。
收到响应后,使用 后置脚本(断言测试)。
接口请求的执行流程如下:
[全局前置脚本] - [分组前置脚本] - [接口前置脚本] - [发送接口请求] - [返回接口结果] - [全局后置脚本] - [分组后置脚本] - [接口后置脚本]
调试脚本:
调试脚本可以在 前置脚本 和 后置脚本里编写,使用console.log('hello')方式将调试信息写入控制台,打开 控制台 即可查看。
使用python进行前置脚本编写:
第三步:python环境变量配置完成后重启电脑和apifox
第四步:前置脚本编写
接口测试怎么才能做好?
这个问题还是从需求、测试用例设计、执行来说吧。
A.需求
首先要了解这个接口提供的服务的需求定义,那么我们就知道大概测试的结果是啥。同时理论上要先提供接口规范,方便后续测试,以及给调用者联调的一个文档约定。
B.测试用例设计
根据测试的接口规范,基于业务进行场景设计,再结合边界值设计方法、等价类划分等常用设计方法进行用例设计。
1.设计的方向是常规的测试用例设计:协议规范测试、接口入参、接口出参。
协议规范测试:比如HTTP协议:URL地址、Header测试。不过一般情况下,默认调用者按照接口规范正常调用。这个不用过于详细测试。
2.接口入参:参数个数测试(注意是否必传字段),参数值测试(为空、正常值、非法值等,以及首尾有空格是否过滤)。
3.接口出参:至少涵盖一条成功的响应和一条失败的响应,当然我们测试出更多错误码,我们的覆盖率也就更全面。
4.业务场景用例: 这个需要你对于这个接口的业务的了解程度,而且这是最重要的部分。
比如中间使用了缓存服务(第一次缓存没有,是不是直接读数据源,并存入缓存;第二次直接读取缓存是否正确);
比如需要考虑请求外部的接口获取相应的信息的时间损耗(连接不上外部接口,外部接口下线了,外部接口响应太慢);
C.测试用例执行
1.需要你对接口协议有一定的了解,选择适当的开源工具(如postman)或者自己编写脚本进行模拟请求。
2.需要熟悉接口所使用的中间件等知识(比如redis、kafka、mysql数据库)。
3.需要模拟外部接口返回给你现在正在验证的程序的接口。(比如扣费业务,你不可能每测一个业务,就去调真实扣费)。
是web开发接口吗?建议使用Postman
一、什么是接口?
接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。
二、 常用接口采用方式:
1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有apipost、jmeter、loadrunner等;
2、http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和
post等方法,这也是最常用的两种请求方式。可以使用的工具有apipost、jmeter、loadrunner等;
三、前端和后端
前端:网站前端是对网页静态页面的设计,通俗的来说,就是我们肉眼能看的到的东西,当我们浏览网站的时候所看到的页面上的内容几乎都是属于前端,前端的工作就是网站页面,静态的页面是没有后端成分的,前端主要包括html和css外加js等一些样式和布局。
后端: 网站的后端就是动态网站的技术,比如网站上的一些注册登录和一些弹窗,这些都是后端的逻辑,常用的后端语言有php,jsp等,后端的数据库也包含myspl等,都是对后端进行存储数据。
四、 接口测试概念
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等(通俗来说就是,检查业务逻辑是否满足业务需求,校验字段是否正常你实际结果是否满足预期)
五、 接口的组成:
a、接口说明
b、调用url
c、请求方法(getpostput等)
d、请求参数、参数类型、请求参数说明
e、返回参数说明
六、为什么要做接口测试,接口测试的目标
接口其实app和前端交互用的,所以好多人问,为啥做功能测试还要测接口,目标是啥不是多此一举吗?首先我告诉大家,这种想法是错误的
那么举一个例子:
例如一个登陆接口,例如产品上规定用户名6-10个字符数字下划线,但后端没做判断。但我们业务人员测试肯定验证,但只是前端做了校验,后端压根就忘了这个小需求.那么后果来了如果一个懂的直接抓包去篡改你的接口,然后绕过校验,通过sql注入直接随意登录。如果你这是一个下单业务,是不是给公司造成了很大损失
所以此时此刻接口测试目标来了:
1.可能发现客户端没有发现的bug(那么也叫隐藏bug)
2.及早爆出风险(保证质量正常上线)
3.接口稳定了,前端随便改
4.最重要检查系统安全性,稳定性
七、如何进行接口测试
1.使用接口测试工具进行测试,接口测试和接口文档生成工具apipost,接口测试和性能测试工具jmeter
2.接口状态码表示含义
例如:200(成功)/300(重定向别的地方)/400(请求语法错误)/500(服务器异常)
测试点:
B. 参数组合(传入不同值)
C. 接口安全(绕过验证/绕过身份验证/参数是否加密等)
D. 异常验证(输入异常参数边界值)
练
怎样监测手机app的各顶端数据
1.1 接口协议测试
在APP客户端开发设计时,一般服务端会提供相应的接口协议文档,接口协议文档的质量,决定
接口缓存测试用例了APP的开发进度。此部分的测试,应首先检测接口的完整性, 根据APP需求,检查是否所有数据都有相应的接口返回;其次正确性验证,验证返回的接口信息是否正确,提示代码是否符合要求;第三:可采用Postman 等工具,对设计的测试用例进行测试。
1.2 易用性测试
易用性测试可分为UI原型和高保正图检测和APP测试。UI原型和高保真图可通过评审会议的形式检测;APP易用性是APP开发完成之后,可发布Beta版给公司内部员工或客户,并收集使用者的反馈信息。
1.3 功能测试
APP的开发模型一般为敏捷开发模型,所以测试也应是敏捷测试。测试过程
接口缓存测试用例我设计为三个阶段(1)冒烟测试(2)探测性测试-用例(3)回归测试; 首先对每个提交的功能模块快速进行冒烟测试,到可组合成完整功能模块时,进行探测性测试,当所有功能模块完成之后,进行相应的系统测试。若是运营级的产 品,可适当利用Robotium等自动化工具实现功能自动化测试。
1.4 终端适配测试
因为手机操作系统类型,版本较多,生产厂家也五花八门的,所以对手机APP进行终端适配测试决对是个体力活。对这部分的应试,应选择一定的策略,我一般分内部测试、云测试和用户测试三方面进行,具体如下:
1.5 性能测试
手机APP对平台的性能要求较严格,若存在性能问题,可能会出现严重的Crash问题,因此,对APP进行性能检测试很有必要的。进行性能测试时,我们 可分五个阶段进行(1)Monkey压力测试,(2)手机内存泄漏检测,(3)手机CPU使用率检测,(4)手机缓存检测,(5)服务器性能测试。
1.6 网络测试
此部分测试,主要目的是发现各业务模块的业务流量,当添加第三方管理模块时,是否大量增加流量,可通过Sniffer+虚拟机工具进行检测。
1.7 其
接口缓存测试用例他测试
输入参数测试:针对输入的参数进行测试,也可以说是假定接口参数的不正确性进行的测试,确保接口对任意类型的输入都做
接口缓存测试用例了相应的处理:输入参数合法,输入参数不合法,输入参数为空,输入参数为null,输入参数超长;
功能测试:接口是否满足
接口缓存测试用例了所提供的功能,相当于是正常情况测试,如果一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例具有更好的可读性和维护性。
逻辑测试:逻辑测试严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试界限并不是那么清楚,所以我们也可以从给出的设计文档中考虑内部逻辑错误的分支情况和异常;
异常情况测试:接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何的异常都进行处理。
python中的testresult怎么用
TestResult方法介绍
1. printErrors
作用:被TestRunner在执行玩测试内容的时候调用,打印错误信息,默认不输出任何信息
输入参数:无
输出参数:无
返回值:无
2. startTest(self, test)
作用:在每个测试条目执行测试之前被调用,将测试条目个数加一,设置_mirrorOutput为False ,最后根据buffer参数,设置 sys.stderr 和sys.stdout,
输入参数:test 测试用例类的实例化对象
输出参数:
返回值:
3. startTestRun
作用: 在runner开始执行测试用例之前被调用,默认不执行内容,和startTest不同,startTest是在Testcase子类调用。
输入参数:无
输出参数:无
返回值:无
4. stopTest (self, test)
作用: 在测试用例执行测试条目之后被调用,如果处于buffer状态,并且mirrorOutput为真,即测试条目执行失败或异常,则将原来缓存的数据进行输出。然后将缓存数据清空,并_mirrorOutput置为False
输入参数:test 测试用例类的实例化对象
输出参数:无
返回值:无
5 stopTestRun
作用: 在runner执行完所有的测试用例后被调用,默认不执行内容,和stopTest不同,stopTest是在Testcase子类调用。
输入参数:无
输出参数:无
返回值:无
6. addError(self, test, err)
作用: 在测试用例类执行完测试条目错误或异常后被调用,
输入参数:test 测试用例类的实例化对象
Err 是根据sys.exc_info()返回的对象, 是一个三元组,(exctype, value, tb) exctype是异常类型,value 是具体的异常数据,tb 是traceback的内容
输出参数:无
返回值:无
7. addFailure(self, test, err)
作用:在测试用例类执行完测试条目失败后被调用,,默认不执行内容,和stopTest不同,stopTest是在Testcase子类调用。
输入参数:test 测试用例类的实例化对象
Err 是根据sys.exc_info()返回的对象, 是一个三元组,(exctype, value, tb)
exctype是异常类型,value 是具体的异常数据,tb 是traceback的内容,如果处在buffer
为真的情况下,还还会将当前的sys.stdout 和sys.stderr的内容也一并合并保存在failture的成员变量列表中的字符串内容中。
输出参数:无
返回值:无
8. addError (self, test, err)
作用:在测试用例类执行完测试条目失败后被调用,,默认不执行内容,和stopTest不同,stopTest是在Testcase子类调用。
输入参数:test 测试用例类的实例化对象
Err 是根据sys.exc_info()返回的对象, 是一个三元组,(exctype, value, tb)
exctype是异常类型,value 是具体的异常数据,tb 是traceback的内容,如果处在buffer
为真的情况下,还还会将当前的sys.stdout 和sys.stderr的内容也一并合并保存在error的成员变量列表中的字符串内容中。
输出参数:无
返回值:无
9. addSuccess (self, test)
作用:在测试用例类执行完测试条目成功后被调用,,默认不执行内容
输入参数:test 测试用例类的实例化对象
输出参数:无
返回值:无
10. addSkip( self, test, reason):
作用:在测试用例类执行的测试条目被skip后被调用,将该条目添加到 skipped 列表中
输入参数:test 测试用例类的实例化对象 reson 是skip的原因
输出参数:无
返回值:无
11. addExpectedFailure (self, test, err):
作用:在测试用例类执行的测试条目期望的失败发生后被调用,将该条目添加到expectedFailures列表中
输入参数:test 测试用例类的实例化对象 err是 该失败的情况
输出参数:无
返回值:无
12. addUnexpectedSuccess (self, test):
作用:在测试用例类执行的测试条目期望的失败发生后被调用,将该条目添加到expectedFailures列表中
输入参数:test 测试用例类的实例化对象 err是 该失败的情况
输出参数:无
返回值:无
13. wasSuccessful
作用:通过判断failures和errors列表是否为空,判断所有测试条目是否执行成功
输入参数: 无
输出参数:无
返回值:无
14. stop
作用: shouldStop设置为True,用于终止测试
输入参数: 无
输出参数:无
返回值:无
15. _exc_info_to_string (self, err, test):
作用: 将err 异常数据整理成字符串,并且如果有buffer为真,将sys.stdout 和sys.stderr的数据也添加到返回的字符串中
输入参数: 无
输出参数:无
返回值:字符串
16. _is_relevant_tb_level(self, tb):
作用: 将err 异常数据整理成字符串,并且如果有buffer为真,将sys.stdout 和sys.stderr的数据也添加到返回的字符串中
输入参数: 无
输出参数:无
返回值:字符串
17. _count_relevant_tb_levels(self, tb):
作用: 获取traceback的层次数
输入参数: 无
输出参数:无
返回值:traceback的层次数
18, __repr__
作用: 返回一个显示测试项执行的数目以及测试失败的条目和异常的条目的个数。
输入参数: 无
输出参数:无
返回值:字符串
注释:
addError和addFailure 以及
addUnexpectedSuccess 函数 都有装饰器@failfast,有了该装饰器,则在实际调用 上述三个函数的时候,都会被封装一层 ,额外添加的功能就是会被用在发生错误或失败的时候停止测试。
def failfast(method):
@wraps(method)
def inner(self, *args, **kw):
if getattr(self, 'failfast', False):
self.stop()
return method(self, *args, **kw)
return inner
关于接口缓存测试用例和接口缓存测试用例分析的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
接口缓存测试用例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口缓存测试用例分析、接口缓存测试用例的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~