请选择行业
请选择职位
请选择省份
请选择城市

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

时间: 2024-01-04 14:44   作者: 网易测试开发猿   点击次数: 
 
  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的思路,结合自己的项目来准备……

打印本页 | 加入收藏

上一篇:成为一名合格的软件测试工程师,得掌握什么    

关闭  
主要城市: 北京 上海 杭州 广州 南京 武汉 长沙
全部城市: