介绍小程序

小程序的架构

微信小程序的框架包含两部分View视图层、AppService逻辑层,View层用来渲染页面结构,AppService层用来逻辑处理、数据请求、接口调用,它们在两个线程里运行。

视图层使用WebView渲染,逻辑层使用JSCore运行。

视图层和逻辑层通过系统层的JSBridage进行通信,逻辑层把数据变化通知到视图层,触发视图层页面更新,视图层把触发的事件通知到逻辑层进行业务处理。

小程序的限制和对测试的影响

目前小程序在UI、设计、样式、页面跳转、消息大小等都有自己的限制,具体的限制可以查询如下链接:https://github.com/iamxwk/Code-wiki/issues/18

上面的限制对测试来说主要是以下几个方面

1 数量限制

小程序一个应用只能同时打开5个页面,在规划新需求的时候一般会考虑到5个页面的限制,但是需求迭代越来越多跳转关系比较复杂的时候很容易忽略5个页面的限制,这个时候如果跳转逻辑超过5个页面会出现跳转打不开的情况。因此在需求评审的时候就应该把小程序的跳转关系有个整体的梳理,在新加页面处理跳转关系的时候能够一目了然不会出现超过5层限制的问题。这里推荐使用流程图的形式来展现页面的跳转关系。

如果已经做到跳出5个页面的限制,需要特别查看各个页面间的跳转情况,重复进入的页面以及关闭页面能否返回上一层页面。

2.大小限制

小程序源码打包后的大小限制为1M,因此源码中的图片和icon和数据等都需要压缩。这里就可能出现数据和图片丢失,不清晰等问题


小程序的测试4大方面

小程序虽是微信推出的新形态的产品,但是在测试思路上跟其他的客户端测试在模式上也有类似之处。小程序的测试也可以主要分为4个方面,即功能测试、兼容性测试、性能测试、后台接口测试。对于安全性测试由于小程序集成在微信客户端内,相比于传统的网页来说安全性能够更有保障。只要在后台接口测试上保证数据的安全性,客户端的安全性由微信app来替我们保证。

1.功能测试

功能测试跟传统的web端的功能测试类似,这里不再赘述。用例设计方法等跟需求相关性较大。

2.兼容性测试

包括操作系统兼容性,屏幕兼容性,微信兼容性

操作系统兼容性:

为什么小程序会出现操作系统兼容性,因为Android和ios系统上小程序的JavaScript脚本的执行环境不同。官方文档中有说明,在开发工具上,小程序的js代码时运行在nwjs中,在ios上是运行在JavaScriptCore中,在Android上是通过X5JSCore来解析的。正因为脚本执行的环境不同,因此在开发工具上正常的小程序有可能在ios和Android系统上不符合预期。

屏幕兼容性测试:

微信小程序定义了一个新的尺寸单位rpx(responsive pixel)可以适配不同尺寸的屏幕,在页面上定义对象的单位是rpx就可以在不同的屏幕上适配。因此对测试来说不需要测试各种屏幕下的页面显示。但是,在实际测试的过程中仍然存在屏幕适配的时候出现像素问题,尤其是1rpx的像素经常在iphone7p上出现断线的情况。因此需要在测试过程中关注1rpx像素的显示。

微信兼容性:

与微信版本的兼容性问题主要体现在小程序api库的版本上,有些比较老的版本的小程序api库不支持新版api,因此会出现兼容性问题。所以测试微信版本的兼容性之前要先确定小程序使用的库版本在哪些微信版本号上支持。

3.性能测试

这里的性能测试考虑的是客户端的性能,服务器的性能则按照传统的服务器性能测试方案即可。小程序的客户端性能和网页的性能测试非常类似,性能的常用指标也大致相同。包括页面的白屏时间,首屏时间,资源占用,页面渲染时间,帧率等等。

小程序的开发工具提供了手动查看性能的窗口,只要在小程序开发版中打开性能窗口即可看到页面的性能数据。

但是这个性能窗口的问题是只能手动获取数据,无法自动记录全部页面的数据,因此适用于定位性能问题而不适用于发布前的性能测试。所以性能测试可以考虑性能打点上报的方式进行性能分析,上报时区分测试环境和运营环境。发布前先在测试环境分析各个页面的耗时,及时发现页面的性能问题。

4.后台接口测试

小程序的后台接口跟其他的客户端后台接口测试类似,直接按照常规的后台测试来开展就可以。

小程序的自动化测试

小程序的自动化测试是个必然的趋势,自动化测试可以提高回归效率可以实现监控,是一种重要的辅助测试手段。但是由于小程序集成在微信app内部,不像其他页面比较容易抓包和解析因此这是小程序自动化测试的难点。目前有很多自动化测试的工具和框架试图解决这个限制提供小程序自动化测试的解决方案,比如有用wept+puppeteer来进行UI小程序UI自动化测试,但是这种方式对于测试环境和正式环境需要特殊处理,某些api也是不支持的。

