微波EDA网,见证研发工程师的成长! 2025濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻橀弻鐔虹磼閵忕姵鐏嶉梺绋块椤︻垶鈥﹂崸妤佸殝闂傚牊绋戦~宀€绱撴担鍝勭彙闁搞儜鍜佸晣闂佽瀛╃粙鎺曟懌闁诲繐娴氶崢濂告箒濠电姴锕ら幊搴㈢閹灔搴ㄥ炊瑜濋煬顒€鈹戦垾宕囧煟鐎规洜鍠栭、姗€鎮欏顔锯偓鎾⒒閸屾瑧顦﹂柟璇х節閹兘濡疯瀹曞弶鎱ㄥ璇蹭壕閻庢鍠栭…鐑藉极閹邦厼绶炲┑鐘插閸氬懘姊绘担鐟邦嚋缂佽鍊歌灋妞ゆ挾鍊e☉銏犵妞ゆ挾濮烽敍婊堟⒑缂佹ê濮﹂柛鎾寸懇瀹曟繈濡堕崱娆戭啎缂佺虎鍙冮ˉ鎾跺姬閳ь剟鎮楀▓鍨灈妞ゎ厾鍏橀獮鍐閵堝懎绐涙繝鐢靛Т鐎氼喛鍊撮梻鍌氬€风粈渚€骞夐敓鐘茬闁糕剝绋戝婵囥亜閺冨倻鎽傞柛鐔锋噽缁辨捇宕掑顑藉亾閹间礁纾归柣鎴eГ閸ゅ嫰鏌ら幖浣规锭闁搞劍姊归妵鍕箻閸楃偟浠奸梺鎼炲妼閸婂潡寮诲☉銏╂晝闁挎繂妫涢ˇ銉╂⒑閽樺鏆熼柛鐘崇墵瀵寮撮悢铏诡啎闂佺粯鍔﹂崜姘舵偟閺囥垺鈷戠紒瀣儥閸庡繑淇婇锝囩疄鐎殿喛顕ч埥澶婎潩椤愶絽濯伴梻浣告啞閹稿棝鍩€椤掆偓鍗遍柛顐g箥濞撳鏌曢崼婵囧殗闁绘稒绮撻弻鐔煎礄閵堝棗顏�04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄥジ鏌熼惂鍝ョМ闁哄矉缍侀、姗€鎮欓幖顓燁棧闂備線娼уΛ娆戞暜閹烘缍栨繝闈涱儐閺呮煡鏌涘☉鍗炲妞ゃ儲鑹鹃埞鎴炲箠闁稿﹥顨嗛幈銊╂倻閽樺锛涢梺缁樺姉閸庛倝宕戠€n喗鐓熸俊顖濆吹濠€浠嬫煃瑜滈崗娑氭濮橆剦鍤曢柟缁㈠枛椤懘鏌嶉埡浣告殲闁绘繃娲熷缁樻媴閽樺-鎾绘煥濮橆厹浜滈柨鏃囶嚙閺嬨倗绱掓潏銊︻棃鐎殿喗鎸虫慨鈧柍閿亾闁归绮换娑欐綇閸撗呅氬┑鐐叉嫅缁插潡寮灏栨闁靛骏绱曢崢閬嶆⒑閸濆嫬鏆婇柛瀣尰缁绘盯鎳犻鈧弸娑㈡煟濞戝崬娅嶇€殿喕绮欓、妯款槼闁哄懏绻堝娲濞戞艾顣哄┑鐐额嚋缁茶法鍒掗鐔风窞濠电姴瀛╃€靛矂姊洪棃娑氬婵☆偅绋掗弲鍫曟焼瀹ュ棛鍘遍柣搴秵閸撴瑦绂掗柆宥嗙厵妞ゆ洖妫涚弧鈧繝纰夌磿閸忔﹢宕洪敓鐘茬<婵犲﹤鍟粻娲⒒閸屾瑧顦﹂柟纰卞亜鐓ら柕濞炬櫅绾剧粯绻涢幋娆忕仼闁绘帒鐏氶妵鍕箳閸℃ぞ澹曟繝鐢靛Л閸嬫捇姊洪鈧粔鎾倿閸偁浜滈柟鍝勭Х閸忓矂鏌涢悢鍝ュ弨闁哄瞼鍠栧畷娆撳Χ閸℃浼�23闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄥジ鏌熼惂鍝ョМ闁哄矉缍侀、姗€鎮欓幖顓燁棧闂備線娼уΛ娆戞暜閹烘缍栨繝闈涱儐閺呮煡鏌涘☉鍗炲妞ゃ儲鑹鹃埞鎴炲箠闁稿﹥顨嗛幈銊╂倻閽樺锛涢梺缁樺姉閸庛倝宕戠€n喗鐓熸俊顖濆吹濠€浠嬫煃瑜滈崗娑氭濮橆剦鍤曢柟缁㈠枛椤懘鏌嶉埡浣告殲闁绘繃鐗犲缁樼瑹閳ь剟鍩€椤掑倸浠滈柤娲诲灡閺呭爼骞嶉鍓э紲濡炪倖娲栧Λ娑㈠礆娴煎瓨鎳氶柡宥庣亹瑜版帗鏅查柛顐ゅ櫏娴犫晛顪冮妶鍡樷拹婵炶尙鍠庨~蹇撁洪鍛画闂佽顔栭崰妤呭箟婵傚憡鈷戦柤濮愬€曢弸鍌炴煕鎼达絾鏆鐐插暙椤粓鍩€椤掑嫬鏄ラ柨鐔哄Т缁€鍐┿亜韫囨挻锛旂紒杈ㄧ叀濮婄粯鎷呴搹鐟扮闂佽崵鍠嗛崹钘夌暦閹达箑绠荤紓浣贯缚閸橀亶姊洪棃娴ㄥ綊宕曢幎钘夋槬闁挎繂娲犻崑鎾斥枔閸喗鐏堝銈庡弮閺€杈ㄧ┍婵犲洤绠瑰ù锝呮憸閸樻悂姊虹粙鎸庢拱闁活収鍠氶懞杈ㄧ鐎n偀鎷绘繛杈剧到閹虫瑨銇愰幒鎴濈彉濡炪倖甯掗崐濠氭儗濞嗘挻鐓欓弶鍫熷劤閻︽粓鏌℃担绋库偓鍧楀蓟閵娾晜鍋嗛柛灞剧☉椤忥拷 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄥジ鏌熼惂鍝ョМ闁哄矉缍侀、姗€鎮欓幖顓燁棧闂備線娼уΛ娆戞暜閹烘缍栨繝闈涱儐閺呮煡鏌涘☉鍗炲妞ゃ儲鑹鹃埞鎴炲箠闁稿﹥顨嗛幈銊╂倻閽樺锛涢梺缁樺姉閸庛倝宕戠€n喗鐓熸俊顖濆吹濠€浠嬫煃瑜滈崗娑氭濮橆剦鍤曢柟缁㈠枛椤懘鏌eΟ鑽ゅ灩闁搞儯鍔庨崢閬嶆煟韫囨洖浠滃褌绮欓幃锟狀敍濮樿偐鍞甸柣鐔哥懃鐎氼厾绮堥埀顒勬⒑鐎圭媭娼愰柛銊ユ健閵嗕礁鈻庨幋鐘碉紲闂佽鍎虫晶搴g玻濡ゅ懏鈷掑ù锝呮啞閸熺偞銇勯鐐搭棦鐎规洘锕㈤弫鎰板幢濞嗗苯浜炬繛宸簼閸婂灚顨ラ悙鑼虎闁告梹纰嶇换娑㈡嚑椤掆偓閳诲牏鈧娲橀崹鍧楃嵁濮椻偓閹虫粓妫冨☉娆戔偓顓㈡⒒娴e憡鍟炴繛璇х畵瀹曟粌鈽夐姀鈩冩珫濠电偞鍨崹娲煕閹达附鐓曟繛鎴炃氶惇瀣箾閸喐绀€闁宠鍨块幃娆戞嫚瑜戦崥顐︽⒑鐠団€虫灆闁告濞婇妴浣割潩鐠鸿櫣鍔﹀銈嗗坊閸嬫捇鏌i敐鍥у幋鐎规洖銈稿鎾Ω閿旇姤鐝滄繝鐢靛О閸ㄧ厧鈻斿☉銏╂晞闁糕剝銇涢弸宥夋倶閻愮紟鎺楀绩娴犲鐓熸俊顖濇娴犳盯鏌¢崱蹇旀珔闁宠鍨块、娆撴嚍閵夈儱鏀俊銈囧Х閸嬫盯鏁冮妷銉殫闁告洦鍨扮粻娑欍亜閹烘垵浜扮紒閬嶄憾濮婄粯鎷呯粵瀣秷閻庤娲橀敃銏ゃ€佸鎰佹▌闂佸搫琚崝鎴炰繆閸洖骞㈤柡鍥╁Х閻i箖姊绘笟鈧ḿ褔鎮ч崱娆屽亾濮樼厧鐏︾€规洘顨呴悾婵嬪礋椤掑倸骞堟繝鐢靛仜濡鎹㈤幋位澶愬閳╁啫寮挎繝鐢靛Т閹冲繘顢旈悩鐢电<閺夊牄鍔岀粭鎺楁懚閿濆鐓犲┑顔藉姇閳ь兙鍊曞嵄妞ゆ帒瀚埛鎺懨归敐鍛殘鐟滅増甯楅弲婵嬫煏閸繃瀚呴柤鏉挎健濮婃椽顢楅埀顒傜矓閹绢喗鍊块柛顭戝亖娴滄粓鏌熼崫鍕ラ柛蹇撶焸閺屾盯鎮㈤崫銉ュ绩闂佸搫鐬奸崰鏍х暦濞嗘挸围闁糕剝顨忔导锟�婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻娑樷槈濮楀牊鏁鹃梺鍛婄懃缁绘﹢寮婚敐澶婄闁挎繂妫Λ鍕⒑閸濆嫷鍎庣紒鑸靛哺瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈嗐亜椤撶姴鍘寸€殿喖顭烽弫鎰緞婵犲嫮鏉告俊鐐€栫敮濠囨倿閿曞倸纾块柟鍓х帛閳锋垿鏌熼懖鈺佷粶濠碘€炽偢閺屾稒绻濋崒娑樹淮閻庢鍠涢褔鍩ユ径鎰潊闁冲搫鍊瑰▍鍥⒒娴g懓顕滅紒璇插€歌灋婵炴垟鎳為崶顒€唯鐟滃繒澹曢挊澹濆綊鏁愰崨顔藉創闂傚顑呴—鍐Χ鎼粹€茬盎濡炪倧绠戦悘姘┍婵犲洦鍋ㄧ紒瀣硶椤︽澘顪冮妶鍡欏婵ǜ鍔戦幃鍧楀焵椤掑嫭鈷掑ù锝呮啞閸熺偤鏌熼崫銉ュ幋闁硅櫕顨婂畷濂稿即閻愮绶㈤梻浣虹帛宀e潡寮崫銉ヮ棜闁芥ê顥㈣ぐ鎺撴櫜闁告侗鍠楅崕鎾愁渻閵堝懘顎楅柣顓炲€垮璇测槈閵忕姈鈺呮煏婢诡垰鍟伴崢浠嬫煟鎼淬埄鍟忛柛鐘崇墵閳ワ箓鏌ㄧ€b晝绠氶梺褰掓?缁€渚€鎮″☉銏$厱閻忕偛澧介悡顖滅磼閵娿倗鐭欐慨濠勭帛閹峰懘宕ㄩ棃娑氱Ш鐎殿喚鏁婚、妤呭磼濠婂懐鍘梻浣侯攰閹活亞鈧潧鐭傚顐﹀磼閻愬鍙嗛梺缁樻礀閸婂湱鈧熬鎷�
首页 > 测试测量 > 测试测量技术文库 > 测试工具和测试自动化

