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个虚拟账号可使用 |
× 执行真机自动化容易封号 | ✔ 可共用,对于不同小程序虚拟账号是独立的 |
× 不好共享测试账号 | ✔ 可以在云测服务上使用 |