文章目录

接口测试为什么会如此重要呢?

接口测试的必要性

获取接口相关信息

接口测试的流程

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

接口测试用例设计

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

接口测试常见Bug

测试WebSevice接口

Cookie 和 Session

测试报告模板

结语


接口测试为什么会如此重要呢?

主要是平常的功能点点点,大家水平都一样,是个人都能点,面试时候如果问你平常在公司怎么测试的,你除了说点点点,还能说什么呢,无非就是这个项目点完了点那个项目,这就是为什么各行各业的只要手指能点得动的人都来转行软件测试了。

面试的时候面试官希望你除了点点点,还能更深入一点的思考页面上看不到的功能,也就是接口测试了。

接口测试的必要性

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

检查系统的异常处理能力

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

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

可以测试并发情况,一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后一个商品下单

可以修改请求参数,突破前端页面输入限制(如金额),检查系统(接口)有没有进行校验

获取接口相关信息

一般的企业,都会由开发或者对应的技术负责人员编写接口文档,里面会注明接口相关的地址、参数类型、方法、输入、输出等信息,如果没有,想办法获取。。。

接口测试的流程

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

开发提供接口文档

编写接口测试用例

用例评审

提测后开始测试

提交测试报告

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

1、接口说明

2、调用url

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

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

5、返回参数说明

6、支持格式(xml/json)

接口测试用例设计

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

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

接口安全:

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

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

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

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

异常验证

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

性能测试

接口并发情况,如上面提到的:一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后一个商品下单

接口响应时间,响应时间太长了,肯定需要优化,一般都是毫秒级别

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

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

2、模块            哪个功能模块

3、用例id

4、接口名称

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

6、请求方式      GET/POST

7、请求url        URL地址

8、请求参数

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

10、结果验证     预期结果

11、请求报文     可以不写

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

13、测试结果    通过/失败

14、测试人员

接口测试用例编排

接口测试常见Bug

1、特殊值处理不当导致程序异常退出或者崩溃

2、类型边界溢出,导致数据读出和写入不一致

3、取值边界外值未返回正确的错误信息

4、参数 为null或空字符串“”等

5、权限未处理,可以访问其他用户的信息

例如:无权限可以访问,或者 一般用户可以访问管理员权限)

6、逻辑校验不完善,可利用漏洞获取非正当利益

例如:某网站兑换1块钱需要100币,当小于100币时调用后台 接口是否可以兑换

例如:购物结算时为100元,调用 后台接口设为0元

7、状态处理不当,导致逻辑出现错误(可能程序员123都搞懵了)

8、数组类型item个数为0或者item重复时程序异常退出

9、超时问题,超时后处理

10、潜在性能问题(后台提交处理或者把性能风险提前提出)

测试WebSevice接口

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

Cookie 和 Session

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

测试报告模板

结语

接口测试的内容就讲到这里啦!如有需要了解软件测试相关的其他内容,可到在评论区和我互动交流进行学习~

同时,有不理解或有误需要补充的地方也欢迎评论区共同探讨大家一起交流技术

