1、因为html5不兼容IE78,所以在PC上使用并非十分光。pc上IE还是占主流

2、html5主要用在移动终端

3、html5短期内因为自身的缺陷,用户体验无法达到原生app的体验。如:html5调用本地文件能力比较弱,所有数据需要从服务器拉取||||无法像原生app一样推送消息|||相比之下比原生app响应要慢,体验要差||不过移动设备的兼容性,使他也有一定的市场。现在所在的产品部,HTML5主要嵌入在Native App里面和微信公众号里面,这也限定了我们的测试环境。

4、html5也是一种web,所以web测试的方法我们都需要测试一遍

测试流程:

需求测试介入:需求是否合理,设计是否有遗落,原生逻辑图是否正确,目标是否明智等。前期的设计尽量满足后续开发需要,减少后续开发时出现遗漏,减少人力物力,了解需求后可介入测试计划,方案等,提高效率

接口测试:

终端这块,主要数据来自接口,接口错,即终端逻辑错误,逻辑错误即影响用户。接口测试主要方法如下:

1、接口输出是否与期望一致

2、终端上报是否与api文档一致

3、每个上报节点的边界值,是否为空等测试

4、接口逻辑测试

5、接口响应时间测试

6、接口安全性测试:接口部分敏感信息是否加密传输等,敏感内容是否屏蔽等

7、接口容错性:是否接受特殊字符,是否区分大小写,中英文符合等,整形和浮点型数据是否区分等

功能性:

功能测试,主要验证页面UI功能是否正确

参考51testing:

用户界面测试

根据测试和评审修改过的UED,测试开发递交的测试包。风格、样式、颜色是否协调,不仅包括HTML5本身,因为HTML5会嵌入App里面,所以要考虑h5的风格、样式、颜色是否与app本身协同,不至于格格不入,包括用户习惯等也最好保持一致或相近,最好在设计初期就有颜色、按钮、图片、背景、边框等详细规划和统一。但是正是由于H5的可移植性,同一服务会嵌入到N家客户的产品中,难以与各家都完全统一,所以在设计中就应该考虑这些问题。

兼容性:主要兼容IOS和Android的不同版本

下面做了一些与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测试。
 

html5测试总结的更多相关文章

  1. HTML5的测试总结

    HTML5其实也是web的一种,所以基本的web测试的一些重点,HTML5上都要过一遍,不过也有其特殊之处. [需求设计测试] 需求是否合理.是否有更好的实现方法或者功能的遗漏,以及原型图测试,包括用 ...

  2. 使用HTML5开发Kinect体感游戏

    一.简介 我们要做的是怎样一款游戏? 在前不久成都TGC2016展会上,我们开发了一款<火影忍者手游>的体感游戏,主要模拟手游章节<九尾袭来 >,用户化身四代,与九尾进行对决, ...

  3. 读书笔记:《HTML5开发手册》--HTML5新的结构元素

    读书笔记:<HTML5开发手册> (HTML5 Developer's CookBook) 虽然从事前端开发已有很长一段时间,对HTML5标签也有使用,但在语义化上面理解还不够清晰.之前在 ...

  4. HTML5 Boilerplate - 让页面有个好的开始

    最近看到了HTML5 Boilerplate模版,系统的学习与了解了一下.在各种CSS库.JS框架层出不穷的今天,能看到这么好的HTML模版,感觉甚爽.写篇博客,推荐给大家使用.   一:HTML5 ...

  5. 戏说HTML5

    如果有非技术人员问你,HTML5是什么,你会怎么回答? 新的HTML规范... 给浏览器提供了牛逼能力,干以前不能干的事...(确切地说应该是给浏览器规定了许多新的接口标准,要求浏览器实现牛逼的功能. ...

  6. nw.js桌面软件开发系列 第0.1节 HTML5和桌面软件开发的碰撞

    第0.1节 HTML5和桌面软件开发的碰撞 当我们谈论桌面软件开发技术的时候,你会想到什么?如果不对技术本身进行更为深入的探讨,在我的世界里,有这么多技术概念可以被罗列出来(请原谅我本质上是一个Win ...

  7. Web大前端时代之:HTML5+CSS3入门系列

    准备来一波新技术,待续.... Old: 联系源码:https://github.com/dunitian/LoTHTML5 文档下载:https://github.com/dunitian/LoTD ...

  8. 07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 源码:https://github.com/duniti ...

  9. HTML5 介绍

    本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...

随机推荐

  1. Educational Codeforces Round 13

    http://codeforces.com/contest/678 A:水题 #include<bits/stdc++.h> #define fi first #define se sec ...

  2. datagrid中用tooltip

    function msgFormat(value,row){ value = value.replace(/ /g," "); return '<span title='+ ...

  3. 005——VUE中的v-text与v-html的使用

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. jQuery中this与$(this)的区别

    起初以为this和$(this)就是一模子刻出来.但是我在阅读时,和coding时发现,总不是一回事,这里就谈谈this与$(this)的区别. jQuery中this与$(this)的区别 $(&q ...

  5. AS3中ASCII码和字符互转函数

    AS3中ASCII码和字符互转函数 字符转成ASCII码: 格式:字符串变量.charCodeAt(字符位置); var str:String = “A”; trace(str.charCodeAt( ...

  6. PostgreSQL老司机博客 经常翻翻收获不小

    德歌:https://github.com/digoal/blog/blob/master/README.md 唐成:http://blog.osdba.net/525.html 后面持续更新.../ ...

  7. Slice header里面有哪些重要的参数?

    first_mb_in_slice:第一个宏块在slice的位置 slice_type:slice的类型 pic_parameter_set_id:slice对应的pps的id frame_num:表 ...

  8. 如何复制一个java对象(浅克隆与深度克隆)

    在项目中,有时候有一些比较重要的对象经常被当作参数传来传去,和C语言的值传递不同,java语言的传递都是引用传递,在任何一个地方修改了这个对象的值,就会导致这个对象在内存中的值被彻底改变.但是很多时候 ...

  9. Linux下安装SVN(Subversion)

    一.安装直接运行命令用YUM安装: yum install subversion -y 二.创建版本库创建版本库用svnadmin create命令,大概语法是svnadmin create svn库 ...

  10. Metasploit的基本使用

    Metasploit可以在Linux.Windows和Mac OS X系统上运行.我假设你已安装了Metasploit,或者你使用的系统是Kali Linux.它有命令行接口也有GUI接口. 我使用的 ...