搜索
您当前的位置:首页 > 高仿资讯
测试工具和测试自动化
发布时间:2013-09-26 05:58:43 测试 自动化 工具

  人类的进化史和发展史,就是一个不断创造和使用工具的历史。工具是人类想象力的物理呈现,也是社会进步的巨大助力。对于测试而言,工具同样不可或缺,甚至于如果想判断某个厂商的测试水平是处于"蛮荒时代"还是已经进化到了"现代社会",观察其使用的测试工具就能知道个大概。事实上,很多测试项目,尤其是性能和稳定性测试项目,必须借助测试工具才能完成;验证业务的大规模部署能力,没有工具的支撑更是不可想象。举个简单例子,对一个可以同时接入4000个PPPoE的设备进行测试,如果没有测试工具,就只能搭建一个4000个客户端的环境,这在实践中几乎不可实施,更何况类似测试项目会很多,而且每个版本都需要重复测试。

一、测试工具

  伴随着网络技术的爆发式发展,种类繁多的测试工具也被开发出来,根据其主要功能,大致可以分为下面几类*(*注:现在的测试工具都比较复杂,不一定能完全严格分类,比如Chariot和Avalanche都能提供强大的流量产生功能,又是很好的业务模拟工具)。

  ●流量发生工具:主要用于生成大规模网络流量,测试设备的转发平面功能。这类工具有的是直接安装在主机上的软件,如Chariot;也有的是专用硬件,比如Spirent和IXIA等专业厂商提供的测试仪器;

  ●协议仿真工具:主要对信令协议进行仿真,测试设备的控制平面功能。比如路由协议仿真,MPLS相关协议仿真,认证接入协议仿真等测试工具;

  ●业务模拟工具:主要是对应用层协议和客户业务进行模拟,测试设备的应用和业务承载能力。一般的L4-L7的测试仪器和工具都提供了强大的业务模拟能力,比如Avalanche,BPS等测试仪器和Chariot软件;

  ●攻击类工具:包括黑客工具、Fuzzing和Vulnerability类测试工具,测试设备的安全性和攻击防范能力。典型的有MuDynamics、Codenomicon、BIFFIT、SAINT、NESSUS、nMAP以及SYNflood等DDOS工具;

  ●平台类工具:一般提供的是一个二次开发平台,有完善的集成开发环境,支持多种适合用于测试的高级计算机语言(如Perl、TCL、Python等),可进行复杂的二次开发,集成了为适应测试而封装和抽象的Lib库,甚至提供一些已经经过实践检验的自动化测试套件,并且可以通过外部接口调用其它测试仪器和工具。类似微软的VisualStudio开发环境,只不过它是为开发服务,前者是为测试服务。平台类工具投入巨大,主要为了满足厂商建设自己独特的测试能力体系的需要,一般由厂商自行开发与维护。H3C构建了这类平台,称为通用测试平台(VTP,VersatileTestPlatform)。

  一般来说,对于成熟的协议或应用测试,都有优秀的商业测试仪器和测试工具,可以满足80%以上的测试需求。但对于最新的协议和应用,或者特定客户的非标准定制需求,就要求厂商具备一定的测试工具自主开发能力。以H3C为例,在802.1x协议刚开始在国内应用时,在大量用户同时接入设备的条件下,设备会较大概率出现软件崩溃。于是,测试团队自行开发出一个模拟大量802.1x用户接入的工具,最终很快就发现并解决了问题,而具备类似功能的商业802.1x测试工具,大约时隔两年后才在市场上出现。

  H3C对于测试仪器和测试工具在优化测试效率、提高测试水平、提升产品质量方面的重要性深有体会。在这方面的投入很大。一方面,大量采购了业界先进的商业测试仪器和工具,如Spirent、IXIA、BPS和Veriwave等公司的测试仪器和测试软件。另一方面,通过专门的测试平台团队也独立开发了众多的测试工具和软件,为商业测试软件覆盖不到的测试需求提供支持,确保H3C能以最快的速度推出最新特性。该团队开发的测试工具目前已经形成系列并成为测试工程师的重要助力,如多客户端模拟系列工具,路由协议系列测试工具,一致性系列测试工具,综合业务模拟系列工具等。该团队开发的通用测试平台则构建了一个公司级的自动化测试框架,提供了完善的GUI,CLI自动化测试解决方案,为H3C的全系列产品测试提供服务。

