(计算机软件与理论专业论文)web应用测试系统rots的设计与实现.pdf_第1页
(计算机软件与理论专业论文)web应用测试系统rots的设计与实现.pdf_第2页
(计算机软件与理论专业论文)web应用测试系统rots的设计与实现.pdf_第3页
(计算机软件与理论专业论文)web应用测试系统rots的设计与实现.pdf_第4页
(计算机软件与理论专业论文)web应用测试系统rots的设计与实现.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

盔兰丛兰型唑鳖 憋! 堡堡翌鎏墨篷登:登墼墼坠兰釜丝 摘要 针对i n t e r n e t 和w e b 媒体的不可预见性所导致的w e b 应用测试上的困难, 本文在对现有的w e b 成用测试工具和相关测试方法研究的基础上,提出了一种 w e b 应用的自动化测试系统r o t s 。文巾给出了该系统的逻辑樵架,并通道采用 j 2 e e 架构和w e b 服务技术,对系统的测试总控服务器和测试客户端进行设计, 实现了对多台测试客户端实行调度与同步控制。测试总控服务器采用了榘群与连 接浦等技术,负赏涮试侄务的分配与运行调度;测试客户端任意分布在i n t e r n e t 上,采用协同工作的大规模用户模拟技术,完成i n t e r n e t 实环境下以低住能的 测试机对高性能的服务器韵浏试。系统中采用w e b 服务分布式组件技术,实现了 测试总控服务器与溯试客户端衣i n t e r n e t 上跨防火靖的通信与交曩。文中还对 实现该系统的诸多技术进行了详细分祈,铡翔通用灏试对象的设计和管理、基予 x m l 的测试辩奉、测试客户端静注掰与维护、测试经务静分配及运行算法、溺试 结果韵分析与袋馈鳞关键橙技术。本文最嚣给粥了一个w e b 应溺髂测试实铡。 关镰字: w e b 威用,软件测试,通用测试对象,分布式组件,w e b 服务,j 2 e e ,x m i , 第3 页妯纠页 墨呈查堂然兰兰丝鎏壅 鉴! 些望型避墨竺! 技! ! 竺燮生! ! 茎塑 t h eu n f o r e s e e a b l ei n t e r n e ta n dw e bm e d i am a k ei t d i f f i c u l tt ot e s t , t h ew e ba p p li c a t i o n ,s ow em a k eap r o f o u n ds t u d yo nt h ew e ba p p t c a t o n t e s t i n gt o o l sa n dr e l a t e dt e s t i n gm e t h o d s a n dp r e s e n taw e ba p p li c a l i o n t e s tin gs y s t e mr o t s i nt h i sp a p e r ,w ed e s c r i b et h ef r a m e w o r ko ft h et e s t i n gs y s t a mr o t s w em a k eu s eo ft h ej 2 e ea r c h i t e c t u r ea n dt h ew e bs e r v i c et e c h n o l o g y t o d e s i g nt h ec e n t r a lt e s t i n gc o n t r o ls e r v e ra n dt h et e s t i n gc 1 o n t s 。s ow o c a ns c h e d u l ea n ds y n c h r o n i z ea 1 1t h et e s t i n gc l i e n t s t h ec e n t r a lt e s t i n g c o n t r o ls e r v e ru s et h es e r v e rc l u s t e ra n dc o n n e c t i o np o o lt e c h n o l o g i e s 。 a n di sw i t hr e s p o n s i b i l i t yo fd i s t r i b u t i n ga n dc o n t r 0 1 l i n gt h et e sl in g t a s k s t h et e s t i n gc l i e n t sc a nb ed i s t r i b u t e do n i n t e r n e tf r e e l y ,w h i c h u t i li z et h el a r g es c a l eu s e rs i m u l a t i o nt e c h n o l o g yt h r o u g hc o o p e r a t i o n t h a ta l l o w su st ot e s tt h eh i g hc a p a b i l i t y s e r v e ru n d e rt h er e a l e n v i r o n m e n to fi n t e r n e tw i t ht h el o wc a p a b i l i t yt e s t i n gc li e n t s w eu s e t h ew e bs e r v i c et e c h n o l o g yt om a k et h ec e n t r a lt e s t i n gc o n t r 0 1s e r v e ra n d t h et e s tc li e n t sc o m m u n i c a t eo v e ri n t e r n e tw i t h o u tc o n s i d e r i n ga b o u tt h e e x i s t e n c eo ff i r e w a l l s i nt h i sp a p e r ,w ea l s od e s c r i b e s o m e k e y t e c h n o l o g i e so ft h et e s t t n gs y s t e ms u c ha st h ed e s i g na n dm a n a g e m e n to f t h eu n i v e r s a lt e s to b j e c t ,t h ex m l b a s e dt e s ts c r i p t ,t h er e g i s t e ra n d m a i n t e n a n c eo ft h et e s tc l i e n t s t h ed i s t r i b u t i o na n de x e c u t i o na l g o r i t h m o ft e s t i n gt a s k ,a n dt h ea c q u i r e m e n ta n da n a l y s i so ft h et e s tr e s u l t s 。 f i n a l l y ,w eg i v eae x a m p l eo fw e ba p p l i c a t i o nt e s t i n g k e y l r o r d s w e ba p p l i c a t i o n ,s o f t w a r et e s t i n g u n i v e r s a lt e s to b j e c t ,d i s t r i b u t e d c o m p o n e n t 。w e bs e r v i c e ,j 2 e e ,x m l 第4 炎莛舆嶷 炱且大学颂上学位论文 w e b _ ! 衄用测试系统r or s 的- 娃汁。j 实观 第一章弓l 亩 测试从来都是软件质鬣保证的关键莎骤。对软件质量萤视程度的日懿提高, 露致测试在软俘舞发孛熬撼位越来越重装。测试已经不仅仅髑浆子软转开发孛豹 个阶段,它已经开始贯穿于整个软件开发过程。统计表明,在典型的软件开发 瑷嚣串,软释溺试豹工律薰往往鑫软律辩发总置 筝鸯瓣o 苏上。纛奁较辞嚣 发的总成本中,用我测试上的开销要占3 0 到5 0 。 在目前形式化方法和獠序正确性证明技术述无望成为实糟往方法的情况下, 软终测试在将来摺当一段时闻内仍然是软 孛可靠性保证豹有效方法,但出于手工 软件测试涉及大量的重复性的工作,并殿耗费犬量时间和人力,软件测试自动纯 惩或必久靠】注意豹一个焦悫。 另一方面,随着i n t e r n e t 的快速发展,w e b 已疑对商北、工业、银行、财 敢、教霄、政府帮溪乐及我们静童作和雏活产薹芝7 深避的影皎。译多转绕翡僖爨 靼数掇岸系统正在被穆植剿互联网上,电子商务迅速增长,早已超过了国界。范 阑广泛的、复杂的分布式w e b 威用正禚大量出现。黼服务旋量和安全住是w e b 疲鼹豹生鑫,嚣越,w e b 或耀测试瞧受到了广泛熬关淀。 1 。1 软箨涮竣 1 1 1 软件测试瓣愆义 爨谤软搏测试,是携焱坎l 牛投入运行兹,对软件嚣求分析、设计规格说明和 编码的最终复审,最软件质量保证的关键步骤。其本髓是以种受控的方式执彳予 被测试匏软件,鼓骏 芷或毒涯翡投溯试爨擘软转瓣行蠹绒者功戆簿会设计该软律蚋 目的或者规格说明n 。 1 1 2 软件测试的目的 巍谈到软件溺试时,许多入都孳l 箱g r e n f o r dj 。m y e r s 在下h e a r to f s o f t w a r et e s t i n g 一书巾豹观点: 1 ) 软件测试怒为了靛现错诶而执行程序的过穗 2 ) 测试是秀了涯弱稷孝有罐,嚣不是遂甥程序笼锩汉 3 ) 一个好的测试用倒是在乎它能发现至今未发现的铺误 ) 一个成功静涌试楚发凌7 至今来发税瓣错谣瓣涌试 遮种观点可以提醒人们测试凝以查找错误为中心,而不是为了演示软件的正 第5 鬣燕5 4 篁f 复旦大学蛳士学纰论文 w e b 应用测试系统r o r s 的设计与实现 确功能a 但悬仅凭字面意思理解这一观点可能会产生误导,认为发现错谈是软件 测试的唯一酹查找不出错误的测试就是没有价值的,事窳并非如此。 藏先,测试著誉仅仅是为了簧搜出错误。逶过分析错误产生敬原因鞠错误靛 分布特征。w 以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。 蔑鼓,这秘分辑选缝帮韵我镯设诗窭鸯铮薅能豹捡测方法,改善测试豹蠢效投。 篡次。没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一 种方法。详绒蠢严谨的可靠往增长模鏊胃鞋谣鞠这一点。蒯如b e yl i t t l e w o o d 发现一个经过测试丽正常运行了n 小时的系统有继续正常运行n 小时的概率。 1 1 3 软件测试的阶段 如同开发有开发模型一样,测试也有测试模型。从最初的v 模登,x 模型, 童到墩耨豹藤鬟模型,各自提出了一襄终秀发和测试豹生命周期进行结合的方 式。饭一般地,基予开发周期中不同阶段对不同对敷所进行的测试,可划分为: 1 ) 萃嚣测试( u n i tt e s t ) ;由缡程懿拜发人爨鑫露诗划完戏戆,铮慰 单个或相关联的一组程序单元的测试。 2 ) 集成测试( i n t e g r a t i o nt e s t ) :计划予设计阶段,由舜发入爱与溺试 人员合作完成的,针对结合起来的不同单元以及窕们的接口的测试。 3 ) 系统测试( s y s t e mt e s t ) :( - - i 认为包括“可用性与黼形用户界面测 试”) 测试整个系统,以涯实宅渍是囊求艨规定的功能、质量期性能等 方面的特性。 ) 圈麴测试( r e g r e s s i o nt e s t ) :鼹乎验谣渡交了豹系绕戢其缀 孛仍然 保持应有的特性。 5 ) 接i | 芟测试( a c c e p t a n c et e s t ) :测试整个系统,浚保诫其达到霄1 2 圭交 付使用的状态。 1 。1 4 坎件涮试靛常用技术 软件测试的方法和技术是多种多样的。从测试悬否针对系统的内部结构和矮 体实璇算法嚣角度来看,霹势鸯自盒溅试羁爨盒测试【2 】; l 。l 。4 。l 黑囊溅试 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能, 通过测试来检溅每个功能是否酃能正常使用,在测试嚣雩,搬程序着作一个不麓狂 开的黑盆子,在完全不考虑程序内部继掏和内部特性的情况下,测试者在程序接 口进行测试,它只检查程序功能是否按照需求规格说明书的规定难常健用,稷净 是否能逶当地接牧睡入数锾恧产生正确豹辕擞痿息,劳基保持辨部菇息( 如数据 第6 黄共5 4 戴 复旦大学硕士学位论文 w e b 应用测试系统r o i s 的啦计j 实现 库或文件) 的完整性。黑盒测试方法主要有等价类划分、边值分析、因一果图、 错误推测等,主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考 虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测 试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所 有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且 还要对那些不合法但是可能的输入进行测试。 1 1 4 2 白盒测试 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通 过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部 的结构测试程序,检验程序中的每条路径是否都有能按预定要求正确工作,白盒 测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白 盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构, 从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但 即使每条路径都测试了仍然可能有错误。主要情况如下: 1 ) 穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的 程序 2 ) 穷举路径测试不可能查出程序中因遗漏路径而出错 3 ) 穷举路径测试可能发现不了一些与数据相关的错误。 1 2 软件测试自动化 1 2 1 软件测试自动化的定义 软件测试i | 动化技术是测试技术的一个分支,其研究重点是如何最大可能的 进行自动化测试、在哪些方面可以进行自动化以及自动测试工具的开发和使用。 所谓自动化测试就是执行用某种程序设计语言编制的自动测试程序,控制被测软 件的执行,模拟手动测试步骤完成测试 3 。 软件自动化测试分为以下两种: 1 ) 全自动测试:指在自动测试过程中,根本不需要人工干预,由程序自动 完成测试的全过程。 2 ) 半自动测试:就是指在自动测试过程中,需要由人工手动输入测试用例 或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测 试。 第7 页失5 4 页 复且人学蛳j :学位论文v c bj 蚓1 1 测试系统r o 雌的址计j 实现 必须明确软件测试自动化的程度与软件测试的质量是独立的。软件测试的质 壁取决于测试用例的质量n 自动测试只能提高测试的效率,不能提高测试质量。 1 2 2 软稃涮试窘翘 艺斡诺的 软传测试的工作量缀太( 摄缓计,会竭到4 溅的开发射潮;些可嚣蛙要求 非常高的软件,测试时闻甚至占到总开发时间的6 0 ) ,假测试却是在箍个软件 过程中投毒霹疑应耀计算壤送露垒凄纯豹工誓箬,原因楚骝试魏诲多搡蒋怒重复糕 的、非智力创造性纳、需求细致注意力的工作。计算机就最适合予代替人类去完 成这骛任务。自动溺试通常院手芷测试经济褥多,企业在逮方面的投资,会给熬 个开发工柞的质量、成本、和周勰带来非常明显韵效果。 i 2 3 软件测试自动化的适用范豳 软件自动测试主要适用于系统级的测试 4 ,而不适用予单元测试。主要包 括;集成测试、系统溯试鞠接收溺试。 一些适瓶考虑进行自动化的测试操作为: 1 ) 溅试用铡( t e s tc a s e ) 浆生成 2 ) 测试的执行与控制 3 ) 测试结果国标准输出的对比 4 ) 不唆合的测试结浆豹分拆、分类、记录和通报 5 ) 总测试状况的统计,报淡的产生 动鑫动测试每开发审产品每瑟构建( b v i i d ) 豹配合 软件测试自动化与软件配置管理是密不可分的。与测试有关的资源都应在配 置管理中进行统一豹计封j 考虑。另外,测试工具的采用也是一个提高质量的关键, 有些专用的测试工兵能帮助发现一些用任何测试用例郡难以触及的错误。 1 。3w e b 应用及其溅试 l 。3 。lw e b 痰薅穰述 这里所讲的w e b 应用,是泛指使用w e b 技术构建的各种网站缔e bs i t o ) 和 w e b 应用程序( w e ba p p l i c a t i o n ) ,也就是所有基予w e b 技术构建的应用。w e b 技术在近每来褥到了飞速的发疑,从原来单纯的h t m l 、c g i ,到后来鲍 j a v a s c r i p t 、j a v aa p p l e t 、a c t i v e x 控件,再到a s p 、j s p 、p h p 等服务器端脚 本技术,壹到现在最新的j 2 e e 3 0 架构、。n e t 架掬、w e b 服务技术等。窦正地 为网页提供了的强大的交甄能力。w e b 应用的开发受到了前所未肖的重视,软件 系统的设计体系向着基予w e b 的分布式系统发展已经成为一大趋势。 荽g 荑莛辩炎 复旦大学硕士学位论文 w e b 戍用测试系统r o i s 的啦计i 实脱 w e b 应用现在一般有三种主要的类型i l ) 普通的提供内容服务的网站:这二类的w e b 应用以提供一些具体的信息 内容为主,对于所有的用户都以基本相同的网页展示网站的内容,或者 仅有一些简单的连接会话管理、动态页面等功能。其本质都是向用户提 供网站内的数据内容,几乎排他性的由内容或功能组成,没有逻辑和过 程的概念。目前互联网上的大部分网站都属于这类性质,比如国内的门 户网站s i n a 等。 2 ) 提供w e b 服务的网站:这一类的w e b 应用可能有也可能没有专用的用户 界面,而仅仅是拥有一个或多个提供特定功能的服务接口。其他的w e b 应用可以在线调用该w e b 应用提供的服务接口,执行一些特定的功能。 比如著名的搜索网站g o o g l e 除了本身提供简单的搜索界面之外,就提 供了一个搜索服务接口,供互联网上的许多网站使用搜索功能。 3 ) w e b 应用程序:这是结构最复杂,功能也最强大的一类w e b 应用。一个 网站要被称作是一个w e b 应用程序,必须具备两个显著的特征 1 4 : 一对一的联系。w e b 应用程序为所有访问者每人建立一个唯一的会话和 联系,以识别不同的用户。虽然这个行为对于w e b 应用程序来说是最基 本的,但从来不在基于内容的网站或者桌面应用程序中出现。可永久 改变数据的能力。w e b 应用程序允许用户建立、处理和永久的储存数据。 这些数据可以从完成的销售事务、人力资源记录或者个人电子邮件信息 中取得。拥有这两个特征的网站必须要包含一定程度的应用程序行为、 逻辑和状态,并且要求有一个更全面的用户交互行为和交互过程设计。 传统基于内容的网站是缺少这些。因此,w e b 应用程序一般都会有界面 层、逻辑层、数据层等多个不同的层次结构,以实现复杂的交互处理功 能。所有的电子商务网站,比如a m a z o n 等都属于这一类的w e b 应用。 图卜1 展示了w e b 应用的系统结构。w e b 应用系统的服务器端一般有一台或 多台服务器协同工作,这些服务器可以有不同的分布结构和组合方式,以实现不 同的运行策略: i ) 所有的服务器都同时运行同样的哪w 服务器软件和应用服务器软件,以 实现负载均衡。提高对客户请求的处理能力;同时在后台通过共享一个 数据库系统实现数据的一致性。 2 ) 不同的服务器运行不同的系统软件,某几台运行w w w 服务器软件,另外 几台运行应用服务器软件,所有服务器的分工合作,使系统的结构更加 灵活,可随时根据需要添加服务器或转换服务器的功能。 第9 页共5 4 页 髭旦大学颁士学位论文 w e b 应用测试系统r o t s 的设计o j 实现 其他w e b 应用系统 圈1 - ! w e b 斑阁系统结稳豳 客户使用浏览器,通i n t e r n e t 访问该w e b 应用系统的w w w 页陆,进行事务 处理。瓣其恁鹣w e b 应用系统裂霹默逶避使用穰应豹访阕爨议来调用该w e b 应用 系统的服务接口。 w e b 应臻每传襞瓣桌鬣应蠲稷序稳魄,其袋大懿特点是采覆戆溺户蘩壤被耱 换成了网站的页面,所有的业务逻辑和数据逻辑都转移到了服务器上,用户与 w e b 应用系统的交互以及w e b 应糟系统之间的协作都在i n t e r n e tt 迸稃。鼓一 个公司瓣亵业事务为铡,锩统的泉巍商业事务廉用程序需要霄一个销售代表与密 户进行交流,将用户的需求整理成订单并完成交易。而通过将用户前端替换为网 站,客户霹缢使用一令测燕器谤麓公司期站,爨露从豹公司获取货物或股务,势 先成支付。这样的机制使得客户和公司之间的交易事务更加容易,不再需要销售 代表戢诧类入员。这样豹公蠢l 永逡不会荚门,嚣为客户能囊我羧务。 由于将绝大部转的功能转移到了服务器端,使褥w e b _ 敝用具肖很多优点: 1 ) 系统的可熬性得到增强 2 j 维护费用黪低 3 ) 节省了系统资源 ) 壤宓瑟了灵瀵性 l 。3 。2w e b 残耀黝数摆关技术 目前的w e b 应用的开发一般使用多层结构。图卜2 给出了开发中所使用的越 本层次结构和相关技术。 第1 0 燹共5 4 炎 发且火学颂士学位论文 w e b 成用测试系统r o 体的设计1 l 实现 客户端 嵌示堪 溅势端 澎示层 服务端 避辑星 艏台信息 系统 鹜l 心黏b 痰用技术壤菱鹫 客户端表示层;客户灞表示鼷可班淹基予w e b 昀,毽可黻是不基予w e b 的。 当窖户端用户运行测览器的时候,通过h t t p 等协议从一个w e b 服务器上下载服 务端表示层中的静态h t m l 页面或由j s p 等服务端脚本生成的动态h t m l 蕊面。而 箕德豹系缓鬟| l 霉戳蘧过傻髑j a v aa p p l e t 或者w e b 溅务熬期关技拳,与服务器赢 接交互。这悬w e b 威用系统的用户接口部分,仅显承h t m l 甄面以及与w e b 服务 器交换数疆。这一藤一般便用h t m l 、j a v a s c r i p t 等篱莘瓣鼓零实现,莠逶篷h t t p 等协议与服务器进杼数据交互。 服务端表示层:服务端袭示层可以由j s p 、a s p 、1 ) p 页舔戳及戳及显承 h t m l 夏覆瓣j a v as e r v l e t s 组成。其主要功能是指警操作人员使用界顽, 输入数据、输出结果它并不拥有企业逻辑,或只拥有部分不涉及企蛾 菝心氍密瓣应用逻辑。 服务端逻辑层;作为解决或满足某个特定业务领域( 比如银行、零售戏 金融韭) 的需要静逻辑鹣韭务手褊出逡行奁照务瑶黪西8 簿缢释来撬孬, 是】陵用的囊体,镪搔了系统中核心的釉易变的企业逻辑( 规划、运作方 法、管理模式等) ,它盼功能是接收输入。处理麝返回结果。 嚣鑫蘩患篆绞;矮台壤感系统运行企妲售慰系统软 粤,戗捂企蛾基础没 豁i i 贸共孔赋 复且大学啊l l 士学位论文 w e b 臆用测试茉统r o 1 s 的设计j | 实现 施系统,例如企业资源计划( e r p ) 、数据库系( d b m s ) ,也可以是其 他商搬系统的服务接口。返层大多怒d b m s ,能迅速执行大萱数掰的更 戆和捻索,数辗传送一般郝健媛s o l 语骞。 如上所述,w e b 成用的开发可以使用多种w e b 技术。简苹的w e b 应用可以使 璃l i t m t ,、c g 、l a v a s c r i p t 蒡攀本、a c t i v e x 控 警等技本开发;复杂豹w e b 凌用则 会使用t s p 、a s p 、p i t p 等服务器端编程开发方法,以实现服务器端一些具体的逻 耩,婪;蕊积餍产的交誊搡律 大型静毫予裔务系统静弹发簧# 嚣要更巍大、鬻复杂 的应用服务器软件的支持,比如现在使用最多的j 2 e e 架构和n e t 架构。 但烧,正燕由予w e b 应用使用了众多的技术,w e b 应用瀚质量缣证更加困难 d s 。囊我 】在w e b 应弱孛嚣到一个错谈,逶常缀难指蹬这个错误究竟出现在什 么地方。并且,因为我们看到的错误行为和我们所收剿的错误信息可能愚在w e b 藏臻不鼹黎势发垒静镫误繇导致豹结果,这令镄误霹毙擐黪重瑷。辑以麴 毒在 w e b 应用系统中分析错误,以及考虑怎样使错谡重现,是一件很困难的事情。因 为分布式系统中各个组件乏阍酶交互行魏大大增加了系统的复杂糗。 1 3 3 耗b 瘦鬻涎斌 y o g e s hd e s h p a n d e 和s t e v eh a n s e n 在1 9 9 8 年就撼出了w e b 工程的概念 7 。 w e b 工攫作为- f 新兴的学科,掇倡使用一个过程和系统的方法来汗发商质量的 w e b 应矮系统,楚霜会理熬、科学戆工稷翻警壤原则,趣严密妁和蘸统的方法| 柬 ,于发、发布和维护w e b 应用系统。在w e b 工程过程中,w e b 应用的测试、确认和 验l | 芟蹙一项重螫两富有援簸往豹誓佟。然瑟,i n t e r n e t 黟w e b 媒体豹苓霹预见 性使w e b 应用的测试变得困难。 w e b 应用测试与传统的软件测试有徽多相丽的地穷d o ;你需娄测试逶常靛 功能、配置和兼容梭,也要执行所有的标准测试类型。但w e b 应用测试与传统的 软件测试也肖不同之处,它不但秣要检奁和验证是否按照设计的要求运彳亍,而鼠 还妥灞试系统在苓羁耀户瓣溺菱糕:l | i l 豹墓示是黉台逶。最螫娶豹是,还要从最终 用户的角度= i 拄行安众性、性能和可用性测试。测试w e b 应用尚测试粜面软件相比, 受需簧有充怒酶专簸技术翻铯_ 鸯【1 3 】。涮试王程繇努矮理躲错综笈杂浆浏菱嚣、 操作系统、w e b 服务器和不同的数据库系统。只有更好的了解了脚本语亩( a s i , x m l ,h t m l 等) 、数据库( o r a c l e ,s q ls e r v e r 等) 、w e b 臌务器( 1i s ,a p a c h e 等) 以及数摄传辕搬剃( t c p i p ,t l t t p ,s m t p 等) 。才能更有效的进彳亍w e b 成 用测试所以w e b 应用测试属于一种特定领域的软件测试,主臻用于发现w e b 应瘸热能纛秘能上豹瓶缳帮藏障。 第1 2 戚共5 4 舆 然兰燮垡塑 一 鉴! 壅旦型垫墨竺! 竺! 竺墼过兰壅翌 1 3 3 1 w e b 应用的主要测试类型 根据w e b 应用盼特点,现有对于w e b 应用所进行的主要测试类型有: 1 ) 功能测试( f u n c t i o n a l l yt e s t i n g ) :功能测试通过自动抓取、检验并重 置使用者同网络之间的交互功能,看w e b 应用是否按照预先的需求设计 正常进行。 2 ) 性能测试( p e r f o r m a n c et e s t i n g ) :性能测试通过模拟成千的用户与整 个w e b 应用同时进行相互作用,获得系统总用户负荷增加时单个用户真 实的个人体验;确定运行该应用程序硬件的最大负荷,从而决定在将应 用程序推广到实际应用中去前,是否有必要对硬件进行升级;根据平均 页面响应时间,为程序的使用者确定可接受的运行性能的阈值;确保系 统在预期的最大并行用户负荷时,性能的闽值仍然处于可接受的水平。 性能测试有助予显示产品所能提供的性能水平和在高负载下的承受力, 来帮助系统管理入员确认并分析瓶颈所在。可细化为负载测试( l o a j t e s t i n g ) 或压力( 强度) 测试( s t r e s st e s t i n g ) ,其中的含义有一些微 小的差剐; 负载泓试( l o a dt e s ti n g ) 着重于进行一些边界数据的测试,判断 w e b 应用在给定的请求负萄下所能达到的性能 压力测试( s t r e s st e s t ) 通过极大量的客户端模拟来测定系统在崩 溃( 或者性能不可接受) 前所能承受的最大负载,更像是恶意测试。 倾向于使整个系统崩溃 3 ) 安全性测试( s e c u r it yt e s t ) :安全性测试通过漏洞扫描,测出网站系 统的相应的安全问题,并且能够给出常见安全漏洞的解决方案。 在这三种测试中,目前研究最多的是性能测试,即负载测试和压力测试。根 据w e b 应用性能和可用性的基本定理:w e b 应用性能和正常运行时间决定了最终 用户的满意度,最终决定公司的收入、利润、市场份额和品牌价值( 图卜3 ) 。 图i - 3w e b 麻用的性能与可用性理论 w e b 应用在正常运行时间上的要求远比桌面系统来的严格,虽然一般用户可 以忍受充满错误的桌面软件。但w e b 应用是不允许充满错误,不允许易于崩溃、 第j 3 页共5 4 藏 复旦大学颂士学位论文w e bj 唰h 测试系统r o i s 的- 世汁o j 实舭 不允许缺乏可用性的,否则用户将大量流失( 圈i - 4 ) 。因为对最终用户来洮,w c h 应用的质量总是意味着“貔感到满意吗? ”。当 n t e r n e t 被互相竞争的w c h 廒 髑淹没豹时姣,用户有艰熬注意力将只给哪些不使震户失望的w e b 应用系统。这 难是关键的一点,& h 为增长的压力而去擞好的测试w e b 应用:传统的软件,用户 已经秘密了一定载金钱,嚣魏塞然想要扶健豹投姿孛获取最好豹教用。臻一一令 铬选方案是买另外一个解决方案,这意味着更多的支出,新的学习过程,不兼容 住等蔺舔。两个w e b 用声不会蒋这样潮难的选择,如采谴使用静系统不符合德 的期望,他只嚣点击切换到另外个服务提供商去。这种切换的成本对绝大多数 w e b 应用程序来说戆非常低的,粥户只需要简单的不去测麓哪些袈现稽糕的蝣 点。嚣北w e b 应用数质量釉功能糨最终成为竞争中主要豹因素。可靠性、可恢复 性、安全性、可用性和运行性能则是w o h 应用的关镳质量因素 9 。 8 转搭线 l o a 7 5 将盘放卉这个 w e b l ;用程净 的币户比例5 假 2 5 :i : ! 良好的地抖线一:受欢迎的书| 实i :离线 o 一8s e c ) 9 1 5s ) ( 1 6 - 3 0s e c )f 3 0s e c ) w e b 麻用掇佯的响心时闻 强i - 4 瑗产援赛攀v sw e b 癍m 鹋癍对闼 受载灏试和压力压力灏试有驹予撩溺、颈瓣和事先发现将来霹能篷璃鹩经貔 翱正常运行时间中w 能导数主要豹电予商务灾难性事故或者长期的持续性小嫩 损失的各种问题 囊实性秘骞效性是负载测试秘压力测试熬重要熟关键 1 2 1 6 】: 真实性:模拟的负载必须与真实的负载相称 。 精确往;溯试辛搜嗣懿测量方法登鬏提供慰够熬缨繁窝校度 一个不切实际或精不精确的负载测试可能悬危险和有误肆作用的:对 w e b 应用系统的琢受力评价过商,萎l l 当面对粪芷鹣受载瓣会导致闯嚣 低估w e b 应用系统的承受力会带来不必簧的延误,和为不必臻的硬件 和资源付出额外的资金 第1 4 赋共5 4 瓤 堡皇查兰塑圭兰堡堡奎 兰! 些塑型堕墨堡! 型兰箜堂生! ! 壅塑 1 3 3 2 w e b 应用测试的测试方法 由于w e b 应用测试与传统软件系统测试相比具有不同特点和特殊的要求,因 此w e b 应用测试以一种特殊的黑盒测试方法一a l a c 测试方法为主,主要通过 模拟用户的操作来对w e b 应用程序进行测试,对程序的内在逻辑考虑较少,注重 于根据需求规格说明书的要求来检查程序的功能是否符合它的功能说明。a l ( : 测试是一种基于客户使用产品的知识开发出来的测试方法( 图卜5 ) 。a i a c 测试 是基于复杂的软件产品有许多错误,而用户会遇到的错误往往只占很小的比例的 原则。最大的受益者是用户,缺陷查找和改正将针对哪些客户最容易遇到的错误。 软件有许多错误 图1 - 5a l a c 攫8 试方法 1 3 3 3w e b 应用的测试与分析指标 有 试 ! 的 具体而言,评价w e b 应用有以下几个指标 1 9 : 1 ) n u m b e ro fh i t s :测试间隔内虚拟用户点击页面的总次数 2 ) r e q u e s t sp e rs e c o n d :每秒客户端的请求次数 3 ) t h r e a d s :线程数,即虚拟用户并发量 4 ) s o c k e te r r o r sc o n n e c t :s o c k e t 错误连接次数 5 ) s o c k e te r r o r ss e n d :s o c k e t 错误发送次数 6 ) t t f ba v g :从第一个请求发出到测试工具接收到服务器应答数据的第一 个字节之间的平均时间 7 ) t t l ba v g :从第一个请求发出到测试工具接收到服务器应答数据的最后 一个字节之间的平均时闻 根据以上数据,可以从以下几个方面分析应用程序性能,生成相应报表: 1 ) n u m b e ro fh i t sv s u s e r s :随着虚拟用户的增加,服务器在规定时间 第1 5 页共5 4 页 复旦大学硕士学位论文 w e b 应用测试系统r o q l s 的设计与实现 内所能处理的总点击数 2 ) r e q u e s t sp e rs e c o n dv s u s e r s :随着虚拟用户的增加,服务器在规 定时间内所能处理的每秒请求数 3 ) e r r o r sv s r i m e :随着模拟访问时间的延续,出现错误的数量 4 ) e r r o r sv s u s e r s :随着虚拟用户的增加,出现错误的数量 5 ) p e r f o r m a n c ed i s t r i b u t i o nv s u s e r s :针对虚拟用户数的应用性能分 布情况,包括服务器的内存、c p u 使用情况等 6 ) p e r f o r m a n c ev s u s e r s :随着虚拟用户的变化,应用性能的变化等 1 3 4w e b 应用测试工具发展现状 i 3 4 1w e b 应用测试工具的常用技术 测试w e b 应用的方法有很多,从简单的利用浏览器按照步骤、按照每个链接 进行功能测试到使用某些自动化工具进行性能及安全性测试 2 2 ,各种方法都有 人在使用。此外,w e b 应用测试还可以利用常规软件测试中使用的一些方法。 目前w e b 应用测试工具中所常用的一些的技术有: 用户模拟技术:这是w e b 应用测试的基本技术,是 l c 测试方法的一 - 种具体实现方式,利用自动化工具来代替用户的手工操作,实现可重复 的、可控制的测试。 多线程技术:多线程技术在多媒体、网络通讯、数学计算和实时控制方 面有着很广阔的应用前景。多线程的好处在于可以提高c p u 的利用率, 特别是在在多处理机计算机上实现多线程时,线程可以并行工作,提高 程序执行效率。然而多线程技术本身有一定的复杂性特别是需要解决 线程之间解决竞用共享资源的问题和大量线程的控制问题。在w e b 应用 测试工具中,多线程技术往往用于同时产生大量请求,用于负载测试和 压力。如果配合c s 等架构,能控制多个客户端协同工作的话,则可实 现较大规模的测试系统,而这也正是w e b 应用测试工具的需要解决的一 个关键性问题。 实时监控器技术:长期、定时的对w e b 应用系统进行测试,以监控该系 统的正常运行,常与消息发送机制合用,实现异常警告功能。 录制与回放机制:这是实现用户模拟的常用技术。将用户的操作步骤记 录下来,再由软件进行重复执行,以简化测试人员的工作,其缺点是不 够灵活,只能机械的重复所录制的动作,无法按要求定制。 手动脚本:实现用户模拟的另一种技术,通过编写脚本,控制测试工具 的测试动作,以实现多种测试要求。其缺点是脚本的编写方式复杂对 第1 6 页共5 4 页 复旦大学硕士学位论文 w e b 成用测试系统r o i s 的设计与实现 脚本编写人员要求高。 录制与脚本自动生成技术:上述两种技术的结合,同时具有其优点,可 以通过录制技术快速生成测试脚本的模板,然后手动加以修改以满足不 同的测试需要。 1 3 4 2 分布式系统的开发方法 目前分布对象技术已成为建立应用框架和软构件的核心技术,并形成了3 项 具有代表性的主流技术 2 3 ,即o m g 的c o r b a 、m i c r o s o f t 的a c t iv e x i ) c o m 和s u n 的j a v a r m i ,但这些模型有一个共同的缺陷,那就是它们无法扩展到互联网上: 它们要求服务客户端与系统提供的服务本身之间必须进行紧密耦合,即要求一个 同类基本结构。这样的系统往往十分脆弱:如果一端的执行机制发生变化,那么 另一端便会崩溃。 因此,我们要重点介绍最新的基于w e b 的分布式系统开发技术二- 一1 w e b 服务 ( w e bs e r v i c e ) 技术 2 4 。w e b 服务是一种部署在w e b 上的对象组件,是下一 代分布式系统的核心。图1 6 从分层的角度描述了w e b 服务的整体架构。和网 络的分层结构相同,上一层需要下一层的支持。而安全性、可管理性、服务质量 则需要在各个层次都有所体现。w e b 服务设计了一些新的规范,如;u d d j ( 统一描 述、发现和集成) 、w s d l ( w e bs e r v i c e 描述语言) 、w s f l ( w e bs e r v i c e f 】o w l a n g u a g e ) 、s o a p ( 简单对象访问协议) 等。通过这样一个层次分明的架构,w e b 服务可以实现动态的应用集成。 s t a t i e d i f e e t 卜 h t t p 。f t p e m a i i i o p ,e t c 图1 - 6w e b 服务技术的整体架构 w e b 服务具有如下特点: 完好的封装性:w e b 服务既然是一种部署在w e b 上的对象,自然具备对 象的良好封装性,对于使用者而言,他仅能看到该服务的描述。 松散耦合:这一特征也是源于对象组件技术,当一个w e b 服务的实现 第1 7 页共5 4 贞 复日大学颁士学位论文 w e b 心用测试系统r ( y l s 的殴计。j 实脱 发生变更的时候,调用者是不会感到这一点的,对于调用者来说,只要 w e b 服务的调用接口不变,w e b 服务的实现任何变更对他们来说都是透 明的。对于松散耦合而言,尤其是在i n t e r n e t 环境下的w e b 服务而言, 需要有一种适合i n t e r n e t 环境的消息交换协议。而x m i s o a p 2 5 2 9 正是目前最为适合的消息交换协议。 使用协约的规范性:这一特征从对象而来,但相比一般对象其界面规范 更加规范化和易于机器理解。首先,作为w e b 服务,对象界面所提供的 功能应当使用标准的描述语言来描述( 比如w s d l ) :其次,由标准描述语 言描述的服务界面应当是能够被发现的,因此这一描述文档需要被存储 在私有的或公共的注册库里面。同时,使用标准描述语言描述的使用协 约将不仅仅是服务界面,它将被延伸到w e b 服务的聚合、跨w e b 服务的 事务、工作流等,而这些又都需要服务质量( q o s ) 的保障。再次,我们 需要对诸如授权认证、数据完整性( 比如签名机制) 、消息源认证以及事 务的不可否认性等运用规范的方法来描述、传输和交换。最后,在所有 层次的处理都应当是可管理的,因此需要对管理协约运用同样的机制。 使用标准协议规范:作为w e b 服务,其所有公共的协约完全需要使用开 放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规 范以便由任意方进行实现。一般而言,绝大多数规范将最终有w 3 c 或 o a s i s 作为最终版本的发布方和维护方。 高度可集成能力:由于w e b 服务采取简单的、易理解的标准w e b 协议作 为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无 论是c o r b a 、d c o m 还是e j b 都可以通过这一种标准的协议进行互操作, 实现了在当前环境下最高的可集成性。 开放性; w e bs e r v i c e 可以与其他w e bs e r v i c e 进行交互。它具有语言 和平台无关性。支持c o r b a 、e j b 、d c o m 等多种组件标准。支持各种通 讯媒体如:h t t p 、s m t p 、t 4 q 、f r p 、r m io v e ri l o p 等。 w e b 服务彼此是松散偶合的,连接中的任何一方均可更改执行机制,却不影 响应用程序的正常运行。因此,使用w e b 服务技术,可以良好的构建i n t e r n e t 上的分布式应用系统。 1 3 4 3 目前常见的w e b 应用测试工具 w e b 应用测试工具是w e b 应用测试的自动化或半自动化测试工具。现在有很 多w e b 应用的测试工具; 微软公司的t h em i c r o s o f tw e bc a p a c i t ya n a l y s i st o o l ( w c a t ) : m i c r o s o f t 的w e b 容量分析工具( w c a t ) 是测试客户一服务器网络配置的 第1 8 _ 贞共5 4 撕 复旦犬学顺士学能论文 w e b 应用测试系统r o i s 的i 傲计实脱 常用工具。这个工具在可以对多种工作量的场景进行仿真,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论