目录

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
    • 博客:最满意的博客,内容,实现 –>

    • 项目流程

      • 如何保障服务需求的稳定性
    • 测试开发

      • 工作比例
      • 测试开发应该具备什么?
    • 熟悉的编程语言

    • 管理经验过程

      • 当时是这么个场景、做测试计划、跟进需求的开发进度、安排测试时间
    • 对互联网金融的了解和接触

    • 对测试的理解

      • 想要做好测试,深刻理解用户、产品、业务是非常重要的。任何商业软件最终都是为了解决业务问题和满足用户的需求,而测试正式对这种质量的保证。