软件测试金融项目经验总结,面试题都问什么?

 1、APP端/客户端接口加解密介绍

  加密方式(两种):

  ·在TCP/IP四层模型中的应用层进行加密。类似密码本,当前项目使用的是这种,可以看到所有响应内容,只是看不懂。

  · 在TCP/IP四层模型中的运输层和应用层之间进行加密,通过传输协议实现加密,如https。类似加密路径,此种加密方式抓取到的报文响应内容全是乱码。

  2、加解密接口测试时的要点

  核心就是:编写出与应用服务器相匹配的加密和解密方法。

  所以在公司中加解密的接口测试如何进行:

  找开发来要加解密的方法(因为项目代码中一定有对应的加解密方法);

  在测试环境中将加解密的方法跳过(需要跟开发讨论,看难度和影响而定);

  BUG定位分析

  要求:

  基本要求:定位出bug所属前端还是后端,

  更高要求:bug所属模块,bug的代码级别(不要求),

  价值:

  · 找到BUG的复现路径,提升开发修复BUG的效率

  · 提升自身的逻辑思维与技术能力

  定位的技巧:

  1)逻辑分析

  分析所有可能,逐个排查,找到最短复现路径。

  案例:玩CF游戏,从高处跳下来,概率出现不掉血的情况 —— bug。

  分析问题可能的原因:高度、重量、地形、姿势……

  针对每一个维度分别进行测试分析,将其他因素固定,只改变其中一个因素,最终确定会产生bug的影响因素。

  2)技术手段

  · 查看数据库

  · 抓包分析

  · 查看服务器日志

  案例/面试题:界面上添加用户,在用户列表中未看到对应的用户信息.

  查看数据库中是否有对应的用户记录。有则说明,题目中的两个操作,添加用户的操作成功,查看用户的操作失败;没有则说明,添加用户的操作没有成功。针对第一步确定下来失败的业务操作进行抓包,观察所有的请求和响应数据,同时抓取服务器的日志。

  先看响应码,如果响应中有4XX错误,客户端请求有问题;5XX错误,服务端有问题(大概率是BUG);2XX,则需要进一步的分析。

  响应为200时,检查响应内容:

  · 响应正确,但前端页面显示不出来,查看响应字段和前端定义字段是否匹配,若不匹配,找前端人员来确定是前端/后端没定义好;

  · 响应错误,检查请求参数是否正确

  · 请求参数不正确,前端代码问题;

  · 请求参数正确,但响应错误,结合服务器日志来进行问题的定位(大概率为后端代码问题);

  备注:服务器日志需要与开发人员确定其所在位置。(可写入日志文件,也可能直接打印在命令行窗口)

  测试面试:金融项目测试经验的阐述。(全部要结合具体的案例来回答)

  3、如何测试自己负责的功能模块?(即测试用例怎么设计)

  从功能、性能、易用性、兼容性……各个维度进行测试。

  功能测试时,首先针对每个页面中的功能点设计测试用例;

  具体的那个页面哪些功能点,通过哪些方法设计的,然后再针对业务流程设计测试用例;

  兼容性:如浏览器、操作系统、分辨率。

  4、接口测试用例如何设计?

  单接口的设计

  正向(成功):必填参数、全部参数。

  反向(失败):

  ·参数错误:多参,少参(优先级低)

  · 参数数据错误:数据为空,长度范围错误,类型错误(优先级中)

  · 业务数据错误:基于业务功能返回错误异常(参考API中定义的不同的错误描述)——(优先级高)结合项目的业务来说。。。

  多接口的设计

  整理出系统的业务流程,结合项目的业务来说。

  把业务流程中的每个动作对应接口整理出来,结合项目的业务来说。

  按照业务流程的顺序进行测试,结合项目的业务来说。

  5、接口测试的时机/目的是什么?(问清是指手工执行接口测试还是自动化接口测试)

  · 手工执行接口测试

  时机:后端开发完成,但前端没有开发完成

  目的:尽早发现BUG

  · 自动化接口测试

  时机:在项目测试全过程

  目的:保证项目质量,避免开发修改代码引人新问题(感觉和回归测试差不多)

  6、如何准备接口自动化测试过程中的数据?(一个项目中需要的数据情景是很多样性的,这三种情景都会出现)

  手工构造:只需要一次构造可以长时间使用的数据。

  接口方式构造:需要多次构造,且数据相对比较复杂的情况。

  数据库防暑:需要多次构造,但数据涉及表结构比较简单。(数据涉及的表结构不超过两张)

  7、如何使用Jmeter编写接口自动化脚本?

  · 会编写接口自动化脚本

  · 每个测试用例对应Jmeter中的一个线程组

  · 使用HTTP取样器发送请求

  · 补充用法:数据定义、响应结果的数据关联、响应断言……

  · 对自动化数据能进行自动化清除

  · 配置JDBC连接池

  · 通过JDBC Request请求,执行清除数据SQL语句

  · Jmeter脚本部署到持续集成

  8、如何使用代码编写接口自动化脚本?

  · 先搭建框架(api、script、log、report、utils、app)

  · 定义日志初始化配置和运行脚本的套件

  · 编写脚本时

  · 先定义API接口类

  · 在测试脚本中调用API的接口类

  9、如何保证接口自动化测试脚本的稳定性?

  跑完脚本后清除测试数据;断言时通过连接数据库的方式获取实际的数据,而不使用固定数据。

  10、项目中涉及到第三方接口时如何进行接口测试?

  通过mock技术,模拟第三方系统接收请求,并返回响应。

  11、项目测试过程中发现的印象深刻的BUG

  发现/定位困难,如概率性BUG。有技术含量的BUG,如接口、白和测试,通过代码分析发现的BUG(不是手工容易构造的BUG),BUG沟通过程中,比较曲折,并最终解决。

  以上是印象深刻的BUG的思路,结合自己的项目来准备……

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

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

