大家好,我是来自微信小程序云测团队的nahua。
云测服务针对小程序自动化测试能力有三种类型:
本次课程先介绍最容易上手的 智能化Monkey测试,其他两种类型我们会在后面的课程中详细介绍。如果对云测服务不熟悉的同学可以看一下上期的小程序云测服务简介教程。
背景介绍
首先我们来看一下几个大家在测试中可能遇到的场景,主要分为个人开发者和第三方服务商。
个人开发者
大家知道,开发一个小程序其实还是比较容易的,有很多小程序是 个人开发 的,也没有专职测试同学,简单来说是希望做个基本的冒烟测试,主要包括:
- 保证页面可用,能正常打开;
- 没有黑白屏之类的异常情况。
第三方服务商
除了普通小程序开发者,还有一些是小程序 第三方服务商,帮助授权他们的商户代开发小程序,比如有赞、微盟等,他们特点是:
- 有非常多个小程序授权给他们开发;
- 第三方服务商有若干个开发模板,根据客户需求修改部分配置,即可将模板填充到商户小程序中,当他们更新开发模板时,可能会影响众多授权给他们的小程序。
有没有办法可以快速查验多个授权的小程序是否正常呢?
智能化Monkey使用
下面我们来具体看看怎么使用云测服务的智能化Monkey能力解决这些问题
大家知道,智能化Monkey服务是接入即用,无需任何配置,可以很方便的实现零代码低成本的快速冒烟测试。使用方法非常简单:
- 进入云测服务后,点击新建任务,测试类型选择Monkey,点击立即创建任务。你也可以根据自己的需求,调整创建参数,如调整跑测机器数量、Monkey测试时长等。
- 整体测试流程是在测试过程中,通过智能化点击的方式,自动建立探索路径,实现对小程序页面的智能遍历,无需用户操作。
测试结束后,云测服务提供详细的测试报告,主要包括报告总览和设备详细信息。
报告总览
报告总览列出了本次测试的基本情况,如小程序类型,测试的覆盖率(计算方式是本次测试覆盖页面数除以现网页面总数,主要用来标识本次测试覆盖页面的情况),还包括:
- 问题列表:展现本次测试发现的所有问题,主要包括JSError、黑白屏、网络请求异常,性能问题 和 最佳实践建议,点击展开详情会从右侧展开问题详细情况,方便用户快速查看问题;
- 设备列表:以设备维度展现本次测试跑测的所有设备信息、测试结果、设备发现的问题,点击查看详情可查看该设备本次跑测的详细信息;
- 覆盖页面:以页面维度展现本次Monkey测试覆盖的所有页面,以及每个页面发现的问题;
- 资源占用:展现每次设备测试的启动耗时,平均内存和CPU等性能数据信息。
设备详情
点击设备列表或性能数据中"详情"按钮,进入测试详情页面。它以设备为维度,展示本次跑测详细信息,包括:
- 运行截图:可以用来观察小程序执行情况;
- 异常检测:如发现有JSError、黑白屏等异常情况,会有Tab显示详细情况。对于JSError,可支持用户上传SourceMap文件反解;
- 网络请求详情:展示跑测过程中的小程序网络请求信息,如有发现网络请求异常,可在这里查看详细情况;
- 体验评分:通过体验评分展示了真机测试中运行时性能分析,帮助开发者发现并解决性能问题,详情可参考运行时性能检测--体验评分;
- 覆盖页面:展示本设备跑Monkey时覆盖了页面情况,以及发现的问题;
- 资源占用:记录了跑测过程中的CPU和内存性能曲线,点击曲线点可以看到点前时间截图。
那么报告如果发现异常,怎么排查呢?我们举一些例子,比如发现
- 页面性能问题:可通过体验评分的详情数据,对小程序进行优化;
- 网络请求异常:可以查看网络请求详情和体验评分中的错误信息,可以根据这些错误信息排查;
- JS-Error异常:可以选择上传Sourcemap,解析并定位到代码;
- 黑白屏异常:可查看体验评分数据中的页面渲染耗时,看一下是否是页面渲染耗时过长导致的。
快速Monkey
在前面的测试场景中,我们还提到,有部分用户是第三方服务商,当开发模板变更时希望可以同时做多个小程序的快速冒烟测试,而快速Monkey模式则很适合这个场景。快速Monkey支持:
- 一次提测最多30个小程序;
- 每个小程序跑测1分钟智能化Monkey检查异常情况;
- 可为每个小程序指定页面做冒烟测试。
下面演示一下快速Monkey测试能力(具体演示界面请点击上方视频进行观看):
- 进入云测,创建快速Monkey任务(一个AppId 1分钟,可以填最多30个AppId);
- 等待跑测结束,无需用户操作;
- 查看测试报告。
相比于智能化Monkey报告,报告总览多了用例列表(跑测小程序),没有问题分布环形图;详情页面则比较简单,只有运行截图,及异常信息(JS-Error、黑白屏)
总结
最后我们总结下怎么用云测服务智能化Monkey能力解决测试场景中的问题?
个人开发者希望保证页面可用性,可以在版本变更前直接提测体验版本智能化Monkey测试,做发版前的快速冒烟测试。
第三方服务商在开发模板变更后,可以用快速Monkey能力提测多个小程序的冒烟测试,来检查小程序是否正常显示。
讲到这里很多同学可能会有个疑问,前面说智能化Monkey很多优势,比如接入即用、智能探索,那么智能化Monkey有什么缺点呢?其实缺点也很明显,智能化Monkey目前主要是做点击操作,即:
- 暂不支持输入框、上传图片等复杂的交互;
- 无法做用户断言,做不了页面逻辑校验。
所以它比较适合做冒烟测试,无法做功能测试,那么我们怎么做小程序的功能测试呢?可以参考小程序自动化测试后续课程中的,录制回放和自定义测试教程。
此外,我们针对智能化Monkey测试做了进一步优化:
- 支持优先遍历线上用户访问多的页面,这样更符合业务实际情况;
- 支持配置登录模块,进一步提高小程序覆盖率(很多用户小程序有个登录过程,如果未登录的小程序遍历效果很差,配置登录模块,后续在智能化Monkey扩展中有讲解)。
最后大家在使用云测服务时遇到任何问题或者想要吐槽的,可以查看文档:需要帮助 | 微信开放文档。