MiniTest 微信小程序云测服务简介
MiniTest 微信小程序云测服务是一套由微信测试团队自主研发,联合 WeTest 云真机能力,共同推出的微信小程序自动化测试服务。
服务基于云真机,支持开发者简单快捷地实现小程序智能化 Monkey 测试,录制回放,自定义测试和性能分析等能力,并提供详细的测试结果及性能数据,云测服务目前支持的技术图片如下:
一、丰富的自动化能力
1. 零代码接入智能化 Monkey 测试
智能化 Monkey 基于微信团队自研的一套智能探索算法,程序会自动识别小程序中可操作的节点,建立探索路径,从而实现对小程序页面的智能遍历。这种模式非常适合页面较少,功能简单的小程序。我们也推荐大多数开发者选用这种模式,来实现零代码、低成本的快速冒烟测试或回归测试。关于 Monkey 的详细介绍,可以参考 微信小程序自动化测试——智能化 Monkey
测试过程中自动获取常规性能数据,如内存,CPU 占用等,并会检测 黑白屏,JsError,Crash
异常情况,若出现异常情况会标记测试结果失败,并展示相关异常信息。
2. 录制回放
录制回放可以比智能化 Monkey 更进一步地指定测试场景,极地大提升了测试覆盖率,并且支持断言,元素检查等操作。
开发者可以在开发者工具上,通过点点点方式进行 录制回放,然后在云测服务上使用真机上进行回放。
在报告中,详细记录了跑测用例耗时情况,及日志信息、网络详情等、性能分析
且当录制回放步骤失败,报告展示相关错误信息,并提供错误排查指引,也可以加入企业微信群,联系 MiniTest 小助手排查
3. Minium 自定义测试
小程序测试框架 Minium 是微信团队为开发者提供的一套测试接口,可以简单快捷地实现对小程序的自定义测试。云测服务支持基于 Minium 框架的脚本在真机测试。
开发者先根据业务需求,编写 Minium 测试脚本,编写完成后,在云测插件中上传用例,提交测试任务
测试报告总览提供用例信息、设备跑测用例耗时情况,错误信息等
测试详情信息,提供日志、网路详情、性能分析等
用例执行错误,提供用例代码及指示出错行、错误日志,可进一步排查错误原因
4. 自动化能力对比
自动化测试能力 | 优点 | 缺点 | 适应场景 |
---|---|---|---|
智能化 Monkey | 零代码,接入即用,可通过简单配置页面提高覆盖率 | 场景无法定制化;不支持输入,上传图片等复杂操作;不校验页面逻辑 | 快速冒烟测试 |
录制回放 | 零代码生成用例脚本;快速生成用例,效率高 | 部分操作不支持,如果是上传图片用例调整不如 Minium 灵活;录制和回放的环境不同,有一定概率回放失败,需要调试 | 较简单的用例,自动化回归测试 |
Minium 自定义测试 | 完全定制测试场景;灵活度高,能力全面;支持数据驱动测试(DDT) | 需要自己写 Python 脚本,有一定的学习成本 | 较复杂的用例 |
二、性能分析
在云测服务跑查任意测试时,会自动获取跑查过程中的以下性能数据
- 小程序启动时间
- CPU
- 内存
- FPS
- 启动性能专项测试
1. 启动性能分析
小程序启动是小程序用户体验中极为重要的一环,启动耗时过长会造成小程序用户流失,影响用户体验。
通过多次测试用户首次访问(需下载代码包)以及用户非首次访问(已下载代码包)两种情况,分析小程序在各个阶段的启动耗时情况,并以时序图展现,可清晰看到耗时分布情况,帮助用户针对性地提升启动性能
2. 真机体验评分
除了启动性能外,体验评分 也是开发者优化小程序的重要途径之一。云测服务将该能力移植到真机运行,更加贴近用户实际使用场景,并且和前面支持的自动化能力相结合。体验评分报告示例
三、其他能力
1. 支持多个小程序版本
云测服务为用户提供自动跑查 开发中版本、体验版、线上版 小程序
- 开发中版本:开发者可以使用预览的形式,提测开发中的版本,提前介入测试
- 体验版本:提测 MP 平台 上指定的体验版本,适用于小程序上线前跑测
- 线上版本:提测小程序线上版本
2. 支持第三方接口提测
云测服务为了方便用户打通 Devops 流程,提供第三方 https 接口提测方式。具体可参考 第三方接口文档
3. 支持第三方服务商
云测服务支持小程序第三方服务商 提测。小程序第三方服务商对接业务小程序多,相对于普通开发小程序,每周免费跑测时长会增多
此外对于第三方服务商,特别支持快速 Monkey测试模式,方便服务商一次测试多个授权的小程序。
4. 支持虚拟账号测试
云测服务只支持虚拟测试帐号跑测,以下是使用自己微信号与使用虚拟测试账号的对比
使用自己微信号 | 使用虚拟测试账号 |
---|---|
✔ 自由配置 | ✔ 可在开发者工具上配置使用 |
× 构造场景有限 | ✔ 24 个虚拟账号可使用 |
× 执行真机自动化容易封号 | ✔ 可共用,对于不同小程序虚拟账号是独立的 |
× 不好共享测试账号 | ✔ 可以在云测服务上使用 |