Webgame自动化测试之旅

发表于:2012-11-02 10:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:horseb    来源:51Testing软件测试网采编

分享:

  Pyamf在协议测试中我们主要需要用到的类有三类:

  1、amf3协议包体类:

  envelope = pyamf.remoting.Envelope(amfVersion=3)

  产生的envelope对象就是之后对你需要传递数据的封装对象。

  2、pyamf amf3协议的转换类:

  message = pyamf.remoting.encode(envelope)

  产生的message 就可以利用urllib2.Request进行传递了。

  3、pyamf amf3协议的解码类:

  res = urllib2.urlopen(req);

  content = res.read();

  content = pyamf.remoting.decode(content)

  这里最后产生的content就是返回amf3整体解析好的数据,可以根据需要将返回值进行解析,返回值可能是list{list{……},”jason”=jason},可以根据需要最后做相应的assert。更多pyamf类相关信息,查询这里。

  之前介绍了如何进行webgame自动化测试的 思路及针对flash进行的自动化测试的框架。在对游戏进行自动化测试的时候,总是会思考大部分的致命BUG都来源于随机的操作,那么我们如何进行这些方 面的自动化测试呢。这时FUZZ模糊的思想又体现到我们的面前,我们可以将需要生成的测试用例交给COMPUTER来自动生成,并且自动执行得到相应的报 告,整体FUZZ模糊测试的概念就比较清晰了。

  我们主要使用的是模糊测试中的自动协议生成测试并与协议测试相结合进行自动化测试。

  利用pairwise的思想进行模糊测试。

  我们需要考虑的模糊因素有以下几点。

  1、各种类型的对象的模糊参数设计,模糊参数默认值。

  2、组合参数对象的顺序模糊。

  3、非正常类型的参数模糊,针对XSS。

  利用设计的用例组合进行穷举算法生成相应的用例。

  以下以最简单的用例做个实例:假设需要参数:”id=12&Goodid=12300&name=jason”。

  针对ID的设计可以为{-65536,-1,0,12,65536},针对Goodid的设计可以为 {-65536,-1,0,12300,65536},针对name的设计可以为{jason,null,None,”",…………},针对参数顺序 {(id,goodid,name),(id,name,goodid)……}

  根据上面的测试用例集合自动产生相应的测试用例,然后进行相应的协议自动化测试。当然这里设计的用例不完善仅供参考思路。

  模糊测试的使用可以借助很多已有的测试用例类,类似之前Jason介绍的sulley一样,它的用例库比较的全,这样测试覆盖率会比较高。

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号