建站服务器

架构

浏览器:b/s架构

客户端跟服务器交互:c/s架构

接口测试:通过调用接口来模拟合法的、非法的、无效的请求来检查服务端的输出结果、性能、异常处理结果是否与需求文档一致。

接口测试必须掌握的知识点:

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

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

Method:请求方法

Request Parameters:请求参数

Respouse Status:响应状态码

接口测试的意义:

1.确保主要流程以及系统稳定性

2.将bug控制在项目前期阶段(接口测试先行)

3.缩短产品的研发周期

4.检查服务器的异常处理能力

接口测试的方法:

1.通过编写脚本代码进行测试

2.通过工具进行测试

3.通过手工在浏览器访问接口进行测试

接口的使用场景:

1.系统与系统间的调用

2.上层服务队下层服务的调用

3.系统内,服务于服务间的调用

接口测试流程:

参与需求讨论与评审>>>接口设计和接口定义(开发,入参,参数个数,返回的参数类型)>>>设计与评审测试用例(正常测试点、异常测试点、评审用例涉及到哪些需求哪些功能点、开发以及产品人员进行补充)>>>执行测试(先了解每个接口应在哪个环境下测试)

接口测试用例形成:

需求文档、自己对业务流程的理解+接口设计、wiki文档

wiki文档包含接口请求方式、入参个数、入参类型、返回格式、返回参数个数、返回参数类型、返回参数具体含义。

接口测试用例设计:

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

2.请求参数的合法输入、无效输入、非法输入

3.请求参数的边界值

4.请求参数的异常处理,例如:未带入必填项参数等(查看返回的错误码)

5.基于业务场景的考虑,例如:登录态、权限、依赖性等

6.设计到DAO层调用,考虑数据增删改查的正确性(前后台数据的正确性)

接口测试的重要异常关注点:

1.接口有翻页时,页码与页数的异常值测试(翻页后的内容是否重复、翻页时是否出错、传入超出最大页码数)

2.数据库的增删改查,比如一个post接口操作完成后,通过列表也接口看下新的数据是否和刚才的post一致(前后台数据的正确性)

3.每个接口入参的默认值、异常类型、非空校验(无默认值、为空时怎么处理?)

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

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

6.所有列表页接口必须考虑排序顺序

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

8.入参支持传多个值时,要考虑传的值的个数多的情况下,接口会不会报错(输入超出规定的参数个数)

9.输出参数类型

接口测试常用工具:

手动辅助工具:fiddler、postman、httpwath

自动化第三方工具:soapui、robotframework+httplibrary

性能第三方工具:jmeter、gatling、loadrunner

好用的抓包工具:Burpsuite  (http://drops.wooyun.org/tools/1548)

 

 

 

 

接口测试基础-冯金伟博客园