本篇文章给大家谈谈接口测试难点,以及接口测试要考虑什么问题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享接口测试难点的知识,其中也会对接口测试要考虑什么问题进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
自动化测试难点解析:如何降低误报率?
随着自动化测试的深入推进,通过自动化测试运行的案例数量越来越多,执行错误全部由人工分析的方式已经不能满足接口自动化测试结果的分析需求。本文介绍一种基于缺陷知识库的接口自动化测试结果分析方法,通过接口测试结果模型化方法和基于错误码库、非缺陷知识库的错误归类分析方法,辅助测试人员高效实施大规模、多系统的接口自动化测试结果分析处理,降低自动化测试的误报率。
一、接口测试结果模型化
首先,我们需要将接口自动化测试的结果模型化,模型信息包括结果标志、错误码、错误信息和返回信息。在接口测试的过程中,从通讯级到应用级提取该模型数据,方法如下:
1、在平台执行接口测试的过程中,若出现任何程序未处理的内部异常,则结果标志为I,此时错误码、错误信息和返回信息均为空。
2、在常见的http通讯、tcp通讯、webservice通讯等通讯方法中,若无法正常通讯并获得预期的返回报文,则认为在通讯级发生异常,结果标志为U,此时错误码、错误信息均为空,通讯异常的返回信息存储在返回报文中。
3、在能够正常获取返回报文的情况下,被测系统往往会返回应用级处理是否正确的信息。若应用级处理错误,则还会返回错误码和错误信息。
(1)若应用级处理正确,则结果标志为N,此时错误码、错误信息均为空,返回信息存储返回报文。
(2)若应用级处理错误,则结果标志为E,错误码、错误信息存储在返回报文中,返回信息存储在返回报文中。
(3)为保障资金安全,重要金融交易一般存在双人复核或者远程授权的过程。如缺乏授权信息,被测系统将返回“需要授权”的信息,则结果标志为A,错误码、错误信息均为空,返回信息存储在返回报文中。
4、在实际实施组织级接口测试覆盖时,一些存量系统未在公有域特定字段返回应用级处理结果。此时,自动化测试平台将进行通讯级结果判断,若正常通讯并获得预期的返回报文,则结果标志为N,此时错误码、错误信息均为空,返回信息存储在返回报文中。
二、基于错误码库、非缺陷知识库的错误归类分析方法
基于接口测试结果的模型化数据,可以通过建立错误码库和非缺陷知识库,对大规模接口回归测试的结果进一步分类、分析。对于被测应用系统,可以由用户在自动化测试平台建立错误码库,对标志为E的接口测试结果,通过以下三种匹配方式进行细分:
1、精确匹配:对于有固定错误码和错误信息的应用系统,可以采用精准匹配方式,完成错误码库与接口测试结果模型的匹配。
2、错误码模糊匹配:适用于能够从固定字段输出错误信息,但没有固定字段返回错误码或者错误码定义不规范(如错误码是中文信息)的被测系统。此类系统错误码和错误信息由测试人员自行定义,每类错误码需设计匹配表达式,通过正则匹配的方式实现错误归类。
3、返回报文模糊匹配:适用于返回错误信息无固定字段的被测系统。此类系统错误码和错误信息由测试人员自行定义,每类错误码也需对应设计对应的匹配表达式。
在接口测试中,由于被测系统配置错误、被测系统铺底数据异常等问题而出现的错误并非本次测试结果中需重点关注的内容。对于此类错误,将错误码库中的对应错误条目增加标志位,即可纳入非缺陷知识库。
三、接口测试结果归类分析方法
基于接口测试结果模型化和错误码库、非缺陷知识库,将接口测试的结果分类分析,输出概要表和错误分类表。
概要表如下:
执行错误的交易将进一步处理为错误明细表,如下:
利用该分析结果,测试人员可重点关注结果类型为“执行错误”的分类,确认为缺陷的应提交给开发人员修复。对于“执行错误非缺陷”的分类,则往往不是被测系统自身缺陷导致的报错。通过这种方法,为测试人员提供“智能”分析结果,辅助测试人员快速完成对自动化测试结果的判断和分析。
robotframework基于重定向的接口测试
在平时接口测试过程会存在一些重定向的接口(状态码为302),比如某些登录的接口需要一次甚至多次的重定向才能实现最终的登录,这样的情况下,我们就需要对这多次重定向的请求进行分析,分析这些请求的联系,以便在调试的时候摸清规律。针对登录接口的情况,主要关注下前后几个接口的联系,主要关注以下内容:Response Headers,Request Headers 、以及接口的返回内容,关注前面接口的Response header 和返回内容是否与下面接口的 Request Headers存在联系。
对于登录接口而言,一般情况下以上三者多少会存在点联系,这我们就需要借助抓包工具进行观察,个人偏好fiddler,可以比较清楚的看见重定向接口之间联系。
在调试过程中主要用到的库RequestsLibrary,YamlLibrary、Collections以及String等Python的第三库。
对于需要多个重定向接口才能实现的登录状态,主要的难点在于如何在调试过程抓到重定向接口的Response Headers。对于fiddler等的抓包而言,只要在登录界面进行一次登录就可以看到完整的接口重定向过程以及各个接口的Response Headers。但是在RF中,在注意的情况下直接调用登录接口是不可能实现的。在调状态码为302的接口时,RF执行的结果也是重定向至下一个接口,即返回码为200。
针对上述的情况,RequestsLibrary库提供了Get Request 关键字可以对重定向接口进行操作以及取Response Headers。在使用Get Request 关键字时,最需要注意的是重定向的参数,需要将参数设置为false,调用结果的状态码为302,即在调试的时候不会发生跳转。
默认情况下allow_redirects为none,在重定向去情况下传入的参数须为false。
具体使用如下所示:
在传入${false}时,可以使用evaluate 关键字对${false}进行初始化
在传入${false}时,有可以不用进行初始化,直接传allow_redirects=${false}。
在调302接口之后,需关注下接口Response Headers的Location部分,一般Location的URL都是重定向的地址,可以用${addr.headers['location']}进行跳转地址的提取,这部分的URL一般都会包含跳转的地址和参数,取出URL即可再用RF针对此URL进行请求,若是多个302的重定向接口之后才会实现登录,只需按照上面所述的多次进行即可。
总结:利用RF调用重定向接口,主要技巧是在于如何对重定向进行拦截,若是对allow_redirects参数不进行设置进行直接调用接口,则会直接跳转至重定向之后的接口,则很难抓到接口之间所需要的联系。其次,对于多个接口实现登录的,则需在调用之前了解接口之前的联系,一般情况下上一接口的Response Headers 以及返回内容和下一接口的Request Headers、请求参数或者请求地址存在某种联系,具体的阐述不在此再进行展开说明,根据实际情况而定。
jmeter 接口测试怎么实现126邮箱登录
首先先操作几次,用Fiddler抓取请求顺序,自己琢磨一下每个请求的作用。
然后用Jmeter按照顺序发送请求。
对每个请求进行参数化,关联等操作。
如没有126邮箱的接口文档,难度很大,观察了一下,存在以下几个难点:
如何通过验证码(get.json / check.json)
登录接口密码对称加密处理。
关于接口测试难点和接口测试要考虑什么问题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
接口测试难点的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口测试要考虑什么问题、接口测试难点的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~