软件测试实战教程系列—接口测试用例和报告模板|收藏版相关推荐

  1. 【软件测试】接口测试用例和报告模板

    当今在测试领域,接口测试已经越来越多的被提及,被重视. 区别于传统意义上的系统级别测试,很多测试人员在接触到接口测试的时候,也许对测试执行还可以比较顺利的上手,但一提到相关的归档,比如测试用例和报告, ...

  2. 接口测试用例和报告模板

    简介 当今社会在测试领域,接口测试已经越来越多的被提及,被重视,而且现在好多招聘信息要对接口测试提出要求.区别于传统意义上的系统级别测试,很多测试人员在接触到接口测试的时候,也许对测试执行还可以比较顺 ...

  3. Unity教程:URP渲染管线实战教程系列【1】

    URP渲染管线实战解密(一) 现在越来越多的手游开发都采用URP渲染管线,来代替之前Unity引擎默认的向前渲染管线,本节通过一下几个方面来阐述URP 渲染管线,对URP渲染管线有个全面认识. (1) ...

  4. 微信小游戏开发实战教程系列开启

    **这是小蚂蚁游戏开发公众号原创的第35篇. 在写完了"人人都能做游戏"的新手系列教程后,我收到了不少反馈.有人告诉我,因为看了我的系列教程做出了自己人生的第一个小游戏.也有人告诉 ...

  5. Jmeter性能测试实战教程系列-搭建分布式性能测试环境(五)

    Jmeter 是java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误.为了让jmeter工具 ...

  6. Selenium实战教程系列(三)--- Selenium中的动作

    Selenium中针对元素进行的动作在代码中可以分为两类: Selenium::WebDriver::ActionBuilder类中的动作方法 Selenium::WebDriver::Element ...

  7. 「实战教程」如何使用POI读取模板PPT填充数据并拼接至目标文件

    文章目录 一.PPT文件格式介绍 1.PPT文件格式的概述 2.HSLF和XSLF的区别 3.如何选择合适的POI类库 二.SlideShow 三.读取PPT文件 1. 加载PPT文件 2. 获取PP ...

  8. 《SpringBoot2.0 实战》系列-整合FlyingSaucer + thymeleaf 实现模板文件转pdf打印

    前言 最近,接到一个模板打印pdf的任务,后来网上找了很多案例,本文做下记录. 如何开始 添加依赖包 <!-- thymeleaf --> <dependency><gr ...

  9. python接口自动化(五)--接口测试用例和接口测试报告模板(详解)

    简介 当今社会在测试领域,接口测试已经越来越多的被提及,被重视,而且现在好多招聘信息要对接口测试提出要求.区别于传统意义上的系统级别测试,很多测试人员在接触到接口测试的时候,也许对测试执行还可以比较顺 ...

最新文章

  1. php tab标签,JavaScript代码分享:tab标签的切换
  2. 【MATLAB】界面介绍 ( 标题栏 | 选项卡 | 命令窗口 | 编辑器 | 变量命名规则 )
  3. java plug in错误_Eclipse启动失败 - 在安装BlackBerry Java Plug-in for Eclipse v1.3之后
  4. charles抓app包教程_charles关于手机APP抓包
  5. boost::math::quadrature::daubechies_wavelet_transform用法的测试程序
  6. 我儿子现在读一年级,到现在读了3个月,这个是今天老婆叫我给他打印的英语卡片,晕啊...
  7. php is_dir 判断是否存在这目录
  8. alter system switch logfile与alter system archive log current
  9. 标签生成html怎么转换,如何进行HTML到XML转换以生成封闭标签?
  10. 拓端tecdat|Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类
  11. 西南交通大学计算机应用基础,西南交通大学计算机应用基础作业-客观部分
  12. 财务会计之借贷记账法的【科目方向】和【科目余额方向】分析
  13. Ubuntu查找文件
  14. 单机版传奇传奇服务端架设传奇服务器架设
  15. 拆弹实验-phase_6
  16. 575. 分糖果【我亦无他唯手熟尔】
  17. 限速之令牌桶和漏桶算法
  18. writing science_Science子刊: 类配对分析法揭示孤独症患者肠道菌群解毒功能受损
  19. 浏览器预检请求返回400 has been blocked by CORS policy: Response to preflight request doesn’t pass access cont
  20. Python可以制作植物大战僵尸,你还不知道吗?

热门文章

  1. html单选按钮默认选中怎么做?input标签的单选按钮用法实例
  2. 人流量统计api接口_人数统计_区域人数实时统计
  3. 【详细】阿里云域名解析步骤
  4. python元组和列表逆序_Python容器:列表与元组
  5. 股票交易接口开发原理是什么?
  6. Discuz招商加盟门户网站整站模板/加盟项目网站商业版源码/整站带测试数据
  7. eclipse运行出现unable to launch 错误
  8. 用c语言简单办法做一个字典_如何用c语言做一个简单的英语词典
  9. GitHub 项目徽章的添加和设置
  10. Spark ML特征的提取、转换和选择