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

单纯从功能测试的层面上来讲的话,APP 测试、web 测试和H5测试在流程和功能测试上是没有区别的。

       Web项目或pc项目都是在电脑上进行测试的。常见的PC项目架构有BS架构和CS架构的,BS架构就是通过浏览器(browser)请求后台服务(server),后台返回到响应内容显示在浏览器上,常见BS架构的项目有天猫、京东等浏览器输入地址就可以访问。CS架构的项目比如QQ、微信等,需要在电脑下载客户端(client),客户端与后台服务器(server)进行数据传输交互。基于以上信息,PC端测试都是在电脑上,要么是在浏览器上测试要么安装对应客户端。而app测试平台分为安卓和IOS端:安卓测试需要在安卓手机上安装开发提供的apk测试包;IOS测试需要将手机UUID提供给开发安装ipa测试包进行测试。H5测试就是测试移动端web/wap页面,在PC或者手机浏览器都可以直接访问H5页面。

它们的不同点有

系统架构不一样,PC和H5端项目尤其是WEB项目对应一个后台服务,所有客户访问的都是同一个后台。web测试只要更新了服务器端,客户端就会同步会更新。上线测试时,直接访问线上地址测试即可。APP测试虽然对应了一个后台,但是不同的用户可能下载了不同版本的客户端,上线测试时,需要兼容每个版本的测试。app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍。

发布流程不同,PC端每次更新发布,需要将测试通过的包替换线上包,重启服务后立刻生效,访问的就是最新的环境;H5由于是一些html5网站发布上线后无需重启即可访问;APP端需要向应用市场发布,安卓发布的市场有很多,应用宝、豌豆荚、应用商店等,每个应用都需要单独审核;IOS端应用比较单一就是appstore,从提交、审核到发布会有几天的时间间隔,开发的应用包不会立刻发布。

专项测试,app端需要一些专项测试。

兼容性方面,因为测试平台的不同,着重点不一样。

下面具体展开来说。

App测试

       APP的测试类型有

• 安装卸载测试:确认系统能正常安装应用及使用,不需要时卸载及数据清除,

• 安全测试:防范隐私泄露、密码加密及传输安全、权限的合理开放、数据库安全、通信安全以及安装包反编译;

• 接口测试:前后端数据一致校验、接口异常状态及前端展示、数据的加密传输、业务功能覆盖;

• 交互与异常测试:同级/上下级页面的页面交互及数据加载、网络异常、数据异常前后端展示及状态;

• 性能测试、耗电量&流量测试:内存、CPU、流量消耗、耗电量、冷热启动速度、图片资源大小;

• 界面易用性测试:符合用户习惯;

• UI测试:页面颜色搭配、控件摆放位置及兼容性;

• 功能测试:需求文档已有及隐含的需求功能可正常使用;

• 兼容性测试:网络、机型、系统、分辨率、硬件、同类软件、新旧数据;

此外还有,Web和移动端的同步情况,用户在Web端的操作,在移动端是否可以正常的进行同步、显示;在移动端的操作,用户登录web账号,信息是否同步等。

与web测试的异同

       界面测试方面,移动端测试需注意手势,横竖屏切换,多点触控,事件触发区域等。

兼容性测试方面,web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容,不过一般还是以浏览器的为主。而浏览器的兼容则是一般是选择不同的浏览器内核进行测试(IE、chrome、Firefox)。app的测试则必须依赖phone或者是pad,不仅要看分辨率,屏幕尺寸,还要看设备系统-系统总的来说也就分为Android和iOS。web端的测试一般都是主要使用一种浏览器,待系统基本稳定的时候,再去专门测试浏览器的兼容性。移动端主要分为安卓和IOS,而这两端出现的问题一般是不一致的,一致的问题主要是数据问题,这时候是需要后台处理的,所以我们测试的时候需要两端都重点测试,而不会出现先着重测试某一端的问题。

性能方面,web项目需监测响应时间、CPU、Memory,app项目除了监测响应时间、CPU、Memory外,还需监测流量、电量等。

安全测试方面,安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录、相册、照相机等等,登录后长时间无操作情况

专项测试方面,相对于 Wed 项目,APP有如下专项测试项

1. 干扰测试:中断,来电,短信,关机,重启等

2. 弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/5g/wifi 等)

3. 安装、更新、卸载。安装需考虑安装时的中断、弱网、安装后删除安装文件等情况;卸载需考虑 卸载后是否删除app相关的文件;更新,分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新

4、接口测试

5、边界测试:可用存储空间少、没有SD卡/双SD卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等

6、不同app版本的业务功能测试

测试工具方面,自动化测试工具:APP 一般使用 Appium;Web 一般使用 Selenium,性能测试工具:APP 一般使用 JMeter; Web 一般使用loadrunner、JMeter。

H5测试

我们很容易将H5与HTML5混淆,H5是一个产品名词,作为一种解决方案,而HTML5则是一个技术名词,是下一代文本标记语言标准。

H5页面,入口的位置可以在浏览器打开或是APP的某个入口,可以理解成是适用于移动设备上展示网页的一种新形式。APP中主要是通过Webview控件来加载URL来展示H5的。这种方式打开的H5页面一般没有刷新按钮,页面顶端也看不到URL。

H5的测试点

在接入客户端测试之前,我们可以先使用chrome自带的开发者工具(视图-开发者-开发者工具)来进行测试,效果是一样的,将H5链接放到浏览器中,打开开发者工具,我们就能看到所有接口和页面的显示。这个工具还可以用来做兼容性的测试,在页面左上角可调出,可以选择手机、分辨率等,内置的设备还有很多可以编辑,这一点上降低了我们手工去测试兼容性关于机型的测试。