相关文章

「Vue3面试系列」Vue3 所采用的 Composition Api 与 Vue2 使用的 Options Api 有什么不同?

文章目录 开始之前正文一、Options Api二、Composition Api三、对比逻辑组织Options APICompostion API 逻辑复用 小结 开始之前 Composition API 可以说是Vue3的最大特点,那么为什么要推出Composition Api,解决了什么问题? 通常使用Vue2开…

网工内推 | 保险业网工,有绩效奖金,CISP认证优先,最高16K

01 华贵人寿保险股份有限公司 招聘岗位:系统管理岗(主机管理方向) 职责描述: 1.负责数据中心私有云平台的规划建设以及后期的运行维护; 2.负责公司操作系统的规划、部署与日常维护; 3.负责操作系统运维相关…

rime中州韵小狼毫 help lua Translator 帮助消息翻译器

lua 是 Rime中州韵/小狼毫输入法强大的武器,掌握如何在Rime中州韵/小狼毫中使用lua,你将体验到什么叫 随心所欲。 先看效果 在 rime中州韵 输入效果一览 中的 👇 help效果 一节中, 我们看到了在Rime中州韵/小狼毫输入法中输入 h…

算法第十一天-组合总和Ⅳ

组合总和Ⅳ 题目要求 解题思路 来自[负雪明烛] 题目有个明显的提示:求组合的个数,而不是每个组合。如果是要求出每个组合,那么必须使用回溯法,保存所有路径。但是如果是组合个数,一般都应该想到[动态规划]的解法。 直…

记录 搭载小车 运行激光slam lio-sam fast-lio2

用了将近一个月搭载了一台履带车 其中 主控:NUC i7-8559U 激光雷达为:velodyne16线和hesai64线 IMU为:轮趣N100 mini 对imu使用上位机进行调平矫正 设置输出400HZ 对外参标定 首先使用velodyne16线 安装驱动直接运行,没遇到啥…

人工智能_机器学习092_使用三维瑞士卷数据_利用分层聚类算法进行瑞士卷数据三维聚类---人工智能工作笔记0132

然后我们使用分层聚类算法来对我们导入的瑞士卷数据进行聚类 agg =AgglomerativeClustering(n_clusters = 6,linkage = ward) 可以看到这里我们使用的,聚类距离计算用的是,ward这种,最小化簇内方差的形式,l进行聚类对吧 可以看到这个linkage参数有好几个选择对吧,是之前我们讲过…

面试 Vue 框架八股文十问十答第二期

面试 Vue 框架八股文十问十答第二期 作者:程序员小白条,个人博客 相信看了本文后,对你的面试是有一定帮助的!关注专栏后就能收到持续更新! ⭐点赞⭐收藏⭐不迷路!⭐ 1)常见的事件修饰符及其作…

