因为业务有变更,界面不断变更,所以基于UI的自动化,UI的脚本要不断修改。使用接口测试:接口与界面无关,可以有效的解决这个问题。
1、什么是接口
1.1接口定义了标准的规则
以手机充电器为例:
输入参数:电流、适用类型
输出结果:充电、传输数据
只要符合接口规则,什么品牌的手机不需要关心。
1.2 软件系统中为什么要设计接口?
- 规定好使用规则,方便其他应用进行调用。
- 保护程序内部的安全性。
- 程序内部的变化对外部使用没有影响。
1.3 接口的主要组成要素
接口的主要组成要素主要有接口请求地址、请求方法、接口参数、接口返回值等。请求方法主要有get方法和post方法。
2、接口测试的价值
2.1 为什么要进行接口测试?
1、必备的工作
软件系统中存在很多接口,软件系统调用了其他系统提供的接口
2、提早开展测试
接口只要定义好了,没有界面也是可以进行测试的。接口测试工具或写接口测试代码
3、早一点发现bug
这样可以使bug修复成本和风险大大下降
4、提前确定接口是否能够正常实现
5、可以尽早准确定位bug
2.2 接口测试与自动化测试的异同
1、接口&UI自动化
接口&UI自动化原理不同。
UI自动化测试采用元素定位,模拟人的眼睛和手进行界面或页面的操作。
接口自动化测试,模拟发送请求。发送request请求,传入请求数据,对response响应结果进行处理。
2、接口&性能自动化
接口&性能自动化目标不同。
接口测试为了测试,考虑接口输入参数是否进行了校验,响应结果是否符合接口设计要求。如微信支付,金额错误:-1。
性能测试为了测试大数据量情况下或者大用户量访问时系统能否正常运行、系统处理的响应时间、服务器资源占用情况(CPU、内存、硬盘、网络)
3、接口&单元测试
接口&单元测试的对象不同
单元测试是判断独立的代码内部逻辑是否正确。
接口测试是为了判断接口的实现以及接口之间的调用是否正确。
3、接口测试的原理
3.1 协议
接口测试是基于HTTP协议进行的。首先说一下协议的作用:规定在网络上进行数据传输的规则。
HTTP协议的组成由请求和响应组成。
请求分为请求行、请求头、空行、消息主体。
请求行分为请求方法和URL地址。请求方法有GET方法和POST 方法。
响应分为请求行、请求头、空行、消息主体。
其中HTTP/1.1是版本,200是状态码, OK是原因短语。
常见状态码
404 :找不到网页
500: 服务器内部错误
200:成功
302:重定向
分类:
3.2 协议与接口的关系
接口通过分析协议数据包,来获取接口测试的相关内容。如请求地址、请求方法、接口参数、接口返回值。
3.3 用什么方法抓取在网络上传输的接口数据包
一般常见的抓包工具有Fiddler、Wireshark、HttpWatch
4、如何开展接口测试
1、分析接口测试的需求
2、设计相关接口测试用例
3、实现接口测试
3.1 通过接口测试工具
3.2 通过编写接口测试脚本
3.3 设计并研发接口测试框架
4、如果发现接口测试错误
编写接口测试bug单
5、进行回归测试,直到bug修复成功
5、接口测试工作总结:
很多人以为活干完交了就完成 了,或者说你成长或者说面试跟别人讲不清楚呢?所以要去提升我们的工作总结能力。所以不要疏忽每个环节的总结。
会总结的人,才会不断改进,才会更快的提升。
要像滚雪球一样,把不同的技术不断地进行对比,这样不会越学越乱,会越学越清楚的。
要有学习总结,思维扩展的能力。
到一个公司去,所有的东西最好不要从头再来,先把现有的成果物进行快速的学习和分析。知道它是什么思路,大致怎么做的,然后照猫画虎去完成自己的工作任务。这样是最理想的一个状况。如果具备了这样的一个工作能力,那么以后面对任何一个工作都会非常的容易。
要有工作的总结能力:
我们经常会忙于工作,有一天主管问你工作怎么样啊,或者说有一天要出去面试啊,回答面试官的问题,面试官会说你以前的工作的情况给大家大概介绍一下,你就会发现这个问题其实不难,你也做过很多,但是一时间不知道如何说起。所以多提高自己的总结能力,这个非常的重要。
学习有很多维度:技术是一方面,总结能力,扩展思考能力。
愿每个测试都能顺利转为测试开发,提高职业技能,成为前1%的存在,为社会创造更大的价值,为公司节约更多的成本,为自己和家庭谋求更高的收入,所有人不受职业年龄限制,越老越吃香,直至财富自由;愿测试技术越来越进步,软件质量进一步得到提高,效率提高。愿祖国更加美好,人民更加幸福。多喜乐,常安宁。