测试工具和测试自动化

时间:11-29 来源:3721RD 点击:

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

一、测试工具

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

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

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

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

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

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

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

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

二、测试自动化

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

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

时间:90年代中期之前

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

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

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

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

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

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

这代自动化虽然有了统一的脚本语言,测试工程师之间也可以进行少量的脚本共享。但总体而言,是各自为战,风格不同,质量参差不齐。和个人测试环境密切关联的个人自动化成果难以充分转化为有效的团队平台积累。不过,这个阶段培养了大量的技术熟练的测试自动化工程师,为下个阶段打好了人员和技术基础。

第三代,以平台为中心的自动化

时间:21世纪初至今

在第二代自动化摸索几年后,有眼光的测试管理者和出色的测试工程师,都认识到这种野蛮生长产生的脚本在可维护性、可重用性、拓扑适应性方面都存在很大问题,不能真正形成持续有效的团队积累。于是,自动化测试的顶层设计被提上日程:构建一个出色的自动化测试平台;脚本基于逻辑拓扑进行开发,在执行时才映射到物理拓扑;把常用测试操作抽象为Action word并实现,作为通用类库供所有测试工程师使用;制定脚本的开发,验收,维护规范,保证脚本的一致性、通用性和可维护性。基于这个测试自动化平台开发的脚本,才真正可转化为有效的团队积累。

以H3C的测试自动化发展为例,在1999年之前,只是利用简单的捕捉和回放测试工具,基于这些工具编写简单的脚本,属于第一代自动化。1999-2002年期间,测试平台团队引入了适应通信设备测试的TCL语言,开发了通用测试平台,但统一的ATF(Auto Testing Framwork)尚未成熟,处于第二代自动化阶段。2003年,H3C测试团队发布了ATF,并启动Testbladev1/v2脚本体系的开发,这标志着H3C的测试自动化进入了第三代,并在实践中不断优化。基于VTP和ATF,H3C已经实现了80%以上的功能测试的自动化,并提供了多个性能测试、压力测试及持久性测试的自动化测试套件。

灏勯涓撲笟鍩硅鏁欑▼鎺ㄨ崘

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top