H5页面的测试点一般有

基本业务功能测试,包括登录、刷新、回退、前进、翻页和业务逻辑。其中,登录方面,客户端已登录,那么进入H5后仍是登录状态;若客户端未登录,进入H5,点击对应链接,如果需要登录则需要拉起native登录。下拉刷新是否仍然处于当前页面 ;用户主动点击刷新按钮是否仍然处于当前页面 ;点击返回与back键,回退页面是否是期望页面 ;翻页加载情况;进入后台后,重新调出

性能方面,和操作体验相关的测试,包括流量、页面加载时间、弱网络环境和服务端的压测。流量测试方面,对于某些资源是否要做缓存或压缩;弱网络下,数据加载较慢,是否有对应的loading提示;刷新页面或者加载新内容时页面是否有抖动

安全方面,包括恶意攻击、权限认证、脱敏处理和直接url打开等

接口测试方面,包括功能、安全、性能

兼容性方面,包括浏览器兼容、系统版本兼容、分辨率兼容等方面

Hybrid app测试

【部分内容来自《给产品经理讲技术》】

现在,移动端上的很多应用都采用了Hybrid  APP的架构。所谓HybridAPP,就是指使用原生和H5两种UI呈现内容。如何确认一个页面哪些部分采用了原生UI,哪些部分采用了H5?

在Android系统的“开发者选项”界面里,有一个名为“显示布局边界”的功能,通过使用这个功能,读者可以很快地分辨出哪些是原生UI,哪些是 H5。

当“显示布局边界”的功能开启后,所有的原生控件都会被一个框框住。而其中的H5页面会被WebView 这个原生控件框住。它与其他原生控件的区别是WebView展示的内容比单一的原生控件复杂得多。例如,原生的TextView用来显示文本内容、ImageView 用来显示图片等;而WebView  可以显示一个网页的内容,我们可以把它看作精简版的浏览器。

原生页面为了展示丰富的内容,一般需要利用大量控件进行组合,所以当读者看到某个页面布满了框时,就可以判断出这部分肯定是基于原生UI呈现的,如果一个页面显示的内容很丰富,页面中却只有一个大大的框,那么这个框内的内容很可能就是由WebView显示的。如当当APP中的云阅读页面

Web、app、H5、小程序测试的区别_第1张图片

一个APP中既使用原生UI,又使用H5,是为了满足不同的需求及用户体验。使用原生UI可以应对流畅性体验要求较高的场景和UI样式相对固定,不会频繁变化的页面。使用H5页面可以满足较强的动态运营需求,UI样式频繁变化,满足多平台复用。

测试点有

1、App与HTML5对接部分需要加密传输;

2、App头部的点击后返回的是前一个页面还是退回app主界面,需要注意;

3、从App各个入口进入HTML5界面都是免登录,各入口登录、登出正常;

4、在各个机型中,屏幕较小和较大的机器会出现不能全部显示或者部分空白的情况。

5、长时间不操作HTML5或者App,需要重新登录,或者需要重新输入密码;

6、屏幕较小手机提交参数的确认页面,由于字数较多会出现换行的情况,需要做适配。

小程序测试

微信小程序,简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用。

它的测试点有

功能测试方面,要覆盖各功能模块;在业务和数据流程上,把各个功能点串联起来形成完整的业务流程来检查;功能模块间的交互性检查。同一个业务,可能有不能的操作路径来实现,每个路径都需要覆盖检查;同一功能的不同入口检查;

易用性测试,包括,导航、功能入口,上下层级进入&返回、其他人机交互体验等

兼容性方面,主要指操作系统和屏幕分辨率方面,操作系统主要是指android系统和iOS系统。小程序运行在微信中,看起来是跟操作系统没关系,实际上还是有关系的,因为底层调用依赖于具体的操作系统。按照官方文档在微信小程序在ios上是运行在JavaScriptCore中但在Android上是通过X5JSCore来解析的。如果有条件,不仅要覆盖android和iOS,包括主流的Android品牌也要覆盖;分辨率方面,普通的手机APP会有屏幕兼容性的问题,小程序同样有这样的问题,只不过相对少了些。微信小程序定义了一个新的尺寸单位rpx(responsive pixel)可以适配不同尺寸的屏幕,在页面上定义对象的单位是rpx就可以在不同的屏幕上适配。

安全方面,小程序是内嵌到微信的,因此客户端的安全性毋庸置疑。只需关注小程序本身与后端接口传递数据的安全性即可。此外,还要注意权限方面的要求。

接口测试,对接口进行测试,和平时的接口测试是一样的,没有特别之处。但是我们需要了解的就是,微信小程序SDK提供的接口是websocket。WebSocket是 HTML 5的一个主要特性,它是建立在TCP上的一种全双工协议,也就是说客户端可以向服务器发信息,服务器也可以向客户端推送消息。WebSocket 在首次建立连接时,使用普通 HTTP和服务器通信,同时告诉服务器后面的交互用WebSocket的方式。在WebSocket连接建立后,往来的消息都可以通过这条管道发送,同时客户端与服务器也会不断地用ping-pong的方式保持心跳,防止连接异常断开。

性能测试,小程序的性能不是测试小程序的重点,优先级也比较低。小程序的性能和WEB的性能测试非常类似,性能的常用指标也大致相同。包括页面的白屏时间,首屏时间,资源占用,页面渲染时间,帧率等等。

你可能感兴趣的:(Web、app、H5、小程序测试的区别)