leetcode06-单调数组的判断

题目链接: https://leetcode.cn/problems/monotonic-array/description/?envTypestudy-plan-v2&envIdprogramming-skills 思路: 判断是否为单调数组只有两种情况: 1.单调递增时 遍历整个数组 若发现有递减的两项 则不为单调数组…

JavaScript中重排与重绘的区别及触发条件

重排(reflow)指的是浏览器计算元素的大小和位置,确定页面中每个元素的几何信息的过程。重排是一项昂贵的操作,会消耗大量的计算资源。 重绘(repaint)指的是在页面中的元素样式发生改变,但不会影…

网络通信理论-入门1

网口框架 100M 2. 物理层解读 2.1 同步的方法:编码 为了让接收方在没有外部时钟参考的情况也能确定每一位的起始、结束和中间位置,在传输信号时不直接采用二进制编码。在 10BASE-T 的传输方式中采用曼彻斯特编码,在 100BASE-T 中则采用 4B/…

一切皆文件有必要单独提出来说

引述 Unix/Linux操作系统血脉,一切皆文件的设计哲学被一直继承了下来。 以前多次很有疑问,为什么操作系统设计上会锚点到文件上呢? 图灵机 如果去刨根问底一切皆文件的设计哲学,就不得不提到图灵机理论。 在图灵机模型中&…

Java JDBC整合(概述,搭建,PreparedStatement和Statement,结果集处理)

一、JDBC的概述: JDBC:是一种执行sql语句的Java APL,可以为多种关系类型数据库提供统一访问,它由一组用Java语言编写的类和接口组成。有了JDBC,Java人员只需要编写一次程序就可以访问不同的数据库。 JDBC APL&#xf…

Xpath定位方法

Xpath定位方法 1.根据路径定位 #绝对路径:以/开头从html开始一级一级往下写 driver.find_element_by_xpath(路径) #选中元素->右击->copy full xpath #相对路径:以//开头 路径[第几个符合条件的元素]2.利用元素属性定位 //标签名[属性名属性值…

LCR 076. 数组中的第 K 个最大元素

LCR 076. 数组中的第 K 个最大元素 题目链接:LCR 076. 数组中的第 K 个最大元素 下面这个题与这个题一样: 题目链接:215. 数组中的第K个最大元素 这个代码只能通过第一个题,如下: class Solution { public:int fin…

Python+PyCharm的安装配置及教程(实用)

python and PyCharm 安装教程可参考:https://blog.csdn.net/wangyuxiang946/article/details/130634049 Pyhon 下载地址:https://www.python.org/downloads/ PyCharm 下载地址:https://www.jetbrains.com/pycharm/download/?sectionwindo…

AP9196 DC-DC升压恒流电源管理芯 3-40V 200W升降压线路图

产品说明 AP9196 是一系列电路简洁的宽调光比升压调光恒流驱动器,适用于 3-40V 输入电压范围的 LED照明领域。AP9196 采用我司专利算法,可以实现高精度的恒流效果,输出电流恒流精度≤3%,电压工作范围为5-40V&#xff0…

步进电机调速原理

/*----------------------------------------------- 内容:本程序用于测试4相步进电机常规驱动 2个按键 调节速度 使用1-2相励磁 数码管显示 1-5速度等级,数字越大,速度越小 --------------------------------------------…

运维工程师的困境和解困之道

运维工程师是指负责维护和管理企业IT基础设施的专业人员。他们需要确保从应用程序到服务器、网络等所有层面的运行顺畅,以支持企业的日常业务运营。运维工程师的工作涉及到诸多领域,包括系统管理、网络管理、存储管理、安全管理和自动化等。 业务部门对I…

在Fiber中处理请求和响应

掌握GoLang Fiber中请求和响应管理的艺术,以实现高效的Web开发 在Web开发领域,有效地处理请求和响应是构建既用户友好又高效的Web应用的基石。该过程涉及管理传入的HTTP请求、解析数据和参数、构建适当的响应、处理不同的响应类型以及优雅地处理错误。对…

微机原理14练习题答案

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案。) 1,下面寻址方式的操作数不在存储器中的是(C) A. 堆栈寻址 B. 寄存器间址 C.寄存器寻址 D. 直接寻址 2,条件转移指令JNE的条件是(C) A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 3…