已阅读5页,还剩64页未读, 继续免费阅读
(计算机应用技术专业论文)基于元数据的构件测试用例生成方法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学位论文数据集 中图分类号 t p 3 1 1 5 学科分类号 5 2 0 4 0 论文编号 1 0 0 1 0 2 0 0 7 0 5 2 8 密级 学位授予单位代码 1 0 0 l o 学位授予单位名称 北京化工大学 作者姓名马玉红学号 2 0 0 4 0 0 0 5 2 8 获学位专业名称计算机应用技术 获学位专业代码 0 8 1 2 0 3 课题来源自然科学基金项目研究方向软件测试与软件可靠性 论文题目 基于元数据的构件测试用例生成方法研究 关键词构件;构件测试;元数据;u m l 顺序图:测试方法序列 论文答辩日期2 0 0 7 年5 月3 0 日论文类型应用研究 学位论文评阅及答辩委员会情况 姓名职称工作单位学科专长 指导教师赵瑞莲教授北京化工大学 软件测试与软件可靠性 评阅人1盲审专家编号- 0 7 m 0 1 6 评阅人2郭平教授北京理工大学软件可靠性 评阅人3 评阅人4 评阅人5 答辩委员纵郭平教授 北京理工大学 软件可靠性 答辩委员1赵会群教授北京工业大学软件测试 计算机网络数据库,软 答辩委员2高敬阳副教授北京化工大学 件测试 答辩委员3 答辩委员4 答辩委员5 注:一论文类型:1 基础研究2 应用研究3 开发研究4 其它 二中图分类号在中国图书资料分类法查询 三学科分类号在中华人民共和国国家标准( g b t1 3 7 4 5 9 ) 学科分类与代码中查 询 四论文编号由单位代码和年份及学号的后四位组成 摘要 基于元数据的构件测试用例生成方法研究 摘要 构件技术是继面向对象技术之后的又一新兴技术。随着构件技术的迅 速发展,构件测试作为保障构件质量的主要手段,日益受到人们的关注。 但构件技术的新特性,如封装、信息隐蔽等,也制约了传统软件测试方法 在构件测试中的应用。构件测试面临的主要挑战之一是测试信息的缺乏, 构件测试者无法获得足够的信息,生成有效的测试用例对构件进行充分测 试。另一方面,元数据( m e t a d a t a ) 作为一种“定义和描述其它数据的数据, 可用于描述数据的内容、覆盖范围、质量、管理方式、数据的所有者、数 据的提供方式等相关信息。因此,研究基于元数据的构件测试方法具有十 分重要的理论意义和实用价值。 本文较全面地阐述了构件测试的主要研究方法和元数据的相关理论, 分析了已有构件测试方法存在的不足和元数据应用于构件测试的可行性。 在此基础上,提出一种基于元数据的构件测试用例生成方法。从描述构件 信息的元数据中提取与测试相关的信息,进行构件测试用例生成研究,旨 在为构件测试用例生成提供一种新的、可行的解决途径。实验结果表明: 基于本文所提方法开发的测试用例可以有效地发现构件的需求故障和功 能缺陷。本文的主要贡献如下: 1 提出了一种构件元数据表示方式。探讨构件元数据表示方式的目 的主要是便于从构件元数据中提取与构件测试相关的信息,为进行构件测 北京化工大学硕士学位论文 试方法研究提供支持。而现有的构件元数据缺乏对测试相关信息的描述。 因此,本文在对构件特征研究的基础上,针对现有构件元数据表示方法的 缺点,提出一种改进的构件元数据表示方式。该构件元数据表示方式定义 了构件元数据具体包含的内容,讨论了利用x m l 描述构件元数据的具体 方法,并实现了在构件元数据表示方式下查询和获取构件元数据的方法。 2 提出了一种基于元数据的构件测试用例生成方法。该方法首先从 构件元数据推导出方法调用序列;然后结合u m l 顺序图生成构件测试方 法序列;最后,依据测试方法序列生成测试用例,并对构件进行测试。 3 验证了本文所提出的基于元数据的构件测试用例生成方法的有效 性。以e m a i l 构件为例,使用本文提出的基于元数据的构件测试用例生成 方法,共生成了2 0 个测试用例,发现了三类软件故障,并与其它测试方 法进行了比较。结果表明:本文提出的方法是一种行之有效的构件测试用 例生成方法,可以以较少的测试用例有效地发现构件的需求故障和功能缺 陷;把元数据应用到构件测试用例生成中,有助于提高构件测试的效率。 关键词:构件,构件测试,元数据,u m l j i 顷序图,测试方法序列 摘要 b a s e do nm e t a d a t at e s t c a s eg e n e r a t i o nf o r co m p o n e n t a b s t r a c t b e s i d e so b j e c t - o r i e n t e dt e c h n o l o g y , c o m p o n e n tt e c h n o l o g yh a sb e c o m e a n o t h e rp o p u l a rm e t h o d o l o g yi nt h ed e v e l o p m e n to fm o d e ms o f t w a r es y s t e m s c o m p o n e n tt e s t i n g i sa p r i m a r yi n s t r u m e n t f o rg u a r a n t e e i n gc o m p o n e n t q u a l i t y w i t ht h er a p i dd e v e l o p m e n to fc o m p o n e n tt e c h n o l o g y ,c o m p o n e n t t e s t i n g d e s e r v e sm o r ea t t e n t i o n h o w e v e r ,s o m en e wc h a r a c t e r i s t i c so f c o m p o n e n t ,s u c ha si n h e r i t a n c ea n de n c a p s u l a t i o n ,r e s t r i c tt h ea p p l i c a t i o no f c o n v e n t i o n a l t e s t i n g m e t h o d si n c o m p o n e n tt e s t i n g o n e o ft h ec h i e f c h a l l e n g e sf a c e db yc o m p o n e n tt e s t i n g i st h ea b s e n c eo fr e l a t e dt e s t i n g i n f o r m a t i o n ,w h i c hi n d u c e st h a tc o m p o n e n tt e s t e r i si n c a p a b l et oa c q u i r e a d e q u a t ei n f o r m a t i o na n dc a n n o tg e n e r a t ee f f e c t i v et e s tc a s e st oc h e c k c o m p o n e n t ss u f f i c i e n t l y a tt h es a m et i m e ,m e t a d a t a ,w h i c hi s d e f i n e dt o d e s c r i b eo t h e rd a t a ,c a np r o v i d ea s s o c i a t e di n f o r m a t i o na b o u td a t ac o n t e n t , c o v e r a g es c o p e ,q u a l i t y ,m a n a g e m e n tm a n n e r ,o w n e ra n dp r o v i s i o nw a y se t c t h e r e f o r e ,i ti ss i g n i f i c a n tt od e v e l o pan e wa n de f f e c t i v ec o m p o n e n tt e s t i n g a p p r o a c hb a s e do nm e t a d a t a a f t e ras u r v e yo fm a j o rr e s e a r c ha p p r o a c h e si nc o m p o n e n tt e s t i n ga n d m e t a d a t at h e o r y ,t h i st h e s i sa n a l y z e ss h o r t a g e so fe x i s t e n tc o m p o n e n tt e s t i n g 北京化工大学硕士学位论文 a p p r o a c h e sa n dt h ef e a s i b i l i t yo fa p p l y i n gm e t a d a t at oc o m p o n e n tt e s t i n g ,a n d t h e n p r e s e n t s at e s tc a s e g e n e r a t i o na p p r o a c hb a s e do nm e t a d a t af o r c o m p o n e n t e x t r a c t i n gt h ei n f o r m a t i o nr e l a t e dt ot e s t i n gf r o mm e t a d a t at o g e n e r a t ec o m p o n e n tt e s tc a s ep r o v i d e san e wa n df e a s i b l ea p p r o a c hf o r c o m p o n e n tt e s t i n g e x p e r i m e n t a lr e s u l t ss h o wt h a tt e s tc a s e sd e v e l o p e db yt h i s a p p r o a c h c a ne f f i c i e n t l yd e t e c tr e q u i r e m e n ta n df u n c t i o n a lf a u l t si nc o m p o n e n t t h ec o n t r i b u t i o n si nt h i st h e s i sa r em a i n l yf o c u s e do nt h ef o l l o w i n g a s p e c t s : 1 a ne x p r e s s i o nm e t h o do fc o m p o n e n tm e t a d a t ai sp r o p o s e d w en e e d s u c ha ne x p r e s s i o nm e t h o db yw h i c ht h ei n f o r m a t i o nr e l a t e dt oc o m p o n e n t t e s t i n gi sa b s t r a c t e dc o n v e n i e n t l y t h i si n f o r m a t i o np r o v i d e ss u p p o r tf o rt h e r e s e a r c ho fc o m p o n e n tt e s t i n g a p p r o a c h h o w e v e r ,e x i s t i n gc o m p o n e n t m e t a d a t al a c k st h ec o r r e s p o n d i n gi n f o r m a t i o nf o rt e s t i n g t h e r e f o r e ,t h i sp a p e r p r o p o s e da ni m p r o v e de x p r e s s i o nm e t h o do fc o m p o n e n tm e t a d a t a o nt h eb a s e o fo u rr e s e a r c hi nc o m p o n e n t c h a r a c t e r i s t i c s ,t h ei m p r o v e de x p r e s s i o nm e t h o d p r o p o s e di nt h i st h e s i so v e r c o m e st h ed i s a d v a n t a g e so ft h eo r i g i n a le x p r e s s i o n f o r c o m p o n e n t m e t a d a t a i td e f i n e st h e s p e c i f i c c o n t e n t si n c l u d e di n c o m p o n e n tm e t a d a t a ,d i s c u s s e st h ed e t a i l e da p p r o a c ht od e s c r i b ec o m p o n e n t m e t a d a t au s i n gx m l ,a n di m p l e m e n t st h e a l g o r i t h m s o fq u e r y i n ga n d a c q u i r i n gc o m p o n e n tm e t a d a t a 2 at e s tc a s eg e n e r a t i o na p p r o a c hf o rc o m p o n e n tb a s e do nm e t a d a t ai s p r e s e n t e d a c c o r d i n gt ot h i sa p p r o a c h ,t h em e t h o di n v o c a t i o ns e q u e n c e sa r e d e r i v e df r o mc o m p o n e n tm e t a d a t a ,t e s tm e t h o ds e q u e n c e so f c o m p o n e n ta r e i v g e n e r a t e dw i t ht h eh e l po fu m ls e q u e n c ed i a g r a m ,a n dt h e nt e s t c a s e sa r e d e s i g n e da c c o r d i n gt ot e s tm e t h o ds e q u e n c e st oc h e c k t h ec o m p o n e n t 3 w ev e r i f yt h ee f f i c i e n c yo ft h ep r o p o s e dt e s tc a s eg e n e r a t i o na p p r o a c h b a s e do nm e t a d a t af o rc o m p o n e n t u s i n ga ne m a i lc o m p o n e n ta se x a m p l e , f a c c o r d i n gt o t h et e s tc a s eg e n e r a t i o na p p r o a c hb a s e do nm e t a d a t af o r c o m p o n e n t ,2 0t e s tc a s e sw e r ed e v e l o p e d ,a n dt h r e ek i n d so f s o f t w a r ed e f a u l t s a r ed e t e c t e d i na d d i t i o n ,w ec o m p a r et h i sa p p r o a c hw i t ho t h e r s e x p e r i m e n t a l r e s u l t ss h o wt h a tt h i sa p p r o a c hi se f f e c t i v ea n dp r o m i s i n g t h et e s tc a s e s d e v e l o p e dc a nr e m a r k a b l yr e v e a lr e q u i r e m e n tf a u l t sa n df u n c t i o n a ld e f e c t si n c o m p o n e n t a p p l y i n gm e t a d a t ai n t e s tc a s eg e n e r a t i o no fc o m p o n e n tc a n e n h a n c et h ee f f i c i e n c yo fc o m p o n e n t k e yw o r d s :c o m p o n e n t ,c o m p o n e n tt e s t i n g ,m e t a d a t a ,u m ls e q u e n c e d i a g r a m ,t e s tm e t h o ds e q u e n c e v 北京化工大学硕士学位论文 目录 第一章绪论。 1 1 课题研究的背景和意义l 1 2 研究现状和发展动态2 1 2 1 构件测试的研究现状和发展动态二2 i 2 2 元数据的研究现状和发展动态6 1 3 本文的主要工作7 1 4 本文的组织结构。7 第二章构件技术及测试方法9 2 1 什么是构件。9 2 2 基于构件的软件开发过程1 0 2 3 构件测试方法1 2 2 4 本章小结1 4 第三章元数据。1 6 3 1 元数据1 6 3 2 元数据的应用。1 7 3 3 元数据在测试中的应用1 8 3 4 本章小结1 9 第四章构件元数据及其表示2 0 4 1 构件元数据2 0 4 2 构件元数据的内容2 l 4 3 构件元数据的表示2 2 、 目录 4 4 构件元数据的查询和获取2 6 4 5 本章小结2 8 第五章基于元数据的构件测试用例生成方法。3 0 5 1 方法调用序列生成3 0 5 2 测试方法序列生成3 2 5 3 测试用例生成3 4 5 4 本章小结3 4 第六章实例分析3 5 6 1 被测构件简介e m a i l 构件3 5 6 2e m a i l 构件的构件元数据生成3 5 6 3 基于构件元数据的e m a i l 构件的测试用例生成方法3 6 6 3 1e m a i l 构件的方法调用序列生成3 6 6 3 2e m a i l 构件的测试方法序列生成3 7 6 3 3e m a i l 构件的测试用例生成3 8 6 4e m a i l 构件的测试结果分析与比较3 9 6 5 本章小结4 0 第七章总结与展望4 1 7 1 本文的主要贡献。4 1 7 2 后续工作的展望4 2 参考文献。4 4 致谢。4 8 攻读学位期间发表的学术论文4 9 v h 北京化工大学硕士学位论文 作者和导师简介5 0 目录 c o n t e n t s c h a p t e r 1i n t r o d u c t i o n 1 1b a c k g r o u n da n ds i g n i f i c a n c eo f t a s kr e s e a r c h ”i i 2r e s e a r c hs t a t u sa n dd e v e l o p m e n tt r e n d s ”2 1 2 1r e s e a r c hs t a t u sa n dd e v e l o p m e n tt r e n d so f c o m p o n e n tt e s t i n g 2 1 2 2r e s e a r c hs t a t u sa n dd e v e l o p m e n tt r e n d so fm e t a d a t a 6 1 3p r i m a r yw o r ko f t h i sp a p e r - 7 i 4s t u c t u r eo f t h i sp a p e r 7 c h a p t e r2c o m p o n e n tt e c h n o l o g ya n dc o m p o n e n tt e s t i n ga p p r o a c h ”“”“”“”一”9 2 1w h a ti sc o m p o n e n t 。9 2 2c o m p o n e n t - b a s e ds o r w a r ed e v e l o p m e n tp r o c e s s 1 0 2 3c o m p o n e n tt e s t i n ga p p r o a c h e s 12 2 4s u m m a r yo f t h i sc h a p t e r 1 4 c h a p t e r 3m e t a d a t a 1 6 3 1m e t a d a t a 1 6 3 2a p p l i c a t i o no f m e t a d a t a 1 7 3 3a p p l i c a t i o no f m e t a d a t ai nt e s t i n g 1 8 3 4s u m m a r yo f t h i sc h a p t e r 19 c h a p t e r 4c o m p o n e n tm e t a d a t aa n di t se x p r e s s i o n 。2 0 4 1c o m p o n e n tm c t a d a t a 2 0 4 2c o n t e n to f c o m p o n e n tm e t a d a t a 2 l 4 3e x p r e s s i o no f c o m p o n e n tm e t a d a t a 2 2 4 4q u e r ya n da c q u i r e m e n to fc o m p o n e n tm e t a d a t a 2 6 4 5s u m m a r yo f t h i sc h a p t e r 2 8 i x 北京化工大学硕士学位论文 c h a p t e r5b a s e d o nm e t a d a t at e s tc a s eg e n e r a t i o nf o rc o m p o n e n t 3 0 5 1g e n e r a t i o no f m e t h o di n v o c a t i o ns e q u e n c e 3 0 5 2g e n e r a t i o no f t e s tm e t h o ds e q u e n c e 3 2 5 3t e s tc a s eg e n e r a t i o n ”3 3 5 4s u m m a r yo f t h i sc h a p t e r 3 4 c h a p t e r6c a s es t u d y ”一”3 5 6 1t h ec o m p o n e n tu n d e rt b t - e m a i lc o m p o n e n t 3 5 6 2g e n c r a t i o no fc o m p o n e n tm e t a d a t af o re m a i lc o m p o n e n t 3 5 6 3b a s e do nm e t a d a t at b tc a s eg e n e r a t i o nf o re m a i lc o m p o n e n t 3 6 6 3 1g e n e r a t i o no fm e t h o di n v o c a t i o ns e q u e n c ef o re m a i lc o m p o n e n t 3 6 6 3 2g e n e r a t i o no f t h tm e t h o ds e q u e n c ef o re m a i lc o m p o n e n t 3 7 6 3 3t e s tc a s eg e n e r a t i o nf o re m a i lc o m p o n e n t 3 8 6 4a n a l y s i sa n dc o m p a r i s o no f t e s tr e s u l t sf o re m a i lc o m p o n e n t 3 9 6 5s u m m a r yo f t l l i sc h a p t e r 4 0 c h a p t e r7c o n c l u s i o na n dp r o s p e c t 4 1 7 1p r i m a r yc o n t r i b u t i o no f t h i sp a p e r 4 1 7 2p r o s p e c to f f u t u r ew o r k 4 2 r e f e r e n c e s ”“”4 4 a c k n o w l e d g e m e n t ”一”4 8 s c i e n c ep a p e rp u b l i s h e dd u r i n gs t u d y i n gf o rd e g r e e 4 9 b r i e fi n t r o d u c t i o no fa u t h o r x 5 0 符号说明 a s c i i c b s d c b s e c o m c o r b a c o t s d c o m d o m d t d e g u i i a s t e d 0 m g s m t p u m l x m l 符号说明 a m e r i c a ns t a n d a r dc o d ef o ri n f o r m a t i o ni n t e r c h a n g e ,美国信息交换标准码, 它是一种标准代码,是使用7 位编码字符组成的编码字符集 c o m p o n e n t b a s e ds o f t w a r ed e v e l o p m e n t ,基于构件的软件开发 c o m p o n e n t - b a s e ds o f t w a r ee n g i n e e r i n g ,基于构件的软件工程 c o m p o n e n to b j e c tm o d d ,组件对象模型 c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,通用对象请求代理体系结构, 是由o m g 组织制订的一种标准的面向对象应用程序体系规范 c o m m e r c i a l o f f - t h e s h e l f , 商用货架产品,指可以采购到的、具有开放式 标准定义的接口的软件或硬件产品,c o t s 构件指商业构件 d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式组件对象模型 d o c u m e n to b j e c tm o d e l ,文档对象模型,是一种基于x m l 的编程接口 d o c u m e n tt y p ed e f i n i t i o n ,文档类型定义 e n t e r p r i s ej a v a b e a n ,企业版j a v a 应用框架 g r a p h i c a lu s e ri n t e r f a c e ,图形用户界面 i n t e m a t i o n a la s s o c i a t i o no fs c i e n c ea n dt e c h n o l o g yf o rd e v e l o p m e n t ,国际 科学与技术发展协会 o b j e c tm a n a g e m e n tg r o u p ,国际对象管理集团,是多种操作系统、编程语 言、中间件和网络底层架构以及软件开发环境的标准制定的组织 s i m p l em a i lt r a n s f e rp r o t o c o l ,简单邮件传输协议,是在网络中传输电子邮 件的标准 u n i f i e dm o d d i n gl a n g u a g e ,统一建模语言 e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言 x i 第一章绪论 第一章绪论 随着互联网和多媒体技术的广泛应用与发展,计算机作为人类进步的产物已渗透 到我们生活的各个方面。软件作为计算机的灵魂,在其发展中起着举足轻重的作用。 然而,随着软件系统规模和复杂性的增加,软件的开发成本以及由于软件中残存故障 造成的经济损失越来越高,软件质量问题已成为人们关注的焦点。 软件测试是在软件投入使用前,对软件需求分析、设计规格说明和编码的终审, 是发现软件故障,保证软件质量,提高软件可靠性的主要手段。软件测试贯穿软件整 个生命周期,系统化的软件测试过程能够在软件发布前发现更多的问题,并保证及早 发现问题,从而以最小的代价更正问题。随着人们对软件质量重视程度的提高,软件 测试在软件产业中的地位也同益加重。 软件构件化是软件领域研究的一个重要进展,它提高了软件的复用性。然而,由 于构件信息的缺乏,致使已存在的基于程序分析的软件工程技术不能直接应用到基于 构件的软件系统的设计、实现与测试中。对构件和构件系统进行测试是保障和提高系 统可靠性的重要途径。 1 1 课题研究的背景和意义 软件测试是对软件需求分析、设计规格说明和编码的终审,是软件质量保证的关 键步骤。软件测试可以定义为:为了发现故障而执行程序的过程【l l 。或者说,软件测 试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例, 并利用这些测试用例去执行程序,以发现软件故障的过程,其根本目的是以尽可能少 的时间和人力发现并改正软件中潜在的各种故障及缺陷。 随着人们对软件测试重要性认识的加深,软件测试在整个软件开发周期中所占的 比例日益增大。目前,许多软件开发机构已将研制力量的4 0 以上花费在软件测试中 1 2 1 。特殊情况下,对于要求高可靠性的软件,例如飞行控制、核反应堆监控软件等, 其软件测试费用甚至高达软件开发其他阶段所有费用总和的3 5 倍p j 。 软件构件化是九十年代以来软件领域研究的一个重要进展。构件是能够独立完成 特定功能,通过接口提供服务的一种软件【4 1 。目前,越来越多的软件系统是通过集成 构件和特定的应用代码来完成的。构件技术提供了一种较面向对象技术更为有效的软 件设计模式,解决了面向对象技术无法使大量结构相似的应用程序重用的矛盾。构件 技术对软件重用和集成具有非常重大的意义,已成为当前软件领域的一项主流技术和 北京化工大学硕上学位论文 研究热点【5 】。 2 构件技术把构架从系统逻辑中清晰地隔离出来,实现了不同开发语言和平台的协 作,有利于大规模的丌发,使得系统的开发周期更短、造价更低【6 】。基于构件的软件 工程( c b s e ) 已成为软件工程领域的研究热点。构件形态也先后经历了函数库、类库、 可重用中自j 件( 如c o r b a ) 到可重用框架( 如e j b ,c o m + 等) 的演变【7 】。 各种新型的构件开发技术极大地提升了构件性能。然而,由于缺乏构件信息,致 使已存在的基于程序分析的软件工程技术不能直接应用于基于构件的软件系统。构件 的内部信息屏蔽、演变速度快以及构件间的异质、松耦合等特点给构件软件系统的测 试带来极大的挑战。另外,作为人智力活动的程序开发不可避免地在构件中滞留缺陷。 对构件和构件系统进行测试是保障和提高系统可靠性的重要途径。 现有的软件测试技术主要用于测试面向过程和面向对象的软件。随着构件技术的 日趋成熟,基于构件的软件设计方法已经成为当今软件丌发方法的新趋势。基于构件 的丌发方法引入了许多不同于传统开发方法和面向对象方法的新特性,现有的软件测 试技术已不能满足构件测试的需要。因此,需要根据构件的特点,对现有的软件测试 技术加以改进,或者提出新的软件测试技术,更好地满足构件丌发过程中质量保证的 需要。研究新的、高效的、基于构件的测试技术与方法对于促进构件技术的发展具有 重要的理论和现实意义。 1 2 研究现状和发展动态 1 2 1 构件测试的研究现状和发展动态 基于构件的软件开发方法极大地提高了软件系统丌发的速度,在构件的应用或集 成环境下对构件充分测试的需求也随之产生。为了保证大规模软件系统的质量,对构 件测试充分性的要求也越来越高。目前,软件测试技术研究已有较大进展。然而由于 构件技术的新特性,如封装、信息隐蔽【8 】等,制约了传统软件测试技术在构件测试中 的应用。面向构件的测试技术研究尚属初级阶段,远未成熟,已有的构件测试理论, 测试方法无法满足当前构件技术发展的实际需要。因此,构件测试技术,测试方法和 测试工具的研究有着十分广阔的前景。 构件测试作为保障构件质量的重要手段,日益受到人们的关注。当构件失效产生 的后果大于测试的费用时,就要进行测试,各种构件都需要充分测试。构件测试的最 终目的是检查构件是否达到规范和满足功能需求的要求,设计规范中的结构关系是否 得到正确体现。 构件测试的关键问题是构件开发者和使用者很可能不同,这导致了以下问题: 构件开发者对构件做的测试可能不充分,而构件使用者对此难以确定 2 第一章绪论 构件开发者和构件使用者使用构件的环境很可能不同,包括编程语言、操作 系统、硬件平台的不同 对于构件使用者来说,源代码很可能是未知的 这些问题是构件测试问题与传统的软件测试问题的最大区别。因此h a r r o l d 9 认为 应该从构件开发者和构件使用者两个不同的角度来看待构件的测试问题。构件的开发 者认为构件相对于构件的使用环境是独立的,所以要用与上下文独立的方式测试构件 的所有功能。相反,构件使用者开发的应用程序提供了构件的运行环境,所以构件使 用者不把构件看成独立的单元,而仅仅考虑与应用程序相关的构件功能。另一个重要 的区别是构件开发者拥有构件的源代码,而构件使用者则通常不能获得构件的源代 码。 基于构件的软件开发技术的最大特点是用于构成软件系统的基础是由第三方提 供的无源码的,基于不同平台的,不同技术开发的构件。而构件所固有的新特性,例 如:封装性,信息隐蔽等,给构件测试也带来一系列问题。这些问题给构件的开发者 和使用者带来了挑战。 构件开发者面l f 6 j 的测试挑战包括: 1 ) 测试充分性判据的可扩展性:由于复杂性问题和组合爆炸问题,对小规模程序 适用的判据对大规模程序不一定适用。 2 1 测试数据的产生:同样由于复杂性问题和组合爆炸问题,难以产生合适的测试 输入,对低层次元素( 分支、定义一使用对,需求功能可看作是高层元素) 难以达到较高 的覆盖率。 3 ) 如何配置构件的测试环境:对单个构件进行测试的环境,与构件在实际系统中 运行的环境可能不同。所以在测试构件时应该考虑模拟真实环境,如构件的竞争、死 锁和多线程等。但是由于构件广泛用于复用,难以完全模拟所有的构件使用时的真实 环境。 4 ) 构造测试驱动器和打桩技术:传统的测试驱动器和打桩技术面向特定的工程。 但构件的多样性和其功能的专用化使得传统的技术达不到应有的效果。 5 ) 构件测试的可重用性:对构件的测试应该是可重用的。但由于构件的实现语言, 功能等不同,因此,对某个构件的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业气体生产工操作管理水平考核试卷含答案
- 2025年省直辖行政单位仙桃教师招聘参考题库及答案解析
- 2025年海南藏族自治州中小学教师招聘笔试参考试题及答案解析
- 2025年盈江县中小学教师招聘笔试参考试题及答案解析
- 2025年中阳县中小学教师招聘笔试参考试题及答案解析
- 2025年栾城县中小学教师招聘笔试备考试题及答案解析
- 2025年宜昌市虎亭区中小学教师招聘笔试参考试题及答案解析
- 2025年包头市东河区中小学教师招聘笔试参考试题及答案解析
- 四川省广元天立学校2025年高一上化学期中经典试题含解析
- 山东省新泰市二中2026届高一物理第一学期期末教学质量检测试题含解析
- 抗菌药物的处方审核课件
- 安全管理工作汇报
- (2025)食品安全法试题库(带答案)
- 老年肾病的护理
- 洗煤厂安全规程培训课件
- 宽窄巷子剧院介绍
- 产房安全管理课件
- 现场管理提升培训
- 现场安全文明施工培训课件
- GB/T 14992-2025高温合金和金属间化合物牌号及化学成分
- 小学阶段科学探究活动课件
评论
0/150
提交评论