做小程序这些年,我们见过最多的返工,不是功能没做出来,而是“开发者工具里明明没问题”。电脑上模拟器一切正常,发给老板一扫码,页面白屏;或者安卓机好好的,某款苹果手机上按钮被底部横条挡住,用户根本点不到。小程序测试这件事,说白了就是在上线之前,把这些“用户手里才会出现的问题”提前找出来。

很多客户问微信小程序开发怎么调试,以为装好开发者工具点一下“编译”就算测过了。其实工具只是第一步,真正决定上线质量的,是真机、真实网络和真实账号下跑出来的结果。

模拟器和真机,差别到底在哪

开发者工具里的模拟器,本质是在电脑浏览器内核上模拟手机环境。它方便看布局、看接口返回、打断点,开发阶段离不开它。问题在于它和用户手机终究不是一回事:

  • 渲染内核不同,部分样式在模拟器里正常,到了某些机型上会错位;
  • 电脑网络又快又稳,手机在电梯、地下车库里经常是弱网;
  • 摄像头、定位、蓝牙、扫码、震动这些硬件能力,模拟器只能“假装”调用;
  • 支付、订阅消息这类功能,很多只能在真机上走完整流程。

所以我们做小程序测试的习惯是:功能开发完一块,就用“真机调试”或“预览”扫码在手机上走一遍,不要等全部做完再一次性测。越往后攒,问题越难定位。

小程序测试分几轮做比较稳

一个中等规模的项目,我们一般把小程序测试拆成三轮,每轮关注的东西不一样。

第一轮:功能自测

开发人员自己测,目标是每个页面能打开、每个按钮有反应、表单提交能成功。这一轮重点看接口报错和空数据:列表没数据时页面显示什么?图片加载失败是不是一片空白?网络断开时有没有提示?很多小程序上线后被吐槽“卡死了”,其实是接口超时后页面没有任何反馈。

第二轮:业务流程测试

这一轮最好让懂业务的人来测,比如店长、客服,而不只是程序员。他们会按真实顾客的路径走:进店、浏览、加购、下单、支付、查看订单、申请退款。程序员测功能是“这个按钮能不能点”,业务人员测的是“顾客会不会卡在这一步”。两种视角都需要。

第三轮:兼容和回归

找几台不同品牌、不同年份的手机,苹果和安卓都要有,屏幕大的小的都覆盖一下。改过的 bug 要回头再验一遍,顺手把相关页面也点一点,避免改了 A 坏了 B。

关键流程要单独拎出来验

有几块地方,出了问题直接影响营收或审核,做小程序测试时我们会单独列表逐项过:

  1. 登录与授权:首次进入、拒绝授权后再次进入、换微信号登录,三种情况都要测。用户拒绝手机号授权时,页面不能直接卡死,要给出替代入口或说明。
  2. 支付:正常支付、支付中途取消、支付成功但网络断开回不到页面,这几种都要在真机上走。最后一种最容易漏,结果就是用户付了钱却看到“未支付”。
  3. 分享与扫码进入:从分享卡片、小程序码、公众号菜单进来,落地页参数是否正确。
  4. 订阅消息和短信通知:用户同意订阅后能不能收到,模板内容有没有乱码。

支付相关的测试一定要用真实环境的小额流程验证一遍,测试环境走通不代表正式环境配置无误,商户号、回调地址填错一个字符都会出问题。

小程序测试里的弱网和异常场景

开发者工具里可以模拟弱网和断网,手机上也可以开飞行模式来回切。我们常做的几个动作:提交订单的一瞬间断网;页面加载到一半切后台再切回来;连续快速点两次“提交”按钮。

最后这个很典型,也是小程序测试里最常被跳过的一项。没做防重复提交的小程序,用户手一抖就生成两张订单,客服还得一单单去退。这些都不是复杂技术,只是平时没人去试。

提交审核前的检查清单

小程序测试做完,提交审核之前再对一遍下面这些,能少很多被驳回的情况:

  • 服务类目和实际功能一致,没有超范围的功能入口;
  • 隐私保护指引已填写,收集了哪些信息、用途是什么写清楚;
  • 测试账号、测试数据清理干净,不要让审核人员看到“测试测试123”这类内容;
  • 需要登录才能看的功能,给审核提供可用的体验账号;
  • 首页和主要页面没有空白页、无法点击的按钮;
  • 体验版里留下的调试开关、vConsole 已关闭。

结论

小程序测试别只停留在开发者工具里,真机、弱网、不同机型和完整业务流程都要走到,支付、登录授权、分享进入这几块单独列清单逐项验,审核前再按检查项对一遍。我们在小程序开发项目里会把测试轮次写进排期,交付时附带测试记录。项目快上线、心里没底的,可以打 18720919319 找蔚岚科技聊聊。

常见问题

微信小程序开发怎么调试真机?

在开发者工具里点“真机调试”,用手机微信扫码即可。手机上的操作会同步输出日志,接口和报错都能在电脑上看到,比单纯预览好排查。

小程序测试需要准备多少台手机?

不用很多,关键是覆盖面。苹果、安卓各几台,新旧机型和大小屏幕都有,再加上用户群里常见的品牌,基本就够用了。

体验版和正式版测试结果会不一样吗?

有可能。正式版用的是正式接口和正式商户配置,体验版通过了也建议上线后马上用正式版把下单、支付再走一遍。

没有测试人员,小程序测试能自己做吗?

可以。开发人员做功能自测,再让店长或客服按顾客的路径走一遍流程,问题往往比专职测试找得还准,因为他们最懂业务。

上线后发现 bug 怎么办?

先判断影响范围,影响下单支付的立刻修复并提交审核,必要时在页面加公告说明。小问题可以攒一批统一发版,避免频繁提审。