




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要w e b 性能测试模型研究农业机械化工程专业硕士研究生杜香和指导教师郑志强副教授摘要在市场需求的推动下,w e b 戍用如今已经从般的网站发展成为大型电子商务、信息发布和提供各种服务的平台,软件规模不断扩大,软件复杂性不断增加,但是激烈的商业竞争使软件开发周期缩短如何保证霄e b 应用的正确性和可靠性越来越成为人们关注的问题。作为保证软件质量和可靠性的重要手段,w e b 应用软件的测试就成为如今开发过程中的一个重要环节。对w e b 应用系统的测试包括系统功能测试、性能测试、安全性测试等。其中,性能测试尤为重要,因为性能直接反映了w e b 所提供服务的质量水平同时由于w e b 具有动态特性,它的用户数目和数据传输速率都在不断变化,所以性能问题成为困扰w e b 应用发展的最大问题目前,国内外研究机构已经对w e b 应用软件的性能测试进行了大量研究提出了一些性能测试方法,并开发了许多测试工具。比较成熟的性能测试方法主要有:虚拟用户方法,1 | | u s方法和对象驱动方法。这些方法各有侧重点,虚拟用户方法通过模拟真实用户的行为米对被测程序施加压力。踟s 方法意在建立真实的测试场景。对象驱动方法强调测试w e b 的组成对象。针对w e b 性能测试的测试策略选择与优化研究较少,而正确选择测试策略对提高性能测试效率具有重要意义。本文在分析现有性能测试模型基础上,结合软件控制论思想,提出一种反馈控制w e b 性能测试模型,目的在于寻找最优的性能测试策略,以消耗最小代价,达到性能测试的目标。反馈控制w e b 性能测试模型使用受控马尔可夫链描述,将测试过程分解为不同的状态,测试策略驱动测试过程从一种状态向另一种状态的转变,不同的测试策略将产生不同的状态选择摄优的测试策略使测试过程迅速向目标状态收敛,完成测试。本文围绕反馈控制e b 性能测试模型展开研究,主要研究r :作涉及以下几部分i( 1 ) 反馈控制原理在性能测试中的应用。在分析现有性能测试方法特点的基础上结合反馈控制原理研究了如何将测试反馈信息与测试策略相结合的问题。( 2 ) 反馈控制1 r e b 性能测试模墨! 的建立。研究如何使用受控马尔可夫链描述模型,对模蓦! 抽象:考虑如何设计最优测试策略既避免决策时计算量过大,义利用w e b 性能测试特点。( 3 ) 模型仿真。分析开源性能测试1 _ 具j m e t e r 和b 服务软件a p a c h e ,结合反馈控制霄e b 性能测试模型思想,对j m e t e r 和a p a c h e 进行适当修改、添加模块,仿真模型。西南大学硕士学位论文本文追踪了性能测试方法国内外最新研究成果乘】性能测试_ 具的发展,在此基础上结合软件控制论思想,提出反馈控制w 曲性能测试模型,主要包括以下研究成果:( 1 ) 使用受控马尔可夫链描述w 曲性能测试模型。马尔可夫链是指数学中具有马尔可夫性质的离散时间随机过程,研究中将w 如测试过程分解为不同的状态,对系统状态和测试策略抽象,完成使用受控马尔可夫链描述w 曲性能测试模型。( 2 ) 为反馈控制w 曲性能测试模型的核心控制器建模。控制器负责测试策略的选择文章分析了决定测试策略优劣的关键因素,结合w 曲性能测试中性能指标与测试策略之间的关系,建立了测试策略最优化选择模型。最后,利用作者开发的模型仿真程序对w 曲服务器进行压力测试,测试结果表明:使用反馈控制w 曲性能测试模型能够较快的定位系统最大负载,确定系统瓶颈位置,显著提高性能测试效率。关键词:性能测试反馈控制软件控制论受控马尔可夫链a b s t m c ta b s t r a c td r i v i n gb ym a r k e td e m a n d ,w e ba p i p l i c a t i o nh 弱n o w a d a ) ,sb e e nd e v e l o p e di n t oal 龇g p s c a l ep l a t f o n nf 0 re - c o m m e r c e ,i 1 1 f o 珊a t i o nr e l e 筋ea n d r v i c es u p p l y 自o mg e n e r a lw e b s i t e t h es o 脚a r es i z ei se x p a n d i i l ga n ds 0 r w a r cc o m p l e x i t yi i l c r e 雒m g h o w e v e r s o r w a r ed e v e l o p m e n tc y c l ei ss h o r t e n e db yf i e r c eb u s i n e s sc o 印e t i t i o n h o wt og i l a m r l t e ea c c u r a c y 锄d 陀l i a b i l i t yb e c o m e saf b c u s e dq u e s t i o n a s 锄i i n p o n a i l tw a yo fg i l a 瑚1 t e e i n g l eq l n y 矾dr e l i a b l eo fs 0 r w 材e ,也et e s t i l l go fw e ba p p l i c a t i o n sb e c o m e sa ni m p o r t 锄tf i e l di ns o 脚a r ed e v e l 叩i n g t h et e s t i n go fw e ba p p l i c a t i o ns y s t e mi i l c l u d e sm n c t i o nt e s t ,p e r f o r m 姐c et e s t ,s e c l l r i t yt e s t e t c p e r f o r m m c et e s ti se s p e c i a l l yi n 甲o n a n tf o rp e r f l o r m 锄c er e n e c t sd i 他c t l yt l l e r y i c eq l l a j i t ) ,s u p p l i e db yw e b m e a l l w e ,t l l en u i t l _ b e ro fw e bu s e r s 觚di t sd a t et r a n s i t l i s s i m t ea r ea l w a y sc h 觚g i n 岛t l l a tt 1 1 i sd ) r i l 枷cc h a m c t e rb e c o m e st h el t l a i l lp r o b l e mi n 廿l ed e v e l 叩m go fw e ba p p l i c a t i o 璐r e c e n t l y ,r e s e a r c hi n s t i t u t e si na 1 1 da b r o a dh a v ed o n el o t so fr e s e a r c h e so np c r f 0 m 姗c et e s to fw e ba p p l i c a t i o ns o r w a r e ,p r e s e n t e ds o m e 刚0 m 锄c ea p p r o a c h e s 锄dd e v e l o p e dm 柚yt e s t i n gt 0 0 l s 知n gt h ep e m 咖a 1 1 c et e s ta p p r o a c h e s ,r e l e v 锄t l y 础l t u r eo n e sa r e n u a lu rm e t l l o d ,w u sm e m o da n do b j e c t i r i 、,i n gm e t l l o dw i t l le a c h0 n eh 勰i t s 嗍le m p h 舔i sp o i n t v i r t u a lu s e rm e t l l o de x e r t sp r e s s u r eo nt e s t 血gp r o g 姗b yi m i t a t i l l gb e h a v i o r so fr e a lu r s ;w u sm e 1 0 da i m sa te s t a _ b l i s l l i n g 托a lt e s ts c a o s ;o b j e c t 嘶v i n gm e t l l o de r 印h 觞i z e s t 髓t i i l gt l l en 硷k i n g - u pd b j e c t so fw e b t h e 他i sn o 陀a r c ho nc h o i c ea n do p t i n l i z a t i o no ft e s ts 仃a t e 酉e so fw e bp e r f o 衄a n c et e s t ,h o w e v e r c h o o s i i l gt e s ts 娩t e g yc o 玎e c t l yi ss i 鲥f i c 锄tf o rp r o m o t i l l gp e 0 曲肋c et e s te 佑c i e n c y 1 1 1t l i sa n i c l e ,b 弱e do nt h ea 1 1 a l y s i so fe x i s t i n gp e r f o r m a n c et e s tm o d e l sa j l dc o m b i i l e ss o f h v 骶c y b e m e t i c s ,w eh 雏p r e s e n t e daf e e d b a c kc o n 们lm o d e lo fw e bp e 墒m a l l c et e s tw i t l lm ep u 叩o s co ff - m d i n go u t 锄叩t i m lp e r f i o m 姗c et e s ts t r a t e g ) rt oa c h i e v e 吐l ep e r f 0 m 啪c et e s tg o a lw 油1 1 1 i n i i n i z e dc o s t f e e d b a c kc o n t r o lm o d e lo fw e bp e 怕咖锄c et e s t 嘲) l yc o n 廿o l l e dm a d ( o vc h 协t 0d e s c r i b e i td e c o m p o s e sm et e s tp r o c e s si n t 0d i f f e r e n ts t a t e s t e s ts 仃_ a t e g y 埘v e st e s tp r o c e s st 0咖s f i e rf 如mo n es t a t et 0a n o t h e r d i f f e r e n tt e s ts 仃a t e g yw i l lg e n e m t ed i f f e r e n ts t a t e s c h o o s et l l eb e s ts n a t e g yt om a k et e s tp m c e s sc o n v e r g et ot a r g e ts t a t eq u i c k l yt h e nf i n i s ht e s t t h i sa n i c l ef o c u s e so nt l l ep e r f b r m 她c et e s tm o d e l s 锄ds h a l lr e a c ht h ew o r k sa sf o l l o w s :( 1 ) t h ea p p l i c a t i o no f f e e d b a c kc o n 仃o lp r i n c i p l ei np e r f 0 肌a n c et e s t b a s e d t i l ea n a l y s i so fc h a r a c t e r i s t i c so fe x i s t m gp e r f o m 姗c et e s ta p p r o a c h e s 锄dc o m b i n e sm ep r i n c i p l eo ff e e d b a c kc o r l 仃o lp r i n c i p l e ,t i l i sa n i c l ed e m o l l s t m t e sh o wt 0c o m b i n ef e e d b a c kt c s ti i l f o m :1 a t i o nw i t l lt e s ts 缸t e g y ( 2 )1 1 h ee s 协b l i s i l l l l e n to f f e e d b a c kc o n 仃0 lm o d e lo fw e bp e 墒册锄c et e s t n i sa n i c l ed 锄o n s n a t e sh o wt od e s c r i b em o d e la n dd b s t r a c t e di tw i t hc o n 订o l l e dm a d c o vc h a i n :c o n s i d e r s西南大学硕士学位论文d e s i g n i n ga no p t i m a lt e s ts t r a t e g yt oa v o i dc o m p u t a t i o n a lc o m p l e x i 劬m e a n w h i l et ot a k et h ea d v a n t a g eo fc h a r a c t e r i s t i c so fw e bp e r f o m l a n c et e s t ( 3 )s o f h a r cp h a n t o m n l i sa n i c l e 孤a l y z e s 叩e ns o u r c et e s tt 0 0 ij m e t e ra n dw 曲s e r “c es o f h a r ea p a c h e ,c o m b i l l e sf e e d b a c kc o n n 0 lm o d e lo fw 曲p e r f o m a n c et e s ti d e a 龇ns i m l a t e sm o d e lb yd o e s 卵p r i a t er e v i s i o n sa 1 1 da d dm o d u l e st 0j m e t e ra i l da p a c h e t h i sa n i c l eh 笛n a c e dt l l ei l i ) d a t e dr e s e a r c hr e s u l t so fp e r f o 姗a n c et e s ta p p r o a c h e sa n dd e v e l o p m e n to ft e s tt o o l si na i l da b r o a d ,锄dt 量l e nc o r n b i i l e st l l ei d e ao fs o r w a r ecy = b c m e t i c st od c v e l o pt l l ef e e d b a c kc o n 仃0 lm o d e lo fw e bp e 墒舯卸c et e s t t 量l e1 1 1 a i l lr e s e a r c hr e s u l t s 毗l u d e :( 1 )u s ec o n 廿0 l l e dm 破o vc h a i nt 0d e s c r i b cm ew e bp e 怕n n 锄c et e s tm o d e l s m a d ( 0 vc h a i l li st 1 1 ed i s c r e t et i i i 他s t o c l l a s t i cp r o c e 豁mm a t h 锄a t i c st 1 1 a to w n st l l ep r o p e r 秒o fm a r k o v d u r i n gm er e s e a r c h ,w | e bt e s tp r o c e s si sd e c o m p o s e di n t 0d i f i :色r e n ts t a t e s ,s y s t e ms t a t e s 觚dt e s ts 仃a t e 舀e sa 1 1 ea b s 缸a c t e dt oa c h i e v e 也ep u r p o s eo fu s i n gc o n 臼o l l e dm a r k o vc h a i l lt od e s c r i b ew 曲p e d i o l l l l a n c et e s tm o d e l s ( 2 )c o r co ff e e d b a c kc o n t r o lm o d e lo fw 曲p e 响硼a n c e _ - c o r 灯0 1 1 e rm i ) d e l i n g c 0 n 仃o l l e ri sr e s p o n s i b l ef o rt l l ec h o i c eo ft e s ts t r a t e g y t h ea r t i c l e 孤a l 弘豫st 1 1 ek e yf a c t o r st 1 1 a td e t e n l l i n et l l eq u a l i t yo ft c s ts 缸a t e g y ,c o m b i n e st l l er e l a t i o 眦h i po fp c r f o 珊觚c e 砌e xa n dt e s ts 灯a t e g y e s t a _ b l i s h e sa no p t i o n a lm o d e lo fo p t i 胁l t e s ts 们t e 夥f i i l a l l y ,w eu s e l em o d e ls i m u l a t i o np r o g r 锄d e v e l o p e dt od op r e s s u r et e s t0 naw 曲s e n r e lt h er e s u l tp r o v e st h a tm ef e e d b a c kc o n n - o lm o d e lo fw 曲p e r f o r m a i l c ec a nl o c a t et 1 1 ep e a l ( 1 0 a do ft l l es y s t e ma n df i n do u tt l l eb o n l e n e c kp o s i t i o nq u i c l 【l yi tc 锄i r i 巾r 0 v et l l ee 伍c i c n c yo fp e r f o r 嫩n c et 髂ts i g n i f i c a n t l y _k e y w o r d s :p e 墒n n 雒c et e s tf e e d b a c kc o n 们ls o 胁a r ec y b e n l e t i c sc o n t r o l l e dm a d ( o vc h a i n si v独创性声明学位论文题目:坠垒性鱼量型达搓型盟究本人提交的学位论文是在导师指导下进行的研究工作及取得的研究成果。论文中引用他人已经发表或出版过的研究成果,文中已加了特别标注。学位论文作者:枷看和签字日期:少。子年,月子日学位论文版权使用授权书本学位论文作者完全了解西南大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权西南大学研究生部可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密的学位论文在解密后适用本授权书,本论文:囱不保密,口保密期限至年月止) 学位论文作者签名:和才牵签字日期:沙四年夕月孑日导师签名:期姚签字日期:舫五眵月彦日绪论第1 章绪论1 1研究背景信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。软件危机曾经是软件界甚至整个计算机界最热门的话题,它实际上是指软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。同时使用质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,在一些关键应用中( 如银行结算系统、证券交易系统、自动飞行控制软件、军事防御和核电站安全控制系统等)还可能造成灾难性的后果。为了更好地解决这些问题,必须借助于软件测试技术。软件测试是为了发现错误而执行程序的过程,它是发现软件中错误和缺陷的主要手段。软件开发的目的是开发出实现用户需求的高质量、高性能的软件产品,软件测试以检查软件产品内容和功能特性为核心,是软件质量保证的关键步骤,也是成功实现软件开发目标的重要保障。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的4 0 以上,而在软件开发的总成本中,用在测试上的开销要占3 0 到5 0 【l 】。近年来,w 如正以其广泛性、交互性、快捷性和易用性等特点越来越受到企业和个人的青睐,w 曲应用系统也变得越来越庞大和复杂,但激烈的商业竞争使软件开发周期缩短,如何保证w 曲应用的正确性和可靠性成为开发过程中一个重要的课题。由于w 曲应用具有分布、并发、多用户、异构和平台无关等特性,因此传统的测试方法己不能够胜任对w 曲应用的测试,它的新特性对软件测试提出了新的要求,而且要比普通程序的测试复杂得多。在基于w r c b 的系统开发中,如果缺乏严格的过程,在开发、发布、实施和维护w 曲的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于w 曲的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对w 曲和h t e m e t的信心可能会无法挽救地动摇,从而引起w 曲危机。y 0 9 e s hd e s h p 绷d e 和s t e v eh a i l s e n 在1 9 9 8年就提出了w 曲工程的概念【1 l 。w 曲工程作为一门新兴的学科,提倡使用一个过程和系统的方法来开发高质量的基于w 曲的系统。在w 曲工程中,基于w 曲系统的测试、确认和验收是一项非常重要而富有挑战性的工作。基于w 曲的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,1 1 1 t 啪e t 和w 曲媒体的不可预见性使测试基于w 曲的系统变得困难,因此,必须为测试和评估复杂的基于w 曲的系统研究新的方法和技术。w r e b 系统的性能测试止是研究内容中最重要的一个方面。1 2国内外研究现状随着w 曲应用的普及以及基于w 曲应用的测试技术的日趋成熟,国内外许多高校和科研机构也已经开始对w 曲应用软件测试进行研究,很多方法被应用在w 曲应用测试中。其中有三种典型的方法,虚拟用户方法通过模拟真实用户的行为来对被测程序施加负载【2 3 】,但确定西南大学硕士学位论文负载的信息要依靠人工收集;、v u s 方法基于“网站使用签名( w 曲s i t eu s a g e ss i 印a t u r e ,、w s ) ”的概念来设计测试场景【4 1 ,缺点是太依赖于日志文件,不适用丁测试新开发的程序;对象驱动方法【5 l 的基本思想是将a u t 的行为分解成可测试的对象,性能测试的过程也就变为测试每个对象或某些对象的集合,但过于强调局部组件的性能难以反映用户对性能的实际感受。随着服务性能测试需求市场的不断扩大,越来越多的商业公司和研发组织都投入到性能自动测试工具的研究与开发中,并不断根据w e b 技术的新发展,向市场推出了比较成熟的自动化测试工具,例如:w 曲s t o n e ,s p e c 、b 9 9 ,l 0 a dr u 姗e r ,0 1 ) e n s t r 等。这些测试工具从不同的角度可以分成不同的种类,从测试的目的来看可以分为基准测试类和非基准测试类1 6 1 ;从获取模型的手段来看可以分为数学分析类、记录回放类和挖掘日志类等。其中非基准测试工具模型种类比较多,生成模型的方法也不一样。s p e c w 曲9 9 是目前应用最广泛的w 曲b 朗c h m a r k 测试工具,该工具支持静态页面和动态页面,它的优点是测试结果客观,测试时使用的是经过分析和总结后的典型负载,与具体网络应用有关,测试结果可以用于比较多个服务器之间的性能差别【_ 7 t 引。l o a dr u n n e r 是m e r c u r yi n t e r a c t i v e 公司开发的一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能【2 1 。l o a dr u 衄e r 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助用户更快的查找和发现问题。它的优点是具有强大的测试结果实时监视模块:可以使用图表表示各类测试数据;具有测试场景的捕捉和编辑能力;可以设置多种相关参数来使虚拟用户的访问行为更接近于真实用户。o p e n s t a 代表一种分布式软件测试架构( o p e ns y s t e mt e s t i n ga r c h i t e c t u r e ) ,其远期设计目标是建成一个平台无关,多用途的开放测试平台【9 】。现阶段所指的0 1 ) e n s l a 是基于该架构的一套工具集,运行于w i n d o w sn t 平台,用来对w 曲应用环境进行负载测试。它的优点除了免费、源代码开放外,还能对录制的测试脚本按指定的语法进行编辑。o p e i l s l - a 定义了一套称为s c l 的脚本语言模拟用户行为,这种语言与自然语言比较相似,用它写成的脚本结构简单直观【1 0 1 。o p e n s t a 是基于c o 肌n o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ( c o l 淝a ) 的结构体系。测试工程师通过分析o p e n s t a 的性能指标收集器收集的各项性能指标,以及h 1 r p 数据,对被测试系统的性能进行分析】。国内在软件测试方面还没引起高度重视,多数测试理论研究和工具的开发仍然停留在传统软件的测试方面。重庆大学的秦志敏等人将风险理论应用到了w 曲应用测试中,提出了w r e b应用分层估计模型【2 】。基于风险的w 曲应用测试方法,有利于提高w 曲应用测试的效率,但只是停留在理论阶段,并没有开发出一个实际的基于风险的w | e b 应用测试工具。内蒙古大学的刘亮等人对w 曲性能测试工具设计相关的录制回放、虚拟脚本、压力负载测试、性能监视以及测试报告生成进行了研究【l3 1 ,提出了、e b 性能测试工具设计与实现方案,实现了基于h t t p s 协议的w r e b 性能测试工具,但是此二具并不支持多台测试主机协同工作。湖南大学的刘智勇等人提出利用o m t ( o b j e c t - b 笛e dm o d e l 矗”t e s t i n gw 曲a p p l i c a t i o n s ) 模型对w e b 应用进2绪论行建榭1 4 】,从测试人员的角度对w 曲应用程序进行分析,并对w 曲应用程序中对象之间的行为关系进行描述,有利于测试用例的提取。但是,此模型并没有分析w | e b 应用程序的客户端与服务器端的数据交互信息。北京航空航天大学的蔡开元等人提出的基于控制论的软件测试方法f b 1 6 】,首次将控制理论与软件测试相结合提出自适应测试方法,但该方法在应用过程中存在大量假设,尚属理论研究阶段。1 3主要研究内容在跟踪国内外测试技术的发展动态,了解和掌握软件测试的理论、思想和技术基础之上,对基于w 曲应用的性能测试进行了比较深入的研究,并结合自动控制相关知识,提出了一种反馈控制的w 曲性能测试模型。从2 0 0 6 年1 2 月进入课题开始,作者以“w 曲性能测试模型研究”为题,开始进行硕士论文准备工作。在导师的悉心指导下,作者顺利完成了以下工作:( 1 ) 阅读并分析了大量有关软件测试的资料及相关学术论文,对w 曲应用的软件测试技术概念、特点进行详细的讨论和分析。深入研究w r e b 性能测试模型的基本原理,以及常用测试工具的原理和机制,并对其优缺点进行分析。( 2 ) 结合自动控制理论,提出了一种基于闭环反馈控制的w 如性能测试模型。( 3 ) 使用a p a c h e 和j m e t e r 对提出的模型进行仿真,通过对一个w 曲应用的压力测试,验证该模型的有效性。1 4论文组织结构本论文共分为六章。第1 章绪论。介绍了本文的研究背景、w 曲应用性能测试在国内外的研究现状及本文的主要研究内容。第2 章w ,e b 性能测试简介。从软件测试的基础理论出发,首先介绍了传统软件测试的过程和方法,然后描述了w 曲软件测试的内容,最后详细介绍了w c b 性能测试的基本概念。第3 章w c b 性能测试方法和反馈控制原理。首先介绍了w 曲性能测试工具的工作原理和测试框架,描述了几种典型的w 曲性能测试方法,详细介绍了衡量w 曲性能的几种度量指标,最后介绍了反馈控制的基本原理。第4 章反馈控制w 曲性能测试模型。在研究w 曲性能测试过程和测试原理的基础上,设计了一种反馈控制w 曲性能测试模型,重点讨论了该模型的受控马尔可夫链描述和控制器的设计。第5 章模型仿真与验证。使用a p a c h e 和j m e t e r 对提出的反馈控制w 曲性能测试模型进行仿真,通过对一个w 曲应用的测试,对模型进行验证。第6 章总结与展望。对作者的研究进行总结,并提出下一步的工作设想。3西南大学硕士学位论文第2 章w e b 性能测试简介2 1软件测试概述目前关于软件测试的定义有许多。1 9 8 3 年,i e e e 给出的定义是:“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清楚预期结果与实际结果之间的差别17 1 。”引用g r e n f l o r dj m y e r s 在1 1 1 ea no f s o 脚a r et e s t m g f 1 8 l 的观点:( 1 ) 软件测试是为了发现错误而执行程序的过程;( 2 ) 测试是为了证明程序有错,而不是证明程序无错;( 3 ) 一个好的测试是在于发现至今未发现的错误;( 4 ) 一个成功的测试是发现了至今未发现的错误的测试。对计算机软件来说,测试是为了发现错误而执行的一段程序的过程。这里,尤其强调“发现错误”,测试是为了证明软件有错,而不是为了证明软件没有错误。可以看出,软件测试是以检验软件是否存在错误为目的,可以作为一种正确性测试。随着软件业的发展,软件测试还应该包括可用性测试、性能测试等等。传统的软件测试,根据不同的角度,可以分为不同的类型。按照是否执行程序的角度,软件测试可分为:静态测试( s t a t i ct e s t i n g ) 和动态测试( d y l l a m i ct e s t i n g ) 。静态测试:是指无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足指出,减少错误出现的概率。动态测试:是使被测代码在相对真实环境下运行,从多角度观察程序运行时能体现的功能、逻辑、行为、结构等行为,以发现其中的错误现象1 1 9 】。按照功能不同,软件测试可以分为白盒测试( w h i t e b o xt e 妣g ) 和黑盒测试( b l a c k j b o xt e s t i n g ) 。软件的白盒测试是对软件的过程性细节做细致的检查,也称为逻辑驱动测试或者是结构测试。白盒测试旨在全面了解程序内部的逻辑结果、要求对所有逻辑路径进行测试,可以将白盒法看作是穷举路径测试。黑盒测试也称为功能测试或者数据驱动测试,这是从最终用户角度进行的测试,是在已知产品的功能设计规格的前提下,进行测试证明每个实现了的功能是否符合要求,检验输入输出信息及系统性能。理论上讲,采用黑盒测试技术并不需要提供程序的详细代码。黑盒测试并不是白盒测试的替代品,而是用于辅助发现白盒测试不能发现的其它类型的错误。在实际应用中,应该有效的将白盒测试和黑盒测试结合起来,互为补充,全面找出软件开发过程中的错误。鉴丁黑盒测试和白盒测试各有优缺点,最近几年又有人提出了灰盒测试( g r a y _ b o x t e s t i n g ) 。灰盒测试是介于黑盒测试和白盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态【2 0 1 。从测试的前后过程来看,软件测试实际上是由一系列的不同测试所组成,这些软件测试的步骤分为:单元测试n i t t e s t i n g ) 、集成测试( i n t e g r a t e d t e s t i n g ) 、确认测试( v a l i d a t i o n t e s t i n g )4w 曲性能测试简介和系统测试( s y s t e mt e s t i n g ) 。单元测试:可以称作模块测试,其测试对象是软件设计的最小单位模块。单元测试的依据是详细设计,多采用白盒测试技术,是开发者编写的一小段代码,用于检验被测代码的一个很小的功能是否正确。集成测试:也叫组装测试、联合测试。是在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。确认测试:又称为有效性测试,目标是验证软件的功能和性能及其它特性与用户的要求是否一致。系统测试必须在目标环境下运行,在单元测试、集成测试和确认测试完成之后,系统测试用于评估系统环境下软件的性能。其目的在于通过与系统的需求规格的定义作比较,发现软件与需求规格的定义不符合的地方。接下来要介绍的w 曲应用软件测试是动态测试,属于系统测试的级别,一般采用黑盒测试的方法。2 2w e b 应用软件测试w e b 应用属于软件的一种,同时,由于w e b 应用有自身的特点,因此针对w e b 应用的测试与传统的软件测试有相同之处,也有不同的地方。w 曲应用测试主要包括功能测试、性能测试、可用性测试、客户端兼容性测试和安全性测试。功能测试主要包括链接测试、表单测试、c 0 0 k i e s 测试、设计语言测试和数据库测试。链接测试可分为三个方面:首先,测试所有链接是否按指示的那样确实链接到了该链接的页面;其次,测试所链接的页面是否存在;最后,保证w 曲应用系统上没有孤立的页面。表单测试:在用户给w r e b 应用系统管理员提交信息时,必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。如果使用了默认值,还要检验默认值的正确性。c 0 0 k i e s 测试的内容可包括c 0 0 l ( i e s 是否起作用,是否按预定的时间进行保存,刷新对c o o l ( i e s 有什么影响等。设计语言测试:w 曲设计语言版本的差异可以引起严重的客户端或服务器端问题,例如使用不同版本的h 聊l ,就可以引起严重的问题;除了h 刑l 的版本问题外,不同的脚本语言,例如j a v a s c r i p t 、a c t i v e x 、v b s 嘶p t 或p e r l 等也要进行验证。数据库测试:在w 曲应用技术中,数据库对w 曲应用系统的管理、运行、查询和实现用户对数据存储空间请求等起着重要作用,测试时可针对数据一致性错误和输出错误这两种情况分别进行测试。可用性测试主要包括导航测试、图形测试、内容测试和整体界面测试。导航测试:导航描述在不同的用户接口控制之间,例如按钮、对话框、列表和窗口等;或在不同的连接页面之间进行操作的方式。通过考虑导航是否直观、w | e b 系统的主要部分是否可通过主页存取、w r c b 系统是否需要站点地图、搜索引擎或其他的导航帮助,可以决定一个w r e b 应用系统是否易于导航。w 曲应用系统的导航功能测试要在层次确定后马上开始。让最终用户参与导航测试,测试效果将更加明显。图形测试要确保图形有明确的用途;验证所有页面字体的风格是否一致:确定背景颜色是否与字体颜色和前景颜色相搭配;验证图片的大小和质量是否符合要求。内容测试用来检验w 如应用系统提供信息的正确性、准确性和相关性。整体界面测试5西南大学硕士学位论文是验证整个w 曲应用系统的页面结构设计是否给用户整体感。客户端兼容性测试包括平台测试和浏览器测试。在w 曲系统发布之前,需要在各种操作系统下对w 曲系统进行兼容性测试,因为市场上有很多不同的操作系统类型,w 如应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置,因此要进行平台测试。浏览器是w 曲客户端最核心的构件,需要对浏览器的兼容性进行测试,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。w 曲应用系统的安全性测试主要有:测试有效和无效的用户名和密码:w 曲应用系统是否有超时的限制;相关信息是否写进了日志文件、是否可追踪;当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性;没有经过授权,是否能在服务器端放置和编辑脚本。2 3w e b 性能测试2 3 1w e b 性能测试相关概念基于w 曲应用的性能测试是一种信息的收集和分析过程,其主要目的是为了维护可接受的系统性能,开发有效的改善策略【2 。性能测试主要确定在用户可接受的响应时间内,系统能够承担的并发用户的数量,能够同时进行的交易的数目,以及不同负载情况下页面的下载时间和检测瓶颈可能发生的位置,以确保将来系统运行的安全性、可靠性和执行效率。w 曲应用性能测试主要包括负载测试和压力测试。负载测试是为了测量w e b 系统在某一负载级别上的性能,以保证w r e b 系统在需求范围内能正常工作。压力测试是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。w 曲应用程序性能测试的过程是分析w 曲应用的真实应用场景,制定详细的测试计划,构建一个尽可能真实的运行环境,模拟多个用户并发对w 曲应用进行访问并生成测试结果,分析w 曲应用的性能并提交测试报告,最后根据测试报告分析系统瓶颈,修改被测w 曲应用,重新进行测试。因此,w 曲应用性能测试是一个重复循环的过程。中国软件评测中心将性能测试概括为三个方面:应用在客户端性能的测试、应用在网络上性能的测试和应用在服务器端性能的测试2 2 1 。应用在客户端性能测试的目的是考察客户端应用的性能,测试的入口是客户端。它主要包括并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。应用在网络上性能的测试重点是利用成熟先进的自动化技术进行网络应用性能监视、网络应用性能分析和网络预测。应用在服务器上性能的测试是重中之重,它实现了服务器设备、服务器操作系统、数据库系统、应用在服务器上性能的全面监视。如何在已有w 曲服务器基础上测试服务器的性能,并从硬件、服务器软件和应用负载3 个层面上优化和提高性能也是当前的研究热点之一,它的关键问题包括选择负载、如何在最短时间内测得当前系统的性能、如何找出应用性能的瓶颈并解决瓶颈问题、以6w e b 性能测试简介及如何配置硬件服务器才能达到最优性价比( 即服务器性能对体系结构的要求) 。通常情况下,三方面有效、合理的结合,才可以达到对系统性能全面的分析。2 3 2w e b 性能的评价w 曲的性能与以下几个因素有关:系统的软硬件平台、操作系统、服务软件、网络带宽和工作负载【2 3 】。人们可以通过用户和管理员等不同的角度来分析w r c b 的性能。现在已有许多不同的方法来评价w e b 的性能。一般来说,性能评价的方法可以分为两类:测量方法和模型方法【2 4 1 。与测量方法相比,模型方法有两个优点:一是它不仅可以应用于已有的系统的性能评价,而且也可以应用于尚未存在系统的性能预测;二是它的工作量一般比测量方法要小,费用也较小。采用模型的方法来评价服务器首先对要评价的w 曲服务器建立一个适当的模型,然后求模型的性能指标,以便对系统性能进行评价。由于w 曲应用与传统软件的不同,我们需要对基于w 曲的应用系统的评测标准进行定义。w ,e b 对应用系统进行测试时测试活动的最小单位是对用户而言的一次操作,因此在定义性能指标之前,首先对用户操作做出明确的规定。一次用户操作指的是用户或者是模拟用户对浏览器或者是模拟浏览器发出某个指令,浏览器解释这个指令,并向应用系统发出一个和多个请求,w 曲应用系统接收处理这些请求后,把对这些请求的最终处理结果全部返回给用户的过程【2 5 1 。最值得关心的性能指标是响应时间,即从用户的角度来看,执行一次用户操作所需要的时间。不论一个w 曲站点的设计目的是为了服务个人消费者、商业客户、企业合作伙伴还是内部用户,都必须提供可靠、快速的性能,这是评价一个w r e b 应用是否满足用户需求和期望的关键指标。2 3 3w e b 性能测试的作用在w 曲应用程序测试中,性能测试对w 曲应用程序的开发具有重要影响,是评价一个w - e b 应用程序的重要手段,尤其对保证在并发访问条件下w 如应用程序的性能和稳定性更具有重要的意义。下面,从几个方面来考察性能测试的作用和它的重要性 2 6 1 。( 1 ) 选择服务器或中间件产品当选择开发w 如应用程序的开发平台与开发技术时,要考虑的因素如:开发经费、开发者的技能和开发效率等。现在有不少面向特定用途的中间件产品可供选择,一些免费产品也有很好的性能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中华传统木雕工艺师认证考试模拟题库
- 2025年中国农业科技发展高峰论坛专家讲座要点预测题
- 拉晶清装工安全知识培训课件
- 拉力试验培训课件
- 护士肝病科普知识培训课件
- 抢车安全知识培训内容课件
- 2025年环氧丙烷项目发展计划
- 2025年计算机数字信号处理板卡项目发展计划
- 2024-2025学年湖南省常德市石门县九年级(上)期末数学试卷(含答案)
- 2025年煤制合成氨项目建议书
- 领导干部经济责任审计
- 电子科技大学微积分上册
- 压力弹簧力度计算器及计算公式
- 工匠精神(九江职业技术学院)【超星尔雅学习通】章节答案
- 2022年高考英语真题试卷(天津卷)含答案
- 抗日英雄革命事迹学习PPT抗日英雄王二小革命事迹PPT课件(带内容)
- 医院灾害脆弱性分析PDCA
- 讲义经尿道前列腺电切术
- 宫颈锥切日间手术临床路径(妇科)及表单
- GB/T 8905-2012六氟化硫电气设备中气体管理和检测导则
- GB/T 21562-2008轨道交通可靠性、可用性、可维修性和安全性规范及示例
评论
0/150
提交评论