二、测试自动化

  测试工具和测试自动化,两者是一对孪生兄弟。测试工具的目的就是为了代替部分繁琐的手工测试操作,或完成手工测试不可能完成的测试活动,实现一定程度的测试自动化。测试自动化的发展进化和测试工具的进步密不可分,随着测试工具的进步和完善,很大一部分测试工作已经可以做到无人值守,实现完全意义上的自动化。回顾自动化测试技术的发展历史,大致可以分为三代。

●第一代,以工具为中心的自动化

时间:90年代中期之前

  这一代自动化使用的测试工具,以捕捉/回放(Capture/Replay)工具最为典型,即捕获用户的鼠标和键盘操作,并记录下来,下次测试时可以回放这些操作,重复上次的测试。这些工具一般也提供简单的脚本功能,测试人员还可以根据需要对记录的脚本进行修改,比如增加循环操作以及一些简单的判断条件等,以强化测试。不过因为脚本语言简单,脚本功能往往只是其中的点缀。如QARun,WinRunner,就是这种工具的典型代表。这代测试自动化技术有很大的局限性:

  ○自动化程度有限。每种工具都有自己独特的脚本语言,但又不是一个全功能的脚本语言,能自动化的操作有限,构不成一个完整的自动化解决方案,不同工具的脚本无法共享;

  ○对SUT(SystemUnderTest)的变化适应性较差。如果SUT的GUI有了变化,录制的脚本几乎不能再用,这在软件总是不断改进和变化的时代几乎是致命的缺陷。

●第二代,以脚本为中心的自动化

时间:90年代末至21世纪初

  这是自动化的个人英雄主义时代。一些测试团队在这个阶段已经认识到采用统一脚本语言的重要性,并找到了适合测试工作的、功能完备的脚本语言,在团队中大力推行。但因为经验有限,缺乏良好的顶层设计,测试自动化主要依靠测试工程师的主观能动性,八仙过海、各显神通,每个人都是脚本工程师,测试脚本大量产生。

可能对这些感兴趣:
一、光盘价格本套技术光盘共1盘,售价150元。外地款到发货或走支付宝(也可让北京朋友代收),北京可货到付款(邮费另算)。每张光盘包括每一系列全部
一、光盘价格本套技术光盘共1盘,售价150元。外地款到发货或走支付宝(也可让北京朋友代收),北京可货到付款(邮费另算)。每张光盘包括每一系列全部
一、光盘价格本套技术光盘共1盘,售价150元。外地款到发货或走支付宝(也可让北京朋友代收),北京可货到付款(邮费另算)。每张光盘包括每一系列全部
一、光盘价格本套技术光盘共1盘,售价150元。外地款到发货或走支付宝(也可让北京朋友代收),北京可货到付款(邮费另算)。每张光盘包括每一系列全部
股市天天看,奇闻天天有。由腾讯公司举办的“2012腾讯A股大赛”为股市严冬中的股民们带来一股暖流,赢得百万股民的关注,也为全国投资
在生产汽车时,各种功能性零部件都要靠模具成型,仅制造一款普通轿车约需200多件内饰件模具,而制造保险杠、仪表盘、油箱、方向盘等所需的大中型
内容摘要:2012年11月,上海,Bumua China2012一个以红色为主色调的展区靓丽气派,纷纷围观的人群让这个展台几乎成了展会的地标展台。展台是三一
内容摘要:通过对产品进行在线监控、为客户提供产品“全生命周期”服务,沈阳机床、沈阳鼓风等一批传统制造业企业正加速向“制造
高仿奢侈品商城链接

推荐阅读