1、字节跳动移动端智能化测试实践朱宏宝/字节跳动-客户端测试技术专家朱宏宝朱宏宝字节跳动,客户端测试技术专家,负责前端智能化测试能力建设。十余年软件测试与技术管理工作经验,有服务端、移动端业务测试经验。近几年主要从事效能平台工具开发,负责过多个公司级效能平台从0-1建设。曾就职于贝壳找房、滴滴出行、京东等公司。个人简介目录移动端质量保障建设痛点移动端智能化建设思路业务落地挑战和经验能力落地效果LLM赋能移动端自动化规划LLM赋能移动端自动化应用的探讨字节移动端质量保障挑战字节跳动业务高速发展,移动端质量保障过程面临着巨大的挑战。应用复杂性与多样性挑战上百款移动端产品,每款应用都独具特色和功能。为了
2、确保每个应用都能达到高质量的标准,我们需要根据应用的不同类型和特性量身定制测试方案快速更新与迭代带来的测试压力用户需求场景日新月异,导致我们的产品必须频繁地进行更新和迭代。为了确保每次迭代都能带来更好的用户体验,测试计划和测试方法必须紧跟产品的步伐,不断更新和优化,以适应快速变化的需求。字节移动端自动化痛点应对移动端质量保障的挑战,通过自动化提质效是我们认为的最有效手段。但在推进移动端自动化过程中,却存在诸多困难。建设和维护成本高,无法降人效建设和维护成本高,无法降人效l 生成成本:自动化case通过脚本编写,完成单个case编写与调试需较高的时间成本,并且还要求写case的人有代码功底。l
3、维护成本:新feature多,业务需求迭代频繁,自动化case更新跟不上业务变化。稳定性差,无法例行化执行稳定性差,无法例行化执行断言能力不足,召回率低断言能力不足,召回率低l 涉及Feed流场景多,如头条、小说App,易受服务端数据变化影响,导致用例运行稳定性差,无法例行化执行。l 有些业务场景,需要构造客户端和服务端的环境才能稳定命中,用例才能正常回放。l 端设备分辨率不统一,页面布局不一致,小屏录制的用例,大屏设备无法运行。l 已有的自动化能力,通过assert方式的断言仅能实现限定控件的断言,无法实现对页面效果的全面断言。l 线上故障和问题经常发生在前后端数据渲染一致性上。仅通过UI断
4、言无法召回。行业工具参考技术解决问题域解决思路通用性用例设计/编写环境构造能力录制执行能力断言能力深入挖掘业内成熟工具的先进经验。主要关注以下维度内容:业务应用业务应用业务应用场景用例生产时机业务应用阶段行业工具的问题字节的App,多为Hybrid App,除使用行业通用的Native、webview、flutter技术方案外,还在大量使用字节特有的Lynx框架渲染页面。外部自动化工具,无法全面兼容页面元素的获取。无法支持复杂的控件类型无法支持复杂的控件类型为达到较高的业务场景自动化覆盖,需要结合实验控制、资源控件下发、账号切换、业务场景还原等一系列的联动才能实现,外部工具很难满足高度定制化能
5、力。无法支持复杂的环境数据准备无法支持复杂的环境数据准备未发布的产品和和国内外业务数据属于机密,无法外发于第三方工具平台。无法保障安全性无法保障安全性解决方案意图识别录制、片段编排生成用例,低成本生产用例低低成本成本流量自动分级Mock、控件属性变更纠错自愈、分辨率变更稳定滑动,多维策略保障运行稳定性高高稳定稳定页面元素级全局diff断言、音视频断言、ui及流量级特征提取断言、AI断言,客户端问题无死角验证保召回保召回统一控件树兼容多元化控件类型、录制回放过程融合业务场景还原构造,实现业务场景全覆盖扩覆盖扩覆盖提供一站式、低成本生成自动化用例的平台化解决方案提供一站式、低成本生成自动化用例的平
6、台化解决方案解决方案-录制流程解决方案-回放流程技术方案业务指标能力指标问题召回率目标场景覆盖率用例生成成本(s/版本)例行化维护总耗时(s/版本)场景可覆盖率例行化用例稳定性用例生成成本(s/步)例行化维护总耗时(s/版本)研发自测提测准入新功能测试回归测试灰度测试线上巡检客户端功能测试系统级端到端测试埋点测试兼容性测试稳定性测试异常测试用例管理任务管理指标大盘标准用例管理用例集管理录制用例管理片段管理安装包管理执行/调试用例编排特征提取断言规则配置流量编辑业务指标看板能力指标看板用例生成能力任意门(mock)shoots(控件树)auto shoots(录制)Bytest(执行/真机/用例