功能→回归→性能
接口测试我们公司一般开发都先会(用postman)自测,之后再让我们测,有时候他们比较忙的时候,也会让我们帮着测。{测试时,我们可以用浏览器、postman、python或(jmeter)来做接口测试。Python用来做接口的回归测试、jmeter可以做功能测试也可做性能测试。}
当开发没有给我们接口文档只给了单个接口或少量接口让我来测试时,就可以用浏览器或postman(或jmeter)来测试。用浏览器测试时我们需要在地址栏中输入url路径和参数,查看返回的结果是否匹配。
(1)用postman测试时,当请求以get发送时,我们需要在params中以key value的形式添加参数,也可直接在路径后添加参数;当请求以post发送时,我们需要在body的x-www-form-urlencoded中以key value的形式添加参数;然后点击send发送请求来进行接口测试,返回的结果显示在下方的文本框中,我们可以根据返回的结果来判断接口是否正确。多个接口一起测试的话,我们可以在左侧功能区,找到collections栏目并点击新建的接口,然后在save里面选择 save as,选择刚才新建的集合,接着在上面找到runner,开始运行。选择咱们刚才新建的接口集合,点击start test运行,结果由红色和绿色来区分。后面有响应时间和响应码。
(2)我们一般用python来做接口的回归测试,一般是在不太忙的时候将接口信息储存在python文件中。我们那时候做接口测试时,一般都是http请求的接口,用的是python3.6版本的,编译器是pycharm。首先我们需要再python上安装一个requests包,并且在python文件中通过import requests来导入这个包,然后我们需要将每个接口的URL路径、参数、请求方式、名称通过字典以key value的形式储存起来,请求方式有两种,一种是get,一种是post,它俩的区别就是,如果要用post就在参数前面加一个data就可以了。接着我们需要定义一个方法来对这些接口进行封装,并通过requests.get传入url地址和参数,然后赋值给一个值,通过这值来获取响应报文和响应码,并打印,然后看返回结果请求值,成功是200,错误返回404,500等,检查返回数据的正确性与格式是否正常,我们开发那边经常返回的是json格式。当然,也有返回xml格式的或者是html格式的。最后我们再调用这个方法来达到测试的目的。需要注意的是,传参的时候一定要按照接口文档来写,要区分大小写,要不然就只会返回响应码而不返回报文!接口的性能我们也会很重视,因为直接影响用户体验,如果半天不返回值我就果断放弃,和开发那边沟通。
(3)用jmeter进行接口测试时,首先,我们需要创建一个线程组,接着选择sampler,再选择http请求,在http请求中填写服务器的ip地址,服务器的端口号以及要访问的url路径。当接口以get请求时,我们需要在地址栏下的parameters中以key value的形式传参;当接口以post请求时,我们需要在地址栏下的bodydata中以变量名1=值1 & 变量名2=值2 & 变量名3 = 值3 &…的形式传参。若接口含有中文,我们需要将content encoding的属性设置为utf-8.若对接口只是进行功能测试,只需添加查看结果树,若右侧请求颜色为绿色则成功,红色则失败。若进行性能测试,还需通过扩展插件来增加jmeter的监听器,因为jmeter自带监听器只有3个(图形结果、查看结果数、聚合报告),要进行性能分析远远是不够的,所以需要扩展插件来添加每秒事务数、每秒点击量、每秒响应时间、硬件变化、吞吐量这些监听器。我们就是这样来测接口。
接口测试怎么做的
1,我们公司接口测试做的时候分为三种,功能测试,回归测试,性能测试
当测试接口单一的时候一般使用postman;功能测试我们用的工具是 postman,postman是在谷歌上以插件集成的一种简单的小工具,在postman的页面上,将接口地址,传参方式,以及参数写在对应的输入框里面,点击send按钮,会在下面reponse文本框显示返回的数据是以json方式返回来的,还会包括状态码200,则接口请求成功,这时候我们会对应接口文档,进行正返例数据的填写,对比接口文档查看数据是否符合标准。
回归测试我们使用的是,python,pathon可以通过for循环同时测试多个接口,通过pychorm进行脚本编写,通过for循环和if判断,分别写出罗列出post,以及get传参的request的请求方式,post和get通过request方法写出来,给他们一个用来接收数据的对象,request.get(接口的路径,接口的参数(以字典形式写出来)),request.post(接口的路径,data=参数(以字典的形式写出来)),得到的参数会在控制台显示出来,包括返回的状态码,以及josn形式的参数。然后生成一个测试报告
测试报告包括,接口的名字,接口的路径,接口的传参方式,接口的参数,状态码,返回的接口数据
性能测试我们使用的是jmeter,通过点击线程,找到参数列里面的http请求,在http请求页面添加路径,参数;然后再添加监控器,比如要模拟并发可以通过集合点模拟,jmeter有几个比较直观的报告图表,通过图形结果的偏离数可以得到该系统性能是否稳定, 通过样本数目可以看到请求是否都已近完成 ,通过聚合报告如果如果系统比较稳定,可以看中值数查看请求的时间是否超过3秒,如果不稳定可以查看90%line的时间,这里面也有你最大的请求时间以及最小的请求时间,可以将超时的交给开发人员进行优化,因为当时我们的要求是没有错误的请求,Error%必须是0,从这个可以看出请求的错误率;吞吐量和点击量有也专门的图表,可以分析出吞吐量随着点击量的增长减少两图之间的关系;jmeter拓展件里面还有个一个服务器的监测可以通过图表展示服务器的性能比如CPU,硬盘,网络等的具体状况。