HTML5其实也是web的一种,所以基本的web测试的一些重点,HTML5上都要过一遍,不过也有其特殊之处。
【需求设计测试】
需求是否合理、是否有更好的实现方法或者功能的遗漏,以及原型图测试,包括用户体验和用户习惯,或者发现业务不明确或者矛盾。把问题发现在源头,减少后期因需求变更引起开发和测试的迭代成本。在需求阶段即介入测试功能点的编写和记录,也符合尽早介入测试的原则。
【接口测试】
根据开发提供的接口文档,编写测试用例,根据协议选择对应的测试工具。http协议可以选择httpquester(firefox),jmeter等。
接口测试主要关注点:
1)接口返回的数据期望的是否一致;
2)接口入参的边界值校验 ;
3)检查接口的容错性 比如对于传输数据类型错误能否处理等,整型的输入小数、中英文等;
4)接口的性能情况,调用接口数据返回的时间,接口反应慢肯定影响用户体验。
5)接口的安全性:接口部分敏感信息是否加密传输等
【功能测试】
可用性:测试中的重点,可以根据公司的业务和功能进行测试。
【用户界面测试】
根据测试和评审修改过的UED(用户体验设计),测试开发递交的测试包。风格、样式、颜色是否协调,不仅包括HTML5本身,因为HTML5会嵌入App里面,所以要考虑h5的风格、样式、颜色是否与app本身协同,不至于格格不入,包括用户习惯等也最好保持一致或相近,最好在设计初期就有颜色、按钮、图片、背景、边框等详细规划和统一。
但是正是由于H5的可移植性,同一服务会嵌入到N家客户的产品中,难以与各家都完全统一,所以在设计中就应该考虑这些问题。
【兼容性测试】
前文提到PC web因为无法兼容IE6.7.8。PC主要测试在不同系统下不同浏览器google、firefox、360、IE9、IE10、IE11等主流浏览器下的界面兼容和功能兼容,因为不同浏览器对HTML、SVG、XHTML,CSS及javascript的解析会有不同。
例如有些浏览器能够发送验证码,而有些会功能失效,页面排版也会错乱等。手机HTML5主要应用是嵌入在app或者微信公众号里面,所以兼容性主要是IOS、android2个系统各种主流机型的适配。
下面做了一些与App对接测试常见问题:
▲由于HTML5嵌入在App里面,输入框需要调用原生键盘。由于andriod不同手机的差异化,会导致原生键盘功能不同。曾发现三星的android某版本调用原生数字键盘没有小数点,后只要碰到三星机器就调用全键盘;
▲App底部导航栏是否带入到H5页面中,打开键盘是否会影响导航栏位置变动。一般在HTML5页面中应该删除App的导航栏;
▲App与HTML5对接部分需要加密传输;
▲App头部的点击后返回的是前一个页面还是退回app主界面,需要注意;
▲IOS、Android的部分机型由于键盘的打开和收起会出现提示或确认页面弹框上下不居中;
▲由于网络问题偶现的App的报错需要包装;
▲从App各个入口进入HTML5界面都是免登录,各入口登录、登出正常;
▲在各个机型中,屏幕较小和较大的机器会出现不能全部显示或者部分空白的情况。
▲长时间不操作HTML5或者App,需要重新登录,或者需要重新输入密码;
▲屏幕较小手机提交参数的确认页面,由于字数较多会出现换行的情况,需要做适配。
微信主要是入口不一致,申请对接公众号后,需要用微信自带的浏览器进行兼容性测试,其他很多都相似,此处不在赘述。
【网络测试】
由于H5系统很多是云服务,所有响应速度普遍较慢。我们测试的时候一般会用wifi,速度会相对可观点。我们应该观察在4G、3G、甚至2G的网下,看响应时间是否在忍受范围内。时间过长的话,需要提示优化代码做改善。
【安全测试】
由于我们对应的产品部利用HTML5把一些通用功能做成了云服务,可以嵌入多家客户的App,根据渠道划分,所以安全性显得尤为重要。
【性能测试】
随着对接客户的增加,对服务的性能方面的要求也会增加。对于云服务的模块需要做性能测试。
由于部门机器的有限,第一轮测试我一般是采用google模拟器测试,也方便快速熟悉交互,最重要的是可以简单调试报错信息,定位缺陷原因,便于开发调试。
第二轮大功能基本稳定后,我才会借各种机器,用手机的自带的浏览器测试手机的兼容问题。因为app一般同步开发,App团队给不了稳定的包给我们做对接测试。
第三轮或者等App能给出稳定的包的时候,才嵌入微信和App测试。