App、小程序、H5的区别

感觉这几个东西概念容易混乱,写一篇文章记录一下!

  • 运行环境
    1、手机里面的App就相当于电脑中的软件,打开App就相当于开启了一个进程,App的运行环境就是手机系统;
    2、而小程序则是依托于微信的,运行的环境就是微信,并且小程序是用到了部分H5技术,但是并不支持常用的window和document对象;
    3、H5就是HTML5,是一种前端技术,并且依附的外壳是浏览器,也就是它的运行环境是浏览器。
  • 占用资源
    1、因为App是直接运行在手机系统中的,所以是比较占内存的;
    2、小程序的话运行在微信中,占用的内存是比较小的。
  • 下载与安装
    App是需要下载的,但是小程序和H5都不需要下载
  • 开发周期
    1、App的开发周期在这三者中是最长的,根据项目大小的不同,开发的周期在3个月以上;
    2、小程序的话,开发的周期在两三周左右;
    3、H5的话开发成本是会要比小程序的高一些,所有周期也会稍微长一些,因为要对项目中各种外部库的版本的迭代、版本升级;
  • 系统权限
    1、App用的是手机系统的资源,即系统提供给开发的接口都可以使用,并且App是可以给用户推送消息的;
    2、小程序是基于用户推送消息,小程序不允许主动给用户发送信息,必须通过微信才能给用户发信息;
    3、H5是不能够获取系统权限的,大多都是应用在业务简单,功能单一的场景中。

针对于小程序的测试,我这里列出几个侧重点来记录一下。
1、小程序的权限测试
在小程序的使用过程中,我们会需要对小程序进行授权,来开放我们的一个信息,那么这里我们测试的话,可以考虑几种情况:已授权登录小程序、未授权登录小程序、同一个微信在不同的手机端登录授权查看数据权限、在不同的手机上面登录重新授权;
2、兼容性测试
小程序的兼容性测试的话,主要是考虑手机系统的版本,和微信的版本来测。在着就是小程序会涉及到小程序码,那么这里就要考虑小程序码的一个兼容测试,是否在不同的环境下,小程序码是否显示正常,是否可以识别;
3、异常测试
异常测试的话主要根据网络情况来测试,断网/重连/忘记网络,弱网测试(wifi网络限速或将手机移动网络调为2g/3g);
4、干扰测试
干扰测试可以考虑突然来电,网络断开的情况,电量不足、关机等;
5、性能测试
小程序的性能测试的话,主要的关注点就是cpu、内存、帧率、数据缓存大小、事务响应时间;

最后说一下,小程序是有三个版本的,开发版、体验版、正式版,所以我们在测试的过程中会准备三套测试环境来测(测试环境、预发布环境、生产环境)

开发版和体验版是不需要审核的,但是需要给微信号配权限,通过扫小程序的二维码来访问(开启调试功能);
但是正式版的话是需要通过微信审核的,所以只有在生产环境中我们才去测这个版本。