接口测试关注点、常用工具

接口测试的关注点:

接口:Http协议接口、Service层接口。

0、接口返回的节点、返回节点对应的值是不是对的;

1、接口有翻页时,页码与页数的异常值测试;

第一页有数据,翻到第二页:

(1)第二页的数据是否和第一页重复;

(2)第二页接口有没有报错,页码(一页返回多少个数据)传一个很大的值(一般是100之内,可以改为1000或者String类型的等特殊符号,看接口会不会报错 ); 同样的页数也是。

2、数据库的增删改查,比如一个post接口操作完成后,通过列表页接口看下新的数据是否和刚才的post一致;

比如对一篇帖子发表评论,看一下post请求的接口是否返回了刚刚评论的数据(若没有,是不是缓存、没有写入数据库导致的)

3、每个接口入参的默认值、异常类型、非空校验

(1)这个参数有没有默认值,如果没有默认值是怎么处理的;

(2) 这个参数必须输入值,若不输值或输入其他值,接口会怎么返回

(3)接口报错,服务端和客户端都需要做容错

4、接口返回的图片地址能否打开,图片尺寸是否符合需求;

5、当输出参数有联动性时,需要校验返回两参数的实际结果是否都符合需求;

比如一个接口返回汽车的列表,总数的字段 和 列表里的数据是否一致。

6、所有列表页接口必须考虑排序值;

如按时间排序,是否按时间排序

7、所有功能都要考虑兼容旧版本;

接口有改动(增加、减少字段)需要兼容老版本

8、入参支持多个值时,要考虑传的值的个数多的情况下,接口会不会报错;

某一个车型对比的接口,若只需要传9个id,那么当传10个、100个,接口会不会报错,期望接口有个友好的提示

9、输出参数类型。

是int型,不能返回string类型。


接口测试常用工具

1、切换host工具:SwithHosts

2、抓包: Charles

3、调试工具:firebug等

4、辅助测试工具:Postman、HttpRequest、火狐JsonHandle

5、性能测试工具:LoadRunner、Apache JMeter


常用的HTTP接口知识

HTTP接口

-URL:http[s]://host[:port][abs_path][parameter]

-Header:头信息,包含了报文的描述信息

-Method:请求方法

-Request Parameter:请求参数

-Response Status:响应状态码(成功是200,失败:400以上500以下是客户端导致的错误如404,500以上是服务端导致的错误)

如调用登录接口

https://xxx.xxx.xxx.xxx:88/login.do?name=quq&pwd=test

接口使用场景

1、系统与系统之间的调用;

2、上层服务对下层服务的调用;

3、系统内,服务与服务之间的调用。

接口测试的case设计

1、接口参数

2、接口功能

3、代码逻辑

4、异常情况

1、请求参数的必填项和可选项

2、请求参数的合法输入和非法输入;

3、请求参数的边界值;

4、请求参数的异常处理,例如:未带入必填项参数等

5、基于业务场景的考虑,例如:登录态、权限、依赖性等; 6、涉及到DAO层调用的,考虑数据增删改查的正确性。

接口测试举例:

存在的问题:两个接口混在了一起,变成了测试发布朋友圈这个功能。

从接口角度:

1、上传图片及发布朋友圈为两个独立的接口,先分别对两个接口单独做测试;

2、最后再组合起来确认发朋友圈的业务逻辑是否正确。

所以用例应该这样设计:

接口测试的实现方式

1、Jmeter

好:图形化界面,支持编程语言的插件,可录制,上手简单;

不好:重用度低,复制粘贴较多,遇到加密协议会跪。

2、Java纯代码(TestNG + OKHttpClient)

好:灵活,设计得好的话重用度高;

不好:需要自己封装一些工具类及代码,数据写在代码中改起来不方便。

好用的抓包工具 BurpSuite

强大的功能距离

功能1:筛选某一固定的数据类型,甚至某个文件的扩展名;

如只显示jpg图片请求

Proxy histroy有一个可以用来在视图中隐藏某些内容的功能,以使其更易于分析和你感兴趣的工作内容的显示过滤。 History Table上方的过滤栏描述了当前的显示过滤器。点击过滤器栏打开要编辑的过滤器选项。该过滤器可以基于以下属性进行配置:

