Skip to content

smoke自动化需求调研

一、QA 模糊需求:

  • smoke-checklist 这里面的内容可以实现自动化吗?

    • 可以自动操作跑流程,至于每一步的验证,需要有可以规则化的标准;比如“主要流程正常”,我们可以规定出每个流程步骤,自动跑的时候记录下每个步骤,符合规定序列的算“正常”,当然可能还需要加入更多验证条件;
    • 如果涉及 sdk 交互的,目前还实现不了自动化,这个我先记下来,先跟其他程序讨论研究下,
      比如“支付正常”,我们可以记录游戏内支付过程、协议交互过程、金币变化等,但没办法自动化 sdk 内部交互,比如苹果支付页面的身份验证、购买按钮等;
    • 还有一部分必须人为主观判定的,实现成本也很高,这个需要作为课题先研究下有没有可行的低成本方案,
      比如“显示正常”,如何界定正常?这方面要实现的话,可能得上机器学习了,这方面技术是个无底洞,恐怕不是我们能够负载的起的;
  • smoke 时检查一遍指定活动资源是否完整、有效;

  • smoke 时跑一遍模拟支付,记录支付过程、协议、金币余量变化等;

二、需求分析:

  • smoke 自动化需求要点:
    • 1、非自动化“测试”,仅实现 smoke 自动化即可,这个阶段表示所有功能都已经通过测试;
    • 2、意义在于,在现有 smoke 时间内,尽可能能覆盖更多内容;
    • 3、更关注的点是,已经上线过的内容是否依然健壮,是否受到版本迭代的影响;
    • 4、目前的需求主要集中在活动方面;
  • 技术端需解决的核心问题:
    • 1、流程自动化和校验:

      包括自动驱动交互、flow,判定和校验每个流程步骤是否符合预期;

    • 2、如何界定预期标准,如何判定是否符合预期:

      比如 QA 提到的“流程正常”,“支付正常”,“显示正常”;

    • 3、如何驱动 sdk 内部的交互流程?

    • 4、实现方案应该足够通用,不能依赖差异化配置,不能产生差异化逻辑,不能每个活动的研发都要去关注 smoke 自动化;

    • 5、最好是傻瓜式操作;不能 QA 学习成本和工作量,QA 对这部分的接受程度很低;

    • 6、搞机器学习不太现实吧?

三、初步方案:

  • 基于“录制”,提供一键开启、关闭操作;

  • “录制”内容包括:

    • 交互过程:记录每个交互 step 相关的 controller、button、响应函数等;
    • 流程回调、数据:记录长表现流程、flow 的 step 记录(恢复时校验);
  • “录制”内容记录到文档:

    加入到 debug 版本控制,release 的时候剔除掉;

  • 载入“录制”文档:提供一键开启、关闭自动化 smoke 操作,检查并载入相关的“录制”文档,按记录自动驱动;

三、第三方工具:

第三方工具实现“交互录制”比较方便,但 step 校验、或者需要嵌入规则会比较麻烦;

另外,对 QA 来讲有学习和使用成本,未必能够接受;

四、方向:

  • AI 方向、自然语言描述、MCP 调用
  • 优先实现游戏内部自动化方案

Released under the MIT License.