java接口自动化(二) - 接口测试的用例设计
1.简介
在这篇文章里,我们来学习一下接口测试用例设计,主要是来学习一些用例设计要点。其实说白了,接口用例设计和功能用例设计差不多,照猫画虎即可。不要把它想象的多么高大上,多么的难,其实一样,以前怎么设计,现在就怎么设计,和黑盒测试设计测试用例半斤八两。这里不再赘述,想详细了解的可以看一下Python的接口自动化用例设计。宏哥在这里,换一个角度来说接口测试的用例设计,首先我们看一下接口测试的范围。
2.接口测试范围
2.1功能测试:验证产品逻辑是否正确
功能测试是我们接口测试时候相当重要的一部分,接口的功能都没实现,后边的异常、性能就更加谈不上了。其实接口测试和在web页面、或者移动端操作那些按钮、输入框是一样的。按钮将绑定的参数通过接口传过去,而输入框是将你输入的参数通过接口传过去。接口测试是在产品还没有开发好按钮和输入框,你手动写参数通过工具或者其他方法传过去,验证是否可以得到期望的。
下边的这八种接口功能测试的8种方法和web页面的测试用例的设计方法一模一样的,这个都是测试的基础知识,不知道的自己可以单独查询一下各种方法的概念及其的用法。
2.2异常测试
null : 是开发过程中特定指的一个对象为空的端符,就是一个空对象,不指向任何内存地址
" " : 指一个空字符串,代表该对象有值,指向一个空地址
数据类型:例如我们有个年龄的字段要求传的是ini类型的值,我们给它传的是字符串。这就是数据类型异常。8中基本数据类型,我们传一个不符合规定的数据类型。
负载均衡架构:测试某一个后台(Tomcat 4)挂了,挂了之后 Tomcat4的请求会直接返回一个错误(前台1个nginx ,后台多个 Tomcat),测试是否会返回这个错误,能否会使用户访问失败;一段时间后,想让 Tomcat4 重新加入,判断能否重新加入集群中并正确处理所有请求。
冷热备份:冷备份不常见,热备份:前面有4个Tomca,后面有4个Tomca备份,如果Tomca4挂了,判断Tomca4的备份能否顶替之前的,仍然保持4个服务器存活;当Tomca4 正常后,判断能够成为Tomca4的备份。
1.3性能测试(狭义)
负载测试:我发了好多请求,看看能不能正常发出去,再看看服务器端能不能正常处理这些发过来的请求。
稳定性测试:比如我跑服务跑了好长时间,比如24h、一周等,看看能不能将程序压垮等等。
3.自动化接口测试范围
为什么在这里没有涉及到前边接口测试的环境异常和功能测试。在这里宏哥做了细分,这部分主要是有其他的测试负责的,比如:环境异常测试,一般需要我们协调和运维配合。需要他们把环境部署成和线上一样的架构,以及硬件、内存等等。由于各个公司的资源和重视不一样,但是最差了也得是等比例缩小的一个初始化的模型。这样做的接口测试才有意义。性能测试也可以自动化测试,这个也有专门的测试,当然了,你也可以进行一些简单的测试,如果你是全栈测试,那么这三部分你都精通那最好了。这里宏哥主要介绍的围绕的功能测试和数据异常测试。
4.自动化接口测试用例设计
这里宏哥通过具体实例说明一下。自动化接口测试原则:你能够把你设计的接口测试用例映射成一张表。因为映射成一张表你才可以更好的方便的操作,并且可以自动加载它。
4.1接口自动化用例设计示例:登录
环境异常测试时需要运维小伙伴配合测试的,此暂时不做描述
以常见的登录界面为例
输入:用户名:邮箱或者手机号码
输入:密码:6-16位的长度,区分大小写,不能用空格
首先,我们先要知道接口测试用例的规则,与功能测试用例不同,不需要描述测试步骤。我们需要描述id(序号)、目标URL、username、password、协议状态码(可写可不写)、程序状态码(开发返回成功的状态码)、返回内容(例如success)、实际结果、执行状态(自定义,例如0:失败。1:成功)。根据如上内容,可以把这个整理成一个表中,如上字段作为表头。按照正常数据和异常数据维护成Excel就可以。
数据异常:null、“”、特殊符号(&、*)
PS:红色框圈住的针对执行SQL时数据截断的情况。
select username,password from user where username = """ 中间的单引号将会截断,抛出异常。
设计用例表头时,将中文转换成英文,方便程序做映射时处理,同时也方便写入代码中。
5.环境异常测试
前边虽然说需要协调运维的小伙伴配合测试环境异常,但是在这里你可以提前考虑一下,什么事情都要向到前边,未雨绸缪。不要等出事了临时抱佛脚。
5.1简单web架构集群
上图是一个简单的web部署架构。接口测试主要是前台传递参数,后台接口参数并处理返回期望的结果。简单的描述一下上边的架构:用户通过web页面发送请求到nginx,nginx接收到请求不作任何处理,将请求分发到后台的tomcat1、tomcat2、tomcat3服务器上。服务器处理请求后,将结果返回到web页面,用户看到结果。
这里分发是有规律的,不是一同乱分发,那样还不得有的服务器先得没事干,有的服务器累死了,分发原则:根据userid来进行区分。
例如:取余,当余数为0时,分发到1,当余数为1时,分发到2,到余数为2时,分发到3。
环境异常条件:tomcat2服务器挂掉了,专业点就是宕机了。假如此时有9个用户,他们的userid分别是:1,2,3,4,5,6,7,8,9。此时恰好是1用户把tomcat2给玩挂了。
5.2环境异常测试示例:
结合上图:宏哥来描述一下,这个环境异常的场景,根据这个场景设计的测试用例。用户1将服务器tomcat2玩挂机了,恰好此时用户1又发出请求,所以此时用户1的请求期望结果只能发送到tomcat1或者tomcat3上。服务器挂机以后运维团队收到告警,快速修复tomcat2服务器(例如重启),当下一次用户4发送请求的时候,由于tomcat2正常所以预期结果还是正常环境了分发到tomcat2上。这里我们主要是观察一下tomcat2是否可以正常加入到集群中。这些策略可以提前和运维的小伙伴定好了进行测试。
5.3如何确定分发到那台服务器
方法:通过日志查看有没有分发到,例如:用户1分发2上,即使访问成功但是没有日志,那么这就是一个bug,和我们之前定好的均衡策略有冲突。其他的都类似。
6.小结
好了,以上就是今天分享的知识,宏哥这里只是做了简单的讲解。希望大家喜欢。
您的肯定就是我进步的动力。如果你感觉还不错,就请鼓励一下吧!记得随手点波 推荐 不要忘记哦!!!
别忘了点 推荐 留下您来过的痕迹
感谢您花时间阅读此篇文章,如果您觉得这篇文章你学到了东西也是为了犒劳下博主的码字不易不妨打赏一下吧,让博主能喝上一杯咖啡,在此谢过了!
如果您觉得阅读本文对您有帮助,请点一下左下角“推荐”按钮,您的
本文版权归作者和博客园共有,来源网址:https://www.cnblogs.com/du-hong 欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利!
公众号(关注宏哥)                                                                                 客服微信