接口测试测什么?一个简单问题把我难住了
创始人
2025-06-01 05:30:14
0

那么设计测试用例时我们主要考虑如下几个方面:

一、功能测试

接口的功能是否正确实现了

接口是否按照设计文档中来实现(比如username参数写为了user,那么这就不符合,因为接口文档在整个开发中都需要使用,所以接口实际的设计要与接口设计文档中保持一致)

  • 兼容性测试: 比如说今天接口进行了调整,但是前端没有进行变更,这时候需要验证新的接口是否满足旧的调用方式
  • 错误码测试: 通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的情况
  • 返回值测试: 返回值除了内容需要是正确的,还需要类型也是正确的,保证调用方拿到这些参数能够正确的解析

参数边界值、等价类测试

  • json格式测试: 通常我们的接口一般设计的都是传递json串,那么就需要去测试 如果传递非json的情况,这时候程序会不会正确的处理,返回相应的 error code
  • 默认值测试: 很多情况一些非必填的参数会有默认值,比如说一个查询的接口,参数count为返回查询的结果数量, 默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在这样的数据超过10条。

二、逻辑业务

是否有依赖业务,比如查看订单,是需要用户首先登录的,所以肯定要保证登录了或有相应的cookie

业务逻辑测试:传递正确的参数,接口对数据库进行查询的操作,需要去验证数据库查询是否正确,接口对数据库进行 增删改的操作,也需要看数据库是否同步进行了这些操作

 

 

 

三、异常测试

异常分为两类,参数异常数据异常

1、参数异常:

  • 关键字参数: 将参数写为开发语言中的关键字
  • 参数为空: 比如去掉了username参数
  • 多或少参数: 多或者少参数的验证,现在还不确定如果一个接口多了参数如果没有报错是否是合理的,或者是否需要优化,因为就目前开发给予的答案是,一般不对接口多了参数的处理
  • 错误参数: 比如将username参数写为了user等看是否能返回相应的error code

2、数据异常:

  • 关键字数据:
    将参数的值填为开发语言中的关键字
  • 数据为空:
    将参数的额值填为空
  • 长度不一致:
    因为数据库中每个字段都设置有字段长度,填写不符合的长度进行验证
  • 错误数据:
    就是将参数的值任意填写,或填写不存在的数值
  • 异常类型测试:
    比如count参数,这个参数的类型一定是可以转换为int类型的,这时候我们需要测试如果传的一些不可以 转换为int类型值来测试代码是否加入判断

四、性能测试

  • 响应时间
  • 吞吐量
  • 并发用户数
  • 占用内存,CPU等

五、安全性测试

敏感信息是否加密

必要参数是否后端也进行校验(现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前端太容易了), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证)

接口是否防恶意请求(SQL注入)

  • cookie
    将header中的cookie修改或删除后看是否能返回相应的error code
  • header
    删除或修改header中部分参数的值,看是否能返回相应的error code
  • 唯一识别码
    删除修改唯一识别码测试

学习安排上!友情赠送大厂软件测试岗经验分享

大厂面试的时候,一般会考的就是这么几个大方向:技术知识、项目经历、智力测验等。我们说的刷题,一般指的是技术知识这部分,其中又主要包括基础知识、岗位相关技术的通用套路和踩坑经验。

因此整份软件测试面试指导手册比较全面一共216页,希望为你理清 测试岗 面试的主线思路,通过详解各大互联网公司的常见面试题,从面试的角度去展开介绍某一知识点,以及该知识点在项目中的使用,并在此过程中帮你梳理和建立完善的软件测试知识体系结构。

第一篇 软件测试基础

  • 什么是兼容型测试?兼容性测试侧重哪些方面?
  • 正交表测试用例设计方法的特点是什么?
  • 测试的策略有哪些
  • 你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试…)?
  • 软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
  • 测试活动中,如果发现需求文档不完善或者不准确,怎么处理?
  • 什么是桩模块?什么是驱动模块?

第二篇 Python基础

  • super 是干嘛用的?在 Python2 和 Python3 使用,有什么区别?为什么要使用 super?请举例说明。
  • 快速编写前端 HTML、JavaScript、Vue 代码。
  • L = [1, 2, 3, 11, 2, 5, 3, 2, 5, 3],用一行代码得出 [11, 1, 2, 3, 5]
  • L = [1, 2, 3, 4, 5],L[10:]的结果是?
  • L = [1, 2, 3, 5, 6],如何得出 ‘12356’?
  • 字符串反序输出?
  • 判断回文?
  • 统计python源代码文件中代码行数,去除注释,空行,进行输出?
  • python调用cmd并返回结果?
  • 冒泡排序
  • 1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
  • 请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)

第三篇 MySQL基础

  • 什么是事务?
  • 什么是事务的ACID特性?
  • Mysql数据库中怎么实现分页?
  • Mysql数据库的操作?
  • 优化数据库?提高数据库的性能?
  • 什么是数据的完整性?

 

第四篇 LordRunner相关

 

 

