接口测试测什么?一个简单问题把我难住了

news2025/1/10 15:00:46

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

一、功能测试

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

接口是否按照设计文档中来实现(比如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数据库的操作?
  • 优化数据库?提高数据库的性能?
  • 什么是数据的完整性?

第五篇 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测试有哪些不同之处?

总结:

由于内容过多,就不在这里就不把所有的知识点内容列举出来,阿里大牛总共整理了有400多页的PDF文档,有需要的可以点击下方小卡片进群免费获取~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/602506.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MEX 文件 ‘lsd.mexw64‘ 无效: 找不到指定的模块。问题解决方法

问题描述 在跑MATLAB和C混合编程的一个算法时,出现了如下错误: MEX 文件 C:\Project\final code\reference code\lsd.mexw64 无效: 找不到指定的模块。 如下图所示: 原因分析 根据资料[1]的说法,*.mexw64文件无效可能的原因是缺…

GitLab从旧服务器迁移到新服务器(空间不足,gitlab安装报错)

注意事项:迁移前首先要保证新旧服务器上的GitLab版本号一致,而且gitlab的包要符合安装的系统gitlab安装,系统与安装包不一致导致的安装错误。 1.查看当前GitLab版本 cat /opt/gitlab/embedded/service/gitlab-rails/VERSION显示为 12.5.5。…

Linux之Ubuntu 22.04实现微信双开

Linux之Ubuntu 22.04实现微信双开 基于deepin-wine仓库安装第一个微信添加仓库安装对应软件包com.qq.weixin.deepin 微信的安装存在的问题补充 Linux下使用模拟器进行微信多开(可取?)下载Linux模拟器下载完成打开: 安装第二个微信…

zookeeper机制及消息队列kafka集群部署

目录 一、zookeeper1、zookeeper简介2、zookeeper特点3、zookeeper工作模式及机制4、zookeeper应用场景及选举机制5、zookeeper集群部署 二、消息队列kafka1、为什么要有消息队列2、使用消息队列的好处3、kafka简介4、kafka特点5、kafka系统架构名词介绍6、Kafka架构及流程7、k…

技术分享 | 如何编写同时兼容 Vue2 和 Vue3 的代码?

LigaAI 的评论编辑器、附件展示以及富文本编辑器都支持在 Vue2(Web)与 Vue3(VSCode、lDEA)中使用。这样不仅可以在不同 Vue 版本的工程中间共享代码,还能为后续升级 Vue3 减少一定阻碍。 那么,同时兼容 Vue…

Shell脚本攻略:文本三剑客之grep

目录 一、理论 1.grep 2.sort 3.uniq 4.tr 5.cut 6.split 7.paste 二、实验 1. grep 2.sort 3.uniq 4.tr 5.cut 6.split 7.统计当前主机的连接状态 8.统计当前连接主机数 一、理论 1.grep (1)概念 grep是Linux中最常用的”文本处理工…

Redis-主从复制以及哨兵

前言 ​ 要避免单点故障,即保证高可用,便需要冗余(副本)方式提供集群服务。而Redis 提供了主从库模式,以保证数据副本的一致,主从库之间采用的是读写分离的方式。在 Redis 主从集群中,哨兵机制…

共享打印机出现文件无法打印|0X00000709错误的解决方案|win7 win11

现在办公室通常会使用打印机共享功能,在使用打印机共享中会出现在[文件无法打印,因为在“\ip\打印机名 在Ne02:”上发生错误] 这时,我们输入相应IP重新共聚共享端打印机,就会出现“0X00000709”的错误。 回到共享端…

Rust in Action笔记 第三章 复合数据类型

通过#[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZI50wIh1-1685693144796)(null)]),不带感叹号的#[allow]仅为下一行代码提供属性,属性有多种分类,文中出现的allow属性称为诊断属性(Diag…

僵尸网络检测数据集CTU-13介绍及使用

首先感谢爱学习的大白菜爱学习的大白菜的博客_CSDN博客-刷题,ACM之路,机器学习领域博主对CTU-13数据集的描述的翻译,这使得后面对这份数据集的理解更加容易。 参考CTU-13数据集_爱学习的大白菜的博客-CSDN博客 由于要做僵尸网络检测的工作,但是没有相关…

权限维持-HOOK-DLL加载

前言 继续来研究关于权限维持的方法,这里希望与各位一起加油。 这里的HOOK其实指的就是Hook PasswordChangeNotify 其中PasswordChangeNotify是一个函数,如果修改的密码符合要求,那么PasswordChangeNotify在系统上同步更新密码,然…

网讯1860网卡网络流控导致网络异常问题

1、背景介绍 目前使用的飞腾平台中采用国产化WX1860千兆网卡芯片,交换芯片采用盛科的CTC8096。示意图如下: 当其中一块飞腾系统异常时,发现整个平台内所有的千兆网均出现异常,任意两个飞腾千兆网均无法ping通。 2、问题排查 一…

什么是边缘计算网关以及什么是边缘计算?

边缘计算 边缘计算是一种分布式计算范例,使计算任务从数据中心或云端移向离数据源更近的地方,即网络的"边缘"。这样做的目的是降低网络延迟,提高数据处理速度,同时减少不必要的数据传输,节省带宽和存储资源。…

如何实现折起来的效果

如何实现范围裁剪和旋转效果。 日常 我还是希望自己的博客能够存在一些温度,而不是冷冰冰的技术分享,我希望留下专属于我自己的个性,就像鸿洋和郭霖的公众号一样。他们会在自己的博客顶端随便写一下最近的新闻什么的,而我不同&a…

msvcr110.dll丢失的解决方法哪种好,推荐这个4种解决方法

Msvcr110.dll是Microsoft Visual Studio 2012的运行时组件之一。这个DLL文件包含一些用于Windows操作系统的C函数库。当程序需要这些函数时,它们会被加载到内存中,以便程序可以使用它们。 当计算机提示“msvcr110.dll丢失”时,可能出现以下影…

基于matlab使用接收机工作特征 (ROC) 曲线评估相干和非相干系统性能

一、前言 此示例说明如何使用接收机工作特征 (ROC) 曲线评估相干和非相干系统的性能。该示例假设检测器在加性复杂高斯白噪声环境中工作。 ROC曲线通常用于评估雷达或声纳探测器的性能。ROC 曲线是给定信噪比 (SNR) 的检测概率 &a…

介绍CSDN的阅览器

大家好!今天给大家一款由csdn官方打造的一个界面阅览器 意思就是靠我们自带的阅览器改变他的外观方式,这就是我用了CSDN阅览器之后的效果图 然后我们也可以清晰看到我们整个界面,对于我们经常写csdn博客的小伙伴来说是很方便,因为…

配电室动环监控系统的功能与应用

来源:山东仁科www.rkckth.com 六月天的 【配电室】,表面 “ 风平浪静 ”,实则 “ 多面夹击 ”。 步入六月份的夏季由高温掌控,为营造舒适凉爽的生活环境,人们的用电量也进入“汛期”,急速上涨&#xff0c…

亚信前端面试真题

目录 1.如何设置一个元素不可见? 2.谷歌浏览器设置比12px还小的字体? 3.深拷贝实现方法???????? 4.防抖节流实现原理???? 5.遍历循环数组方法????? 6.vue的双向绑定????? 7.compute和watche…

【MySQL高级篇笔记-InnoDB数据存储结构 (中) 】

此笔记为尚硅谷MySQL高级篇部分内容 目录 一、数据库的存储结构:页 1、磁盘与内存交互基本单位:页 2、页结构概述 3、页的大小 4、页的上层结构 二、页的内部结构 1、分三个部分看 2、从数据页角度看B 树如何查询 三、InnoDB行格式(或记录格式) 四、区、段与碎片区…