Interview:项目经验
项目经验
支付相关
-
支付业务
- 转账、跳转支付、APP内扫描、wap
- 给各个业务组开发提供的功能的有效性;测试对外部的第三方接入平台的兼容,比如说支付宝就有扫描支付,跳转APP支付、wap支付、免密包月自动续费
-
项目架构、逻辑组网
- 怎么确保计费不出错
对账 操作原子性
-
质量保证
-
安全措施
-
token确定上下文信息
-
md5加密盐值
-
支付 跳转支付安全问题
- 截取报文,然后返回给实际完成支付的人,无法识别是不是存在帮忙代付的情况
-
https 封装
-
支付重复订单处理机制
- (补充:分布式锁)一个订单表,一个订单成功表,主键唯一
-
-
怎么保证支付网关的质量,做了哪些测试保证
- 自动化、后督系统、对账系统
- 补充:系统架构的完整性设计、可靠性验证
-
支付转账测试的注意点,怎么做的
- 走完整个链路:发起(从第三方银行或数据)、数据传递、接收
-
支付测试需要做的注意点
-
-
测试设计
-
支付转账100块接口(账户转账/银行卡转账-账户接收/银行卡接收)
-
支付转账如何测试(镖局)
- 走完整个链路:发起(从第三方银行或数据)、数据传递、接收
-
-
遇到的最多的问题是什么
-
支付网关/短信网关的golang重构(自动化选型 应用 推广),微服务化,容器化功能测试
-
短信网关的重构后功能的性能测试
-
mycat数据库分库基准测试
- 为什么分库:数据量太大,使用十天分表一次的机制,查询数据等操作必须加上时间戳,相当于指定数据库
-
dbconsummer架构调整后的性能基准测试
-
车联网
-
通信协议
-
协议报文内容,二进制协议
- 报文长度
- 报文头
- 报文体
- 摘要体
-
项目架构、逻辑组网
-
-
协议测试?
ELB
-
ELB主要测试的是什么内容
-
ELB 怎么样实现的为什么要使用ELB(nginx开源,四层转发,异步消息队列)
-
怎么保持长链接
-
4层传输层的负载均衡
- 因此它不自主干预HTTP层面的解析和操作,它只是HTTP文本的搬运工,客户端和服务端的请求头和响应头就穿透了。
-
-
自动化怎么做的
- 封装不同的shell脚本,组成一个个用例的场景
自我介绍
- 英文自我介绍
项目优化
-
测试内部改进
- 深入了解业务内部逻辑实现,输出业务总结文档,提升质量
- 测试流程改进
- 线上问题反馈跟踪,定位和总结改进
- 接口线上检测(鹰眼系统)
- 自动化测试(可维护,有实际效果)
-
项目流程改进
-
产品准入标准
- 关键指标定义
-
研发准入标准
-
项目过程数据收集(过程数据定义,反映问题)
-
测试环境维护管理即版本发布流程优化
-
项目成本优化(数据收集,针对性优化)
-
产品质量数据收集
-
-
测试左移有哪些手段
-
在一切开始之前先进行测试,测试对象是需求,越早的发现需求不合理的地方出问题的几率就越低。
-
单元测试,通过代码覆盖率的方式找到未经测试的代码,尽可能的保证代码都被测试到
-
提测标准
-
代码review
- 找到测试点
-
代码扫描
-
自动化验证,性能测试,
-
补充
- 健康的项目流程(合理并且严格遵守的项目流程)
- 合理的需求分析(评估需求的质量,分析需求的合理性以及完整性)
- 出色的系统架构
- 完整的系统设计(评估设计的质量,分析需求的合理性以及完整性)
- 充分利用静态代码扫描
- 进行研发标准的定义
- 更早的测试分析(先于开发完成需求的分析,做好各种评审的准备)
- 尽早的测试执行(提早参与测试执行,在集成前就发现一些问题)
-
-
测试右移有哪些手段
-
生产环境做监控预警
-
服务请求的正常与否
- 鹰眼
-
服务资源的监控
- 自动扩容HPA
-
-
埋点数据 上报分析
-
补充
- 闭环的线上问题反馈-检查-解决-更新流程
- 更便捷的日志查看、回传服务
- 丰富有效的log,便于问题的快速定位
- 丰富的监控指标(例如业务异常点指标)
- 成本监控(例如短信发送等)
- 关键指标每日监控(服务器指标)
- 生产数据监控(警报)(通过sql语句实现生产数据监控,例如是否有多个订单号一样的订单出现等)
-
项目架构
- 支付网关逻辑组网
- counter系统逻辑组网
具体问题
-
项目流程
-
怎么确保测试的质量?
- 测试前
- 测试时
- 测试后
-
一个没有接口文档的服务怎么进行测试?
- 找相关人员了解
- 查看代码完成初步测试设计
- 总结输出相关文档,防止后续人员出现类似问题
- 沟通后续解决流程
-
接口测试怎么做
- 考察自动化回归
-
当前项目的角色定位
- 能力定位
- 技术定位
-
-
技术拓展
-
最近研究什么新的测试技术
-
Yapi服务mock工具
- 已在服务集群内部完成构建
-
-
熟悉的开源框架
-
Python
- Phoenix Framework
- selenium
- Robot Framework
-
Golang
-
Gauge
-
goconvey
-
ginkgo
-
-
RedwoodHQ
-
-
测试框架的理解/需要注重的点
-
-
通用问题
-
印象最深的项目
-
对测试的理解,为什么选择做测试 –>技术,以测试为入口
-
最近项目
-
最近测试的一个功能点
-
重构过程中,测试工作工作如何开展
-
团队规模
-
有趣的bug
- 抽奖活动:金币奖品、会员奖品,8中类型,每种有特定的比例,会员奖品未抽中时按照比例触发,抽中后无法再次触发,第一个开发理解错误,以为这个抽中后无法再次触发时所有人只能触发一次。所以新建了一个表存储相关的信息,我这边开启了压测的模式,然后发现怎么都无法触发,最后调用pprof火焰图,发现了问题
- 阿里的redis优化-事务(pip)
-
最有技术含量的项目
- 手雷项目组:
- 1、完成服务上云过程中很多服务的性能基准压测;
- 2、完成自动化的全面覆盖、自动化小工具的开发
- 3、完成Golang自动化测试框架的选型、推广应用,自动化小工具的开发应用
- 4、完成接口测试自动生成异常用例的开发
- 5、完成埋点数据测试工具的开发,并推广应用
-
你理解的测试开发是什么
- opsdev
-
博客:最满意的博客,内容,实现 –>
-
项目流程
- 如何保障服务需求的稳定性
-
测试开发
- 工作比例
- 测试开发应该具备什么?
-
熟悉的编程语言
-
管理经验过程
- 当时是这么个场景、做测试计划、跟进需求的开发进度、安排测试时间
-
对互联网金融的了解和接触
-
对测试的理解
- 想要做好测试,深刻理解用户、产品、业务是非常重要的。任何商业软件最终都是为了解决业务问题和满足用户的需求,而测试正式对这种质量的保证。
-