参考:https://cloud.tencent.com/developer/article/1004537
转载来自:https://blog.csdn.net/hyukfxj35/article/details/80085830

小程序测试需要注意的地方相关推荐

  1. H5和微信小程序测试区别

    01 什么是H5? H5,也就是"HTML5",指"HTML"的第5个版本.众所周知"HTML"是"超文本标记语言",是 ...

  2. 缺少微信小程序测试经验?这篇文章带你从0开始

    微信小程序已经越来越普遍,但目前接触小程序的项目相对较少,对小程序的特性也不了解,缺少小程序测试实战经验. 本文主要通过对微信小程序特性和测试点进行总结,储备测试知识,提高测试效率. 小程序发布审核 ...

  3. Web、app、H5、小程序测试的区别

    单纯从功能测试的层面上来讲的话,APP 测试.web 测试和H5测试在流程和功能测试上是没有区别的. Web项目或pc项目都是在电脑上进行测试的.常见的PC项目架构有BS架构和CS架构的,BS架构就是 ...

  4. 微信小程序商城优势在什么地方

    在这个微信日益强壮的时期,微信小程序的推出为电商很大带来很大的长处,这已经成为很多商家进入到无线电子商务渠道的一个首要的选择,可是在对微信电子商城进行运营的进程傍边,可能有很多的人不知道怎么要操作大众 ...

  5. APP第11篇 微信小程序测试

    目录 1.什么是小程序? 2.小程序特点? 3.小程序的入口 4.小程序的架构 5.微信小程序测试的策略和注意事项 6.小程序测试点 7.常用操作 1.什么是小程序? 微信小程序是一种不需要下载也不需 ...

  6. App/H5/小程序测试技术

    本节大纲 ØApp测试概述与流程 ØApp测试策略详解 ØH5测试与小程序测试概述 ØH5测试与小程序测试技术详解 01 App测试概述与流程 定义 1.手机测试 Ø 手机测试是一个很大的题目,涉及到 ...

  7. APP测试、H5测试、小程序测试的区别

    APP测试.小程序测试.H5测试.Web 测试区别如下: APP H5 Web 微信小程序 运行环境 iOS.Android手机设备 iOS.Android手机设备.PC的浏览器 PC浏览器 微信 兼 ...

  8. 微信/支付宝小程序测试大全

    知识永远学不完,但多懂一点知识就会让生活更轻松一点! 又是元气满满的一天呐 微信/支付宝小程序测试大全 小程序测试环境 小程序一般会准备三个环境: 开发版访问测试环境: 体验版访问预发环境,连的是生产 ...

  9. 小程序测试与app测试的区别

    小程序测试与app测试的区别 小程序测试与app测试基本上都一样 小程序和app区别 1. 用户获取渠道区别 小程序: 二维码.用户分享推荐.搜索小程序 APP: 需要去应用市场(或其他)下载 2. ...

最新文章

  1. Towards Real-time Semantic RGB-D SLAM in Dynamic Environments(动态语义SLAM)
  2. 不可错过!普渡大学最新《机器学习》课程
  3. python2.7.12操作Hbase
  4. 巴斯卡三角形 and 數字位移
  5. setTimeout那些事儿
  6. 【java】关于Java NIO的一切
  7. 覆盖分类的方法_智能垃圾分类箱上线,居民垃圾分类投放可领礼品
  8. Git管理多个远程分支
  9. 使用SQL语句获得服务器名称和IP 地址
  10. python练习3 人脸对齐以及dir、inspect的用法
  11. 双十一,咪蒙广告位为何供不应求?
  12. 全概率公式和贝叶斯公式
  13. 偏差(bias)和方差(variance)及其与K折交叉验证的关系
  14. 计算机网络电缆不可用,解决方案:插入互联网电缆后,计算机无法连接到互联网...
  15. 移动端适配多种方案详细分析
  16. 你深入解析过java虚拟机:C1编译器,从HIR到LIR吗?
  17. Idea在项目中新建项目
  18. 制作android布局模板,Android Studio自定义模板 写页面竟然可以如此轻松
  19. android 调用相机拍照。适配到 Android 10
  20. ❤排序算法——冒泡排序,鸡尾酒排序,选择排序❤

热门文章

  1. 李宏毅-DeepLearning-2017-Unsupervised Learning:Neighbor Embedding
  2. 1. 初学prometheus监控
  3. 一些测开面试题及答案(个人梳理)
  4. SQLite数据库表字段修改与删除
  5. 利用QT编写一个简单爬虫程序
  6. “打鱼”还是“晒网”
  7. cmd 查询端口号是否被占用
  8. python中wxpy_wxpy:用 Python 玩转微信就是这么简单
  9. 挂载云端硬盘_如何在Linux上挂载Google云端硬盘
  10. glup3/glup4 git