wap前端测试改进总结

上一篇 / 下一篇  2012-10-08 08:52:56 / 个人分类:杂谈

51Testing软件测试网Df7A4`L q1H-dT@

  前言51Testing软件测试网5@-Lq(o?Z5u

51Testing软件测试网O\ vG4v y;D

  无线产品线的很多模块基本上都属于前端类型,前端模块一般具有如下几个特征:接收处理用户请求,本身不维护数据,从后端模块获取数据,进行build页面后展示给用户。51Testing软件测试网U jy&OAyD0R

51Testing软件测试网%w;k h"TO2N S!OvZ s

  从图示可以看到,针对前端测试,我们需要根据手机特性,针对用户和前端的输入输出进行针对性的测试。

A7nlt U'L0

  问题及解决方法分析51Testing软件测试网z%S IZ`

  目前wap前端测试采用的方法有如下几个:

KH'g+b[0

  对于build页面的系统逻辑部分的case,采用自动化方式进行测试51Testing软件测试网'vc4v MW#Ck

  对于页面展示部分的case,使用能够支持wml和xhtml页面的pc浏览器(比如opera或者安装了wmlbrowser的firefox)进行测试51Testing软件测试网9L3W lZSw9Y

  对于前端页面的重大调整,比如尝试使用新的页面元素,采用真机或手机模拟器的方式进行,但主要偏重于验证是否由于新元素的使用引入了兼容性问题

R0P8_6dO%~ PU$p0

   由于真机测试的效率得不到很好的保证,且手机浏览器比pc浏览器种类纷繁复杂(包括手机内置浏览器及第三方开发的浏览器),难以依靠几款手机或浏览器进 行覆盖,因而在wap前端测试中采用真机进行的比较少。测试中比较多的采用pc浏览器进行模拟,而手机和pc浏览器之间又存在较多的差异性,给wap的前 端测试带来了诸多bad case甚至bug。

MDw+G&SO0

  从输入角度51Testing软件测试网.^6@y4B!T

  由于手机提交请求的差异性,比如部分手机提交不符合http协议规范的header,给无线的前端测试带来了诸多的问题,典型示例如下:

5`*Aoi0xX0

  发现由于某些手机提上来有key没value的header字段而使webserver抛出异常而处理失败。51Testing软件测试网[` Q`6AwS!J

  前端架构升级项目,web server上线过程中发现部分手机发送的get请求携带content-length=0,web server对于此类不符合http协议规范的请求直接抛弃而拒绝服务。51Testing软件测试网%V"BHil

  为了避免以后再出现类似问题,我们考虑的解决办法是:收集并分析用户请求的差异性,形成case库及参考文档,供以后测试参考。

+~5U!zC!GG`0

  从输出角度51Testing软件测试网"Xt7c+?s6w

  目前wap页面包括wml和xhtml两个版本,由于手机浏览器的兼容性没有pc浏览器的兼容性好,经常可能会由于一些小的语法错误导致页面无法正常显示,典型示例如下:51Testing软件测试网f5xx&[2fc~H

  页面中url参数的&符未转义51Testing软件测试网j4P)w"W1x/W tH

  由于手误,在从xhtml版本修改为wml版本时带入了不支持的标签

Om j1EWX ?r0

  这种问题往往用pc浏览器比如ff不容易发现,而依靠真机或者手机模拟器测试又不够高效。针对这一问题,我们的解决思路如下:首先保证我们的wap页面是符合规范的;在我们符合规范的情况下尽可能的收集bad case并予以规避。

7L&V.QpGI,tS0

  改进实践51Testing软件测试网.cS;f#Z/Z{9ok![ T!L

  手机header数据仓库

8d/^x cAay0

  整个数据仓库形成思路如下:

ia!_x @0

  步骤1:首先不依赖于web server,编写socket server,通过日志得到请求

q.Z\R1]'T5Z4uJV0

  步骤2:其次分析header的key类型,给出key集合,并对出现概率较高的header查阅资料给出解释,形成参考文档51Testing软件测试网/Ly7X^&gN U(^ a

  步骤3:再次针对每种key,工具生成value取值集合,并结合含义给出等价类划分,从而形成case库

)U"`B8r/su4Kc+[Y0

  针对步骤2,收集用户header,脚本分析得到不同的header集合。对于数量过万的header集合,即在用户请求中出现的比例大于1/1000的header,整理并形成参考文档。

8}:~T%z jb)M"B5T0

  针对步骤3,对于步骤2整理出来的100中key,分析线上引流数据生成其value取值,去重后得到的value全集,见附录。对于其中重要的key,划分其等价类集合。51Testing软件测试网0v2y]9N-oN N#e

  wap页面规范性校验库51Testing软件测试网+P m ]IE

  如何保证wap页面是符合规范的,就需要按照标准wml和xhtml的规范进行页面检查。wap页面规范性校验库包括如下两个步骤:51Testing软件测试网IaY7pJ.D$[,O

  步骤1:总结目前使用的页面标准规范,形成参考文档51Testing软件测试网0b];cj1O J7u4L

  步骤2:封装开源xml校验库,集成到自动化框架中51Testing软件测试网~~U&S*nM0C&Z

  针对步骤1,目前wap页面包括wml和xhtml版本,wml基本上都是”wml_1.1.xml”,xhtml基本上都是”xhtml-mobile10.zip”,整理其相应的规范内容见下表。

NPO'en ]*f0x0

  针对步骤2,调研目前开源的xml语法校验工具,比如http://validator.w3.org/,将开源的校验库封装成工具,且集成到自动化框架中,方便的进行调用,提高测试效率和覆盖率。目前实现为基于java语言,采用dom4j开发了wml&xhtml语法校验库,根据页面申明的dtd进行检查。之所以采用dom4j主要因为其是非常优秀的Java XML API。51Testing软件测试网`oHR([&U-m-a

   另外由于wise页面采用的dtd规范基本一致,例如wml基本上都是”wml_1.1.xml”,xhtml基本上都是”xhtml- mobile10.zip”,因而采用dtd本地保存的方法,加快执行速度。封装到wise-test后,使用非常简单,case中只需调用 check_validation(url),即可实现对指定url的语法检查。在升级项目中,对该工具进行了实践检验,基本上每个页面的自动化case 都进行了语法检查,发现了在两个wml页面引入xhtml标签导致的页面解析失败问题。

^UrLE2Bh M0

  (全文完)

/d4_`A[aY _8d-J0

TAG:

 

评分:0

我来说两句

Open Toolbar