赞
踩
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年最全的软件测试工程师学习知识架构体系图 |
勇于追梦,放飞心灵的翅膀,勤奋不息,汇聚成功的力量。困难与挑战只是通向辉煌的必经之路,相信自己,坚持前行,终将登上成功的巅峰。
勇敢地面对生活的波折与挑战,用拼搏与汗水书写人生的壮丽篇章。坚定信念,追求卓越,努力奋斗,才能成就自己的伟大梦想,让生命绽放出绚烂的光芒。
勇于承担,坚定前行,每一份努力都在为未来的成功铺路,相信自己,勇敢奋斗,终将收获属于自己的辉煌人生。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。