第五篇 Web测试

  • 什么是sql注入,什么是跨站脚本,什么是跨站
  • 给你一个网站怎么开展测试?
  • 电商支付模块的测试如何展开?
  • 如何开展兼容性测试?
  • nginx.tomcat.apache都是什么?
  • apache和nginx 的区别?

 

第六部分 接口自动化测试

  • 你们公司的接口测试流程是怎样的?
  • 事务的隔离级别与对应的问题?
  • MySQL是如何解决幻读的?
  • drop、delete与truncate的区别?
  • 谈谈对索引的理解?
  • 如果模块请求http改为了https,测试方案应该如何制定,修改?
  • 常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
  • 描述TCP/IP协议的层次结构,以及每一层中重要协议

 

第七部分 App测试

  • 说说会用哪些抓包工具?怎么用的?
  • 什么是alpha测试和beta测试?
  • 请写出一个SQL来查询分数前五5的所有人?
  • 给你一个模块,比如注册模块,你会怎么样设计与执行测试?
  • 你认为app测试过程中,相对于web,要更多注意哪些测试点?或者说app测试和web测试有哪些不同之处?

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点击下方小卡片进群免费获取。

相关内容

热门资讯

安卓子系统windows11,... 你知道吗?最近科技圈可是炸开了锅,因为安卓子系统在Windows 11上的兼容性成了大家热议的话题。...
电脑里怎么下载安卓系统,电脑端... 你有没有想过,你的电脑里也能装上安卓系统呢?没错,就是那个让你手机不离手的安卓!今天,就让我来带你一...
索尼相机魔改安卓系统,魔改系统... 你知道吗?最近在摄影圈里掀起了一股热潮,那就是索尼相机魔改安卓系统。这可不是一般的改装,而是让这些专...
安卓系统哪家的最流畅,安卓系统... 你有没有想过,为什么你的手机有时候像蜗牛一样慢吞吞的,而别人的手机却能像风一样快?这背后,其实就是安...
安卓最新系统4.42,深度解析... 你有没有发现,你的安卓手机最近是不是有点儿不一样了?没错,就是那个一直在默默更新的安卓最新系统4.4...
android和安卓什么系统最... 你有没有想过,你的安卓手机到底是用的是什么系统呢?是不是有时候觉得手机卡顿,运行缓慢,其实跟这个系统...
平板装安卓xp系统好,探索复古... 你有没有想过,把安卓系统装到平板上,再配上XP系统,这会是怎样一番景象呢?想象一边享受着安卓的便捷,...
投影仪装安卓系统,开启智能投影... 你有没有想过,家里的老式投影仪也能焕发第二春呢?没错,就是那个曾经陪你熬夜看电影的“老伙计”,现在它...
安卓系统无线车载carplay... 你有没有想过,开车的时候也能享受到苹果设备的便利呢?没错,就是那个让你在日常生活中离不开的iOS系统...
谷歌安卓8系统包,系统包解析与... 你有没有发现,手机更新换代的速度简直就像坐上了火箭呢?这不,最近谷歌又发布了安卓8系统包,听说这个新...
微软平板下软件安卓系统,开启全... 你有没有想过,在微软平板上也能畅享安卓系统的乐趣呢?没错,这就是今天我要跟你分享的神奇故事。想象你手...
coloros是基于安卓系统吗... 你有没有想过,手机里的那个色彩斑斓的界面,背后其实有着一个有趣的故事呢?没错,我要说的就是Color...
安卓神盾系统应用市场,一站式智... 你有没有发现,手机里的安卓神盾系统应用市场最近可是火得一塌糊涂啊!这不,我就来给你好好扒一扒,看看这...
黑莓平板安卓系统升级,解锁无限... 亲爱的读者们,你是否还记得那个曾经风靡一时的黑莓手机?那个标志性的全键盘,那个独特的黑莓体验,如今它...
安卓文件系统采用华为,探索高效... 你知道吗?最近安卓系统在文件管理上可是有了大动作呢!华为这个科技巨头,竟然悄悄地给安卓文件系统来了个...
深度系统能用安卓app,探索智... 你知道吗?现在科技的发展真是让人惊叹不已!今天,我要给你揭秘一个超级酷炫的话题——深度系统能用安卓a...
安卓系统的分区类型,深度解析存... 你有没有发现,你的安卓手机里藏着不少秘密?没错,就是那些神秘的分区类型。今天,就让我带你一探究竟,揭...
安卓系统铠无法兑换,揭秘无法兑... 最近是不是有很多小伙伴在玩安卓系统的游戏,突然发现了一个让人头疼的问题——铠无法兑换!别急,今天就来...
汽车安卓系统崩溃怎么刷,一键刷... 亲爱的车主朋友们,你是否曾遇到过汽车安卓系统崩溃的尴尬时刻?手机系统崩溃还能重启,但汽车系统崩溃了,...
miui系统可以刷安卓p系统吗... 亲爱的手机控们,你是否对MIUI系统情有独钟,同时又对安卓P系统的新鲜功能垂涎欲滴?今天,就让我带你...