史上最细,接口测试用例设计编写与报告总结,一篇打通...

本文主要是介绍史上最细,接口测试用例设计编写与报告总结,一篇打通...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

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

主要是平常的功能点点点,大家水平都一样,是个人都能点,面试时候如果问你平常在公司怎么测试的,你除了说点点点,还能说什么呢?

无非就是这个项目点完了点那个项目,这就是为什么各行各业的只要手指能点得动的人都来转行软件测试了。

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

2、接口测试的必要性

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

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

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

3、获取接口相关信息

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

4、接口测试的流程

需求评审,熟悉业务和需求
开发提供接口文档
编写接口测试用例
用例评审
提测后开始测试
提交测试报告

接口文档 是接口测试的参照,至少包括:
1)接口说明
2)调用url
3)请求方法(get\post ……)
4)请求参数、参数类型、请求参数说明
5)返回参数说明
6)支持格式(xml/json)

5、接口测试用例设计

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

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

6、接口安全

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

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

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

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

7、异常验证

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

8、性能测试

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

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

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

项目 测试针对哪个项目
模块 哪个功能模块
用例id
接口名称
用例标题 测试用途概括
请求方式 GET/POST
请求url URL地址
请求参数
前置条件 执行当前请求依赖的条件,不满足就不能正确执行
结果验证 预期结果
请求报文 可以不写
返回报文  一定要写,这里应该是你请求返回的真实结果
测试结果 通过/失败
测试人员

10、接口测试常见Bug

1)特殊值处理不当导致程序异常退出或者崩溃
2)类型边界溢出,导致数据读出和写入不一致
3)取值边界外值未返回正确的错误信息
4)参数 为null或空字符串“”等
5)权限未处理,可以访问其他用户的信息
例如:无权限可以访问,或者 一般用户可以访问管理员权限)

6)逻辑校验不完善,可利用漏洞获取非正当利益
例如:某网站兑换1块钱需要100币,当小于100币时调用后台 接口是否可以兑换

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

7)状态处理不当,导致逻辑出现错误(可能程序员123都搞懵了)
8)数组类型item个数为0或者item重复时程序异常退出
9)超时问题,超时后处理
10)潜在性能问题(后台提交处理或者把性能风险提前提出)

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

勇于追梦,放飞心灵的翅膀,勤奋不息,汇聚成功的力量。困难与挑战只是通向辉煌的必经之路,相信自己,坚持前行,终将登上成功的巅峰。

勇敢地面对生活的波折与挑战,用拼搏与汗水书写人生的壮丽篇章。坚定信念,追求卓越,努力奋斗,才能成就自己的伟大梦想,让生命绽放出绚烂的光芒。

勇于承担,坚定前行,每一份努力都在为未来的成功铺路,相信自己,勇敢奋斗,终将收获属于自己的辉煌人生。

这篇关于史上最细,接口测试用例设计编写与报告总结,一篇打通...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/799171

相关文章

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi

Java反转字符串的五种方法总结

《Java反转字符串的五种方法总结》:本文主要介绍五种在Java中反转字符串的方法,包括使用StringBuilder的reverse()方法、字符数组、自定义StringBuilder方法、直接... 目录前言方法一:使用StringBuilder的reverse()方法方法二:使用字符数组方法三:使用自

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

讯飞webapi语音识别接口调用示例代码(python)

《讯飞webapi语音识别接口调用示例代码(python)》:本文主要介绍如何使用Python3调用讯飞WebAPI语音识别接口,重点解决了在处理语音识别结果时判断是否为最后一帧的问题,通过运行代... 目录前言一、环境二、引入库三、代码实例四、运行结果五、总结前言基于python3 讯飞webAPI语音

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

Python依赖库的几种离线安装方法总结

《Python依赖库的几种离线安装方法总结》:本文主要介绍如何在Python中使用pip工具进行依赖库的安装和管理,包括如何导出和导入依赖包列表、如何下载和安装单个或多个库包及其依赖,以及如何指定... 目录前言一、如何copy一个python环境二、如何下载一个包及其依赖并安装三、如何导出requirem

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

Rust格式化输出方式总结

《Rust格式化输出方式总结》Rust提供了强大的格式化输出功能,通过std::fmt模块和相关的宏来实现,主要的输出宏包括println!和format!,它们支持多种格式化占位符,如{}、{:?}... 目录Rust格式化输出方式基本的格式化输出格式化占位符Format 特性总结Rust格式化输出方式