功能2:拦截所有jpg图片请求,模拟获取图片超时场景。

总结

时间: 2024-10-18 20:39:59

接口测试关注点、常用工具的相关文章

接口测试基础与工具

接口测试基础与工具 2016-09-12 接口测试是集成测试实现的一种方式,分为: 消息接口测试 代码接口测试两类 本章主要还是针对消息接口为主的. 1 接口测试基础 1.1 什么是接口测试 接口是指系统模块与模块或系统与系统间进行交互,一般现在我们用的多的是基于HTTP协议为基础的接口(包括WebService协议或者Tuxedo协议),除此之外还有RPC的接口,但不管是哪种接口,其本质就是发送一个Request报文给服务器,然后服务器响应返回一个Response报文. 我们对Response

java 常用工具

System:类中的属性方法都是静态的.无法实例化 err:"标准"错误输出流 in:"标准"输入流 out:"标准"输出流 常见方法: long currentTimeMillis();获取当前时间的毫秒值 Properties    getProperties(); 获取系统属性 Properties集合中存储的都是String类型的键和值. Runtime:没有构造方法摘要,说明该类不可以创建对象. 方法又是非静态,说明该类提供静态返回该类

2015第30周三Spring常用工具类

文件资源操作 文件资源的操作是应用程序中常见的功能,如当上传一个文件后将其保存在特定目录下,从指定地址加载一个配置文件等等.我们一般使用 JDK 的 I/O 处理类完成这些操作,但对于一般的应用程序来说,JDK 的这些操作类所提供的方法过于底层,直接使用它们进行文件操作不但程序编写复杂而且容易产生错误.相比于 JDK 的 File,Spring 的 Resource 接口(资源概念的描述接口)抽象层面更高且涵盖面更广,Spring 提供了许多方便易用的资源操作工具类,它们大大降低资源操作的复杂度

开发常用工具 屏幕取色软件 取色软件

开发常用工具 屏幕取色软件 韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 取色软件_屏幕取色软件_取色软件大全

写python的常用工具及设置

目的:记录一下常用工具及设置,以便换电脑后可以找回工作环境. 环境:windows 7  ubuntu 16.4 情景:学习python时,一个好的开发环境可以提供很多帮助,节省时间,提高效率等,经常在windows和ubuntu系统中写python,想要一个兼容平台且好用免费的软件---pycharm不错的选择. 之前ubuntu上我用过Spyder,很轻巧,但是自动补齐功能不方便,只能当作小工具了,然后找到了pycharm,它支持ubuntu和windows,社区版是免费的,已经足够了,自动

mysql 性能优化常用工具

mysql 性能优化常用工具: 常用性能检测工具 show engine innodb  status show full processlist information_schema.processlist explain create table innodb_table_monitor(a int) engine=innodb; innodb_locks innodb_lock_wait innodb_trx zabbix监控 pt-tools 工具 性能优化的两种方式: 1.执行计划的解

Android 常用工具类之SPUtil,可以修改默认sp文件的路径

参考: 1. 利用Java反射机制改变SharedPreferences存储路径    Singleton1900 2. Android快速开发系列 10个常用工具类 Hongyang import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; import android.content.SharedPreferences; import java.io.

自然语言处理常用工具

nlp 常用工具  转自 http://www.cppblog.com/baby-fly/archive/2010/10/08/129003.html *NLP Toolbox  CLT http://complingone.georgetown.edu/~linguist/compling.html  GATE http://gate.ac.uk/  Natural Language Toolkit(NLTK) http://nltk.org  MALLET http://mallet.cs.

jQuery常用工具方法

前面的话 jQuery提供一些与元素无关的工具方法,不必选中元素,就可以直接使用这些方法.如果理解原生javascript的继承原理,那么就能理解工具方法的实质.它是定义在jQuery构造函数上的方法,即jQuery.method(),所以可以直接使用.而那些操作元素的方法,是定义在构造函数的prototype对象上的方法,即jQuery.prototype.method(),所以必须生成实例(即选中元素)后使用.把工具方法理解成像javascript原生函数那样可以直接使用的方法就行了.下面将