热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

接口测试用例设计【最新版】

接口测试的必要性可以发现很多页面操作发现不了的问题检查系统的异常处理能力检查系统的安全性、稳定性前端随便变,接口测好了,后端不用变接口测试的流

在这里插入图片描述
接口测试的必要性

可以发现很多页面操作发现不了的问题

检查系统的异常处理能力

检查系统的安全性、稳定性

前端随便变,接口测好了,后端不用变

接口测试的流程

需求评审,熟悉业务和需求

开发提供接口文档

编写接口测试用例

用例评审

提测后开始测试

提交测试报告

接口文档 是接口测试的参照,至少包括:

1、接口说明

2、调用url

3、请求方法(get\post ……)

4、请求参数、参数类型、请求参数说明

5、返回参数说明

6、支持格式(xml/json)

接口测试用例设计

通过性验证:首先保证接口好用,按文档正常传入,查看是否可以返回正确的结果。

参数组合:按接口文档中对参数的要求进行有目的的组合,比如必填未填是否通过,标志类参数值的切换是否能对应正确的功能等。(这部分很关键)

接口安全:

1)、绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?

2)、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功

3)、参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解。

4)、密码安全规则,密码的复杂程度校验

异常验证:不按照接口文档上的要求输入参数,来验证接口对异常情况的反应。

接口测试用例模板 (可根据项目实际情况设计增减)

1、项目 测试针对哪个项目

2、模块 哪个功能模块

3、用例id

4、接口名称

5、用例标题 测试用途概括

6、请求方式 GET/POST

7、请求url URL地址

8、请求参数

9、前置条件 执行当前请求依赖的条件,不满足就不能正确执行

10、结果验证 预期结果

11、请求报文 可以不写

12、返回报文  一定要写,这里应该是你请求返回的真实结果

13、测试结果 通过/失败

14、测试人员

测试http接口

请求常见有Get请求和Post请求。Get请求通常用来接收数据,Post请求通常用来发送数据;测Get请求可用浏览器完成,参数都可以写在URL里面,测Post请求需要借助工具如Postman,因为客户端需要提供给服务器的信息较多,你要写body传输大量数据。

接口调用有两种传参方式:key-value形式,Json串传参形式。

key-value形式可以把参数拼接在url的后面由?相连,多个参数之间用&相连,如url?parameter1=key1¶meter2=key2…

Json串传参不能把参数直接连在url中,需要写在请求的body里面,可借助工具Postman,打开请求的body写入Json格式参数(由花括号括起来的‘键:值’对)如

{“count”: 1,“start”: 0,“total”: 1}

请求发出后,http会返回一个状态码表示请求是否成功,状态码有三位,其中开头一位确定了状态类型:

2xx:表示请求发送成功,常见200。

3xx:代表重定向,要完成请求必须进行更进一步的操作,或把请求重定向到别的地方了,最常见的是302。

4xx:客户端错误,请求有语法错误或请求无法实现。400代表客户端发送的请求有语法错误,不能被服务器所理解;401代表访问的页面没有授权;403服务器收到请求,但是拒绝提供服务,比如没有权限访问这个页面;404请求的资源不存在,比如输入错的URL没有这个页面。

5xx:代表服务器有异常,500代表服务器内部异常;503服务器当前不能处理客户端的请求,一段时间后可能恢复正常;504代表服务器端超时,没返回结果。

测试WebSevice接口

不需要像测http接口那样拼报文,直接把wsdl地址或wsdl文件(这两个都由开发人员提供)填写或导入到工具SoapUI里面,工具里可显示所有相关接口或报文,直接填入参数发送请求参照接口文档查看结果即可。

COOKIE 和 Session

COOKIE是存在于本地的一个键值对,Session是存在于服务器端的一个键值对,通常保存在数据库或缓存里。COOKIE和Session在第一次发送某个请求时成对生成,两端都会记录下生成的时间,超出既定的时限后便会自动删除。当请求在时限内再次发出后,COOKIE和Session两者会相互比对,匹配上了便执行某些操作,匹配不上则不允许执行某些操作,以此实现快速处理,它们并不是孤立作用的。

最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。




好文推荐

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

面试官:工作三年,还来面初级测试?恐怕你的软件测试工程师的头衔要加双引号…

什么样的人适合从事软件测试工作?

那个准点下班的人,比我先升职了…

测试岗反复跳槽,跳着跳着就跳没了…


推荐阅读
  • 本文作为探讨PHP依赖注入容器系列文章的开篇,将首先通过具体示例详细阐述依赖注入的基本概念及其重要性,为后续深入解析容器的实现奠定基础。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 该大学网站采用PHP和MySQL技术,在校内可免费访问某些外部收费资料数据库。为了方便学生校外访问,建议通过学校账号登录实现免费访问。具体方案可包括利用学校服务器作为代理,结合身份验证机制,确保合法用户在校外也能享受免费资源。 ... [详细]
  • 2012年9月12日优酷土豆校园招聘笔试题目解析与备考指南
    2012年9月12日,优酷土豆校园招聘笔试题目解析与备考指南。在选择题部分,有一道题目涉及中国人的血型分布情况,具体为A型30%、B型20%、O型40%、AB型10%。若需确保在随机选取的样本中,至少有一人为B型血的概率不低于90%,则需要选取的最少人数是多少?该问题不仅考察了概率统计的基本知识,还要求考生具备一定的逻辑推理能力。 ... [详细]
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • 本课程详细介绍了如何使用Python Flask框架从零开始构建鱼书应用,涵盖高级编程技巧和实战项目。通过视频教学,学员将学习到Flask的高效用法,包括数据库事务处理和书籍交易模型的实现。特别感谢AI资源网提供的课程下载支持。 ... [详细]
  • 本文介绍如何在将数据库从服务器复制到本地时,处理因外键约束导致的数据插入失败问题。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 本地存储组件实现对IE低版本浏览器的兼容性支持 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
author-avatar
邵世以_806
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有