(计算机应用技术专业论文)测试的群体协同工作模型的研究.pdf_第1页
(计算机应用技术专业论文)测试的群体协同工作模型的研究.pdf_第2页
(计算机应用技术专业论文)测试的群体协同工作模型的研究.pdf_第3页
(计算机应用技术专业论文)测试的群体协同工作模型的研究.pdf_第4页
(计算机应用技术专业论文)测试的群体协同工作模型的研究.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

(计算机应用技术专业论文)测试的群体协同工作模型的研究.pdf.pdf 免费下载

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

文档简介

华中科技大学硕士学位论文 摘要 在测试诞生之日起,测试就是群体协同工作的,测试是不能单独存在。嵌入式系统 的测试是当今计算机测试领域的一个热点,事实上这种软件可已经成为最难测试的软件 之一。应用嵌入式软件的系统和设备很多都属于复杂系统的开发,往往要求功能强大、 性能稳定。因此在嵌入式系统的开发中,测试尤其显得重要。 随着软件工程技术的不断发展,系统硬件设计生产地日益完善,影响测试质量的不 在仅仅是测试技术的选择和使用,测试的组织管理也越来越突显其重要,在实际工作中 一位测试管理者经常会面临一些棘手的管理问题:如何在一个复杂的系统中测试进行组 织和管理? 测试人员如何站在客户的角度把握系统,完成客户试用( 验收测试) ? 测试人 员如何理解业务需求、理顺业务关系、以更高的质量完成本职工作? 测试人员何时参与 软件研发过程、完成哪些项目的测试工作? 如何通过对产品进行验证和试生产,判断系 统的正确性、可靠性、完整性、可用性、可维护性? 为了能更好的协调如此之多的性格鲜明、分工不同的工作人员,不浪费大量投入的 资金,保证产品的质量,降低产品开发失败的概率以及提高开发成功的概率,提出一种 在嵌入式软件中应用的测试的组织与管理技术测试的群体协同工作模型。为了实施 此模型,首先建立并改造系统测试部门的组织体系以及测试时所经历的基本测试过程、 重新定义了测试人员的职责、测试人员与其他各类相关人员的角色及其相互之间的各种 关系;在税控收银系统中运用测试群体协同工作模型,通过软件评估,可靠性分析,测 试结果评审,展示测试的群体协同工作模型的优点以及不足。 由于嵌入式系统往往要求同时进行硬件和软件的测试,所以涉及到产品的生产和品 质。本文重点研究了i s 0 9 0 0 1 中软件产品质量保证的概念,在测试的群体协同工作模 型中如何衡量测试人员的工作绩效,通过软件评估,软件可靠性分析来对被开发的系统 质量以及测试的质量进行最后的评价,并同时证明测试的群体协同工作模型的重要作 用。 关键词:嵌入式系统,测试,测试的群体协同工作模型,u m l 华中科技大学硕士学位论文 a b s t r a c t 飘f o mt h ed a yo fs o f t w a r et e s t i n gb en a i s s a n c e , i nf a c t , s o f t w a r e t e s t i n gi sc o l l a b o r a t i v e w o r k ,b e c a u s et e s t i n gw o u l dn o te x i s ts e l f - g o v e m e d l y t h es o f t w a r et e s t i n go fe m b e d d e d s y s t e mi st h eh o t s p o to fs o f t w a r et e s t i n gt o d a y , i nf a c t , t h i ss o f t w a r ei so n eo ft h em o s t d i f f i c u l tt ot e s i n g t h es y s t e mo re q u i p m e n tt h a tu s et h ee m b e d d es o f t w a r ea r ep r e d o m i n a n t l y c o m p l i c a t e d , a l la s kc a p a b i l i t yi ss t r o n g , p e r f o r m a n c ei sr e l i a b l e 。s oi nt h ep r o c e s so fe m b e d d e s o f t w a r ed e v e l o p m e n t , t e s t i n gi sm o r ei m p o r t a n t a l o n gs o f t w a r ee n g i n e e r i n gi se x p a n d i n gu n i n t e r r u p t e d l y ,s y s t e m i ch a r d w a r ei s d e s i g n e da n dp r o d u c e dm o r ea n dm o r ew e l l ,t oe x e r c i s ei n f l u e n c eo v e rt h eq u a n t i t yi sn o to n l y t e s t i n gt e c h n o l o g yb u ta l s ot e s t i n gm a n a g e ,am a n a g e ro fs o f t w a r et e s t i n gd e p a r t m e n ta r ef a c e d w i t hm a n yq u e s t i o n ,a n dm o s to ft h e s ei st h ef o l l o w i n gq u e s t i o n s :h o wc a l lw eo r g a n i z ea n d m a n a g et h e s o f t w a r et e s t i n gi ne m b e d d e ds y s t e m ? h o wt oc o l l a b o r a t ew i mu s e ra n d m i s s i o n a r i e so fm a r k e t ? h o wt oc o l l a b o r a t ew i t ho t h e rt e s t e ri ns a m ed e p a r t m e n t ? h o wt o c o l l a b o r a t ew i t hd e v e l o p e r s ? h o wt e s t e re s t i m a t et h ev e r d i c t t h ev a l i d i t y ,d e p e n d a b i l i t y , i n t e g r a l i t y ,u s a b i l i t ya n dm a i n t a i n a b i l i t yo fs y s t e m ,h o wt oc o l l a b o r a t ew i t hq am e m b e r a n dp r o d u c te n g i n e e ro f m a n u f a c t u r ew h ov a l i d a t ea n dp r o d u c et h ep r o d u c t f o rd i s p a t c h i n gm a n yp e o p l ew h oa r ed i f f e r e n tc h a r a c t e r , a n de v e r y o n ei sw o r k i n g d i v i s i o no fl a b o r , n o tt ow a s t em u c hf i n a n c e , t oe u s u r et h ep r o d u c t sq u a n t i t y , r e d u c et h e d e v e l o p m e n tf a i l i n g , b r i n gu pan e wt e s t i n gm a n a g et e c h n o l o g y :ac o l l a b o r a t i v ew o r k i n g m o d e lo f s o f t w a r et e s t i n g t h r o u g ht h i sp a p e r , b a s i n go ut h ep r a c t i c ec o n d i t i o no fm yw o r k ,t h a tf o u n dt h e d e p a r t m e n to fs o f t w a r et e s t i n g , f o r m i n gt h es c h e m ea n dm a n a g i n gt h es o f t w a r et e s t i n gg o t h r o u g ht h eb a s i ct e s t i n gp r o c e s s , d e f i n i n gt e s t e r sr e s p o n s i b i l i t y ,t h er o l er e l a t eb e t w e e n t e s t e ra n do t h e rp e o p l e , a n db yt h ew a yo fu m l g i v et h ec o l l a b o r a t i v ew o r k i n gv i s u a l m o d e lo f s o f t w a r et e s t i n g ,t h e nm a k et h e s eu s ei np r a c t i c ew o r k b e c a u s eo fi ti ss o m e t i m e s r e q u i r e dt h a tt h eh a r d w a r et e s t i n ga n ds o f t w a r et e s t i n gg oa l o n gt o g e t h e ri nt h es o f t w a r e t e s t i n go fe m b e d d e ds y s t e m t h ee m p h a s e si sc o n c e p to fl i f e e y e l e ,t h a ti ss t u d i e db ym a k i n g r e p o r tt h a ti sc o m p o s e db yb u g so fs o f t w a r et e s t i n g , t h ee f f e c to fp r o c e s st h a ts o f t w a r eq u a l i t y b ea s s u r e d ,a n dh o w t o 矧et e s t e rw o r k i n gp e r f o r m a n c e t h r o u g hs o f t w a r ee v a l u t a t i o n tt h e a n a l y s i so f s o f t w a r ed e p e n d a b i l i t ye s t i m a t eq u a l i t yt os o f t w a r et e s t i n g o f e m b e d d e ds y s t e m , a to n et i m eac o l l a b o r a t i v ew o r k i n gm o d e lo fs o f t w a r et e s t i n gi sp r o v e ds oi m p o r t a n t 华中科技大学硕士学位论文 k e yw o r d s :e m b e d d e ds y s t e m ,s o f t w a r et e s t i n g ,ac o l l a b o r a t i v ew o r k i n gm o d e lo f t c s f i n g ,u m l i l l 独创性声明 本人声明所呈交的学位论文是我个人在导师的指导下进行的研究工作及取 得的研究成果。据我所知,除本文已标明引用的内容外,本论文不包含任何其他 人或集体己经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:i 芳 日期:2 棚i j - j 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于 不保密d 学位论文作者签名:纠茜 日期:加6 指导老师签名:触咳乏 日期:沙6 i j 华中科技大学硕士学位论文 1 1 课题背景及意义 1绪论 随着计算机技术的不断发展,嵌入式技术应用范围的越来越广泛,嵌入式产品已经 出现在社会的各个领域,包括电器制造、数字通信、航空航天、工业生产以及军事电子 领域【1 1 。到2 0 0 2 年,全球每年要消耗掉3 0 亿颗嵌入式微处理器,嵌入式系统带来的工 业年产值已经超过了1 万亿美元【2 1 。而在这些嵌入式应用中,很多采用了嵌入式实时多 任务操作系统( r 1 d s ) 【3 1 ,随着这几年l i n u x 在嵌入式系统的火爆发展,l i n u x 不仅仅在 微型或小型设备上广泛使用,在许多数字通信、工业生产等重要产业中广泛使用,本文 所涉及到的税控收银设备就是基于嵌入式l i n u x 设计研发。 嵌入式系统开发具有其自身的特点,即必须先进行硬件部分的开发:包括形成裸机 平台( 调试板) ,根据需要移植操作系统,并引入外设,同时开发底层的硬件驱动程序; 在硬件平台测试通过后,才进行中间层中间件软件和应用软件的开发调试,开发调试 是基于该硬件平台进行的,这同时也是对硬件平台的一种测试。由于种种特殊的开发要 求,嵌入式系统存在许多缺陷:如系统处理能力的效率低下;修改产品缺陷非常困难; 数据采集系统的采样的数据与现场相差甚远;系统运行中,随机性复位、宕机和系统软 件莫名奇妙跑飞频繁;许多偶发性b u g 寄生在系统中,当客户在使用时突然爆发等 等,这些问题可能会直接导致一个产品的研发失败。如何避免这些问题,测试成了关 键。 嵌入式系统的开发过程是一个软硬件互相协调,互相反馈和互相测试的过程。在嵌 入式系统软件中,底层驱动程序、操作系统和应用程序的界线并不清晰,甚至经常需要 混编在一起【4 l 。嵌入式软件对硬件的依赖性要求,使得测试时必须最大限度地模拟被测 软件的实际运行环境,以保证测试的可靠性和产品性能【5 1 。因此,在事实上,嵌入式测 试要比普通测试要困难的多,测试费用和测试难度也比普通的软件测试复杂,风险也更 大。 应用嵌入式软件的系统和设备很多都属于复杂系统的开发,往往要求功能强大、性 能稳定。在嵌入系统开发中软件的代码量很大,随着嵌入式测试方法、工具的日新月 异,参与测试的人员以及与钡4 试有关的人员也越来越多,各自分工越来越细。在嵌入式 系统的测试中,测试人员需要掌握更多的技术和工具【“,同时测试部门也要与更多部门 进行沟通和交流。 1 华中科技大学硕士学位论文 如何才能更好的协调如此之多的性格鲜明、分工不同的工作人员,不浪费大量投入 的资金,保证产品的质量,降低产品开发失败的概率以及提高开发成功的概率,很大程 度取决于测试过程中如何协调这些工作者和工作者各自的任务。因此提出一种新的测试 的组织与管理技术测试的群体协同工作模型是非常必要和有意义的。 图1 1 说明了使用l i n u x 操作系统进行嵌入式产品开发的模型。 1 2 国内外研究概况 1 2 1 嵌入式测试概况 图1 1 嵌入式l i n u x 开发模型 由于嵌入式系统特殊的开发方式,嵌入式应用软件的测试同人们通常使用的传统的 测试相比有较大的差别,除了要考虑和运用传统的测试技术外,还要考虑与硬件密切相 关的测试技术运用,特别是硬件设计和硬件驱动的测试也成为一个项目成功与否的关键 【1 。因此通常的嵌入式产品分为五级测试流程: ( 1 ) 系统平台测试( 硬件设计验证) :这部分包括硬件电路测试、操作系统及底层驱动程 序的测试等。 ( 2 ) 单元测试:将大型的嵌入式软件系统划分为着干个相对较小的任务模块,由不同的 程序员分别同时对其进行编码。编码完成后,把各个模块集成起来前,必须对单个模块 进行测试。 ( 3 ) 集成测试:单元测试完成之后,将所有模块集成起来联调,同时进行测试,目的是 找出各模块之间数据传递和系统组成后的逻辑结构的缺陷【8 】。 2 华中科技大学硕士学位论文 ( 4 ) 系统测试:集成铡试完成后,把系统移植到目标机上,从客户的角度对系统进行黑 盒测试,验证每一项具体的功能。一般至少包括:易用性测试、恢复性测试、安全性测 试、压力测试和性能测试。 ( 5 ) 客户试用( 验收测试) :为了保证在规模生产前产品符合客户需求,先将小规模试生 产的产品提交给客户试用,并按客户意见改进产品,直至符合客户需求。 随着嵌入式测试技术的不断发展,为了保证这五级测试的正常运行,经常采用一些 综合性技术: 软件分析技术:对实时嵌入式系统进行分析需要建模和仿真以及对数学工具的支持 f 9 】。 测试技术:是测试的专门途径以及提供能够更加有效地运用这些途径的特定技术。 测试策略:首先要建立一个好且实用的测试文档标准和开发方及测试方的协作关 系,然后明确测试需求和目的及测试过程,制订测试计划,最后进行测试的开发、实 施、分析和报告。 软件调试技术:借助硬件仿真的手段辅助软件来进行测试和调试。 嵌入式软件的结构化测试方法f r e m b 方法) 【1 0 】:t e m b 方法是一种能够有效组合多种 测试技术的结构化测试方法,它从适用于任何测试项目的通用元素和一组相关的特定方 法中组合恰当的专用测试方法。 仿真器:人们通过调试器客户接口同仿真器的硬件和软件打交道来控制和监督微处 理器的工作,从而定位或发现软件的缺陷。 代码的覆盖测试技术:此技术逐渐成为测试的统一标准,它是基于白盒测试方法 的。 图1 2 支持开发觑0 试的不同阶段需要不同的技术 华中科技大学硕士学位论文 图1 2 说明了在嵌入式系统开发和测试中备种不同阶段需要的不同技术。 在实际溺试孛,戳t 豹测试技零舔被广泛瀚采绣窥使雳,经褒入式系统酶痰量不繇 提高。 1 2 2 与嵌入式系统测试相关的工作 由予嵌入式软俘常常存祷焱只读存储器( r o m ) 中,苓麓轻荔修改,鲡采需簧修改的 话,可能要更换包含嵌入式软件的整个芯片1 1 1 1 。近年来,虽然很多嵌入式产品开发广 泛健矮f l a s h 做主存褚器,霹戳傲到使震串溺、u 焱藕网络簧掰应麓程序,毽露要受 换系统软件、书库依然q 常麻烦,而如果想减少系统软件被更新的次数,对产品的质赞 窝虿纛毽要求剿会 # 露舞。 在很多嵌入式系统开发中,测试彼往代表了s q a 。测试部除了承担测试任务,z 终还怠括遴度鲍每查、培瑗、璇量孩镄秘覆量测量等王痒,翔: 1 、参与需求分析评审;了解客户对目标系统程功能、行为、性能、设计约束等方面的 期望,拟嚣测试量 划。 2 、参与概要设计评审;明确开发组对产品的总体结构和模块问的关系,检查备功能模 块豹接口,制定组装缓成) 测试计划; 3 、参与详细设计评审;评审用于过程设计语裔以及设计程序模块的内部细节,拟定梭 块( 单凭) 测试方案。 4 、系统平台灏试:包括硬件电路灏试、操作系统及底鬃驱动獠净的测试等。 5 、样机制作:硬件测试人员通过参与样机制传,对硬件电路设计,p c b 图,元器件清 单等避行审核和检查; 6 、单元测试、集成测试以及系统测试:制定备阶段测试用例,测试用例经过评审后, 由测试帮门完袋各阶段瓣溅试氆务。 7 、软件配置管理:软件配置管理各种文档,代码,控制开发过程和测试过程,保证谯 舞发避程孛蘑鸯懿工露霹孩褥副遥溪,戳达蔓| 捡裁产鑫矮量静瓣静。 8 、缺陷管理和跟踪则通过b u g 管理工具,保证每个b u g 都要经过测试、确认、修 复、验涯等营臻过程。 9 、小规模试生产:在产品所有相关资料内部发布后,参与工麓文件的评审,进行小规 模试生产,蒡毁黥试生产中出魏豹各静鲻题,考孩测试鹱量,撼舞溯斌瘩乎; 1 0 、产黼试用:将小规模试产产品提供给客户试用,检验产品的可靠健,和各种文档、 客户培训麓力秘支持产黯豹生产能力。 4 华中科技大学硕士学位论文 图1 3 说明了测试的整个过程,软件配置、测试配鼹、测试工具的选择都将是测试 互终静蒺稿,测试蘩象分援窝霹靠经分凝罄是餐出测试绥论豹荚键因素,搀爨过程粼盛 通过缺陷管理工具进行。 1 3 课题的拦要工作 圈1 3 测试的流程 嵌入式系统测试始终是一晕争很麻颓的技术。在现实工作审,经常穗瑗花费大薰辩 阃、金钱、人力而最后得到失败结果的情况,但是嵌入式系统的发展却是不可阻挡的潮 流。阖j l 乏要怒徽努测试势尽霹熊静绦诞产箍凄爨,除了溅试技术癸更需要弓l 蒸黧视懿涮 是人的工作,如何让所脊参与项目的工作人员置作的开心、舒服、通过高效的王作保诋 产晶矮鬟? 壶魏捷窭7 测试豹群体镑霹王终模麓。 在测试的群体协同工作模型中,第步工作是建吏适合测试的群体协同工作模型运 霉亍懿溺试组织,重瑟定义基本溺试过纛鞫定义测试久受黪职责,王及理颓测试人员与其 他各类相关人腋的角色及其栩驻之间的各种关系。其次通过采用统一建模语言u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 绘域了这秘群体势弼工作模型豹可援纯模型。第三,将测试 的群体协同工作模型在税控收银系统中进行实践,证明在产品开发工作中实施此模型怒 非雾必簧穗有意义豹。最后通过软 牛谬结、软传可靠性分析对税控收锻系统的测试进行 综合评价,检畿采用这种模型怒否能逡至更好的保证系统的正确性、可靠性、完整性、 可用性、可维护性豹目的。 5 华中科技大学硕士学位论文 2 相关技术及系统结构 2 1软件过程评估与软件过程改进 2 1 1 软件过程评估 正式的软件评估最初是2 0 世纪7 0 年代初在i b m 公司内部出现,它是指:检查软 件项目构建和维护方式的正式和结构化方法【1 2 1 。 软件过程评估的主要目的是:收集有关用于软件开发的实践、方法、工具套件和机 构结构的定性信息。有些评估形式如s p r ,还要收集有关被评估机构所使用的办公空间 以及人体工程学因素等方面的补充信息i 埘。 软件过程评估一般由独立评估人员在现场完成,它是由一系列经过预先确定的与软 件项目经理和技术人员面谈构成【1 4 1 。为了确保企业之间的一致性,大多数评估方法都 使用标准问卷,尽管各个方法所使用的问题有所不同。很多重要类型的软件评估数据收 集所使用的脚本和问卷现在在世界范围内使用。 目前所使用的软件过程评估的一些较为常见的形式包括:s p r 评估方法;s e i 评估 方法;i s o 评估方法;s p i c e 评估方法;t i c k i t 评估方法;t r i l l i u m 评估方法;h o w a r d r u b i n 联盟评估方法;g a r t n e r 集团评估方法;美国信息技术协会1 t a a 评估方法。 对软件评估中对软件项目精度、生产率和质量水平有非常重要的影响的关键过程域 是:项目管理方法,例如预估方法;需求获取与分析方法;设计与规格说明方法;编码 方法;可复用方法;变更控制方法;客户文档编制方法;预防性的缺陷清除方法,例如 审查;测试方法与工具;维护方法与工具。 软件项目具有非常高的劳动密集程度,并且要求部分技术人员和管理人员具有超群 的技能,因此软件评估还要检查与软件人员有关的因素,以下给出1 0 个关键主题,可 在软件过程评估中检查:员工雇佣实践;员工培训与教育;管理人员培训与教育;专门 人员与岗位设置;报酬水平;办公室人体工程学;机构结构;士气调查与结果;工作模 型与超时工作;员工跳槽率。 软件过程评估在一定程度上等效于例行年度体检,它并不需要治疗任何具体的疾 病,主要目的是检查被检查者的健康情况。因此评估被看做仅仅是一种年度检查,以确 保没有出现新的问题,并且解决上一次评估所发现问题的措施正在生效。而评估本身本 身不会解决问题,仅仅是找出需要解决的问题,并且确定问题的严重性,最后启动成功 解决这些问题程序。 6 华中科技大学硕士学位论文 1 9 8 7 年在美国国防部支持下,卡内基梅隆大学率先推出了软件过程评估项目的研 究残暴软俘过程缒力戒熬度摸整c m m l 8 。势在兹薅疆土彩成了鞠舔标猴 i s o i e c l 5 5 0 4 。它把软件过程按完全程度分为5 个等级,描述了不同宛善程度的软件过 程,麸嚣译徐荬软箨舜发麓力懿。在试爱过程牵,在1 9 妈年发震兔s e ic m m l 。1 ,它 描述了软件过程不断改进的科学途径,使软件汗发组织自我分析,找出尽快提高软件过 程裁力豹繁臻。 软件过程能力成熟度模型的作用如下:对软件组织进化阶段的一种描述。依据此模 型,软传维织霹瑷定义、实施、测量_ 耱羧进其软箨过羧,臻定警藏过黎成熟度及其薄弱 环节,确定改进关键,形成改进策略i 阐。 软 孛能力成熟疫等级是指软件开发组织在是自成熟的途中几个具蠢明确定义鹃表德 软件过程成熟度的平台,引进c m m 促进了软件企业文化转变,使软件工业从种手麓 作坊向真正的训练有素的工程层次,这是一种文化的转折和跃变。 2 t 2 测试髓力成熟麝模型介绍 t c m m 一一t c s 鼬gc a p a b i l i t ym a t u r i t ym o d e l m ,1 9 9 6 年,t e s t i n gc o m p u t e r s o f t w a r e 会议上,r o d g e r 稻s u s a n b u r g e s s 提出。 t _ s m n s t a b i l i t ys u p p o r tm o d e l i ”j ,1 9 9 6 年,d a v i dg e l p e r i n 和a l d i nh a y a s h i 提 出。 喇m 1 r e s t i n gm a t u r i t ym o d e l b 9 1 ,1 9 9 6 年,i i i e n eb u m s e i n 等提出。 这三令模麓霆各纛镶重静关弓:灏试瓣成熬发模型。是对较释能力簸熬度搂鍪( c m 关于测试的有蔬补充,袭2 1 题t c m m 、t s m 和t m m 的具体说明和级别设置。 表2 1 三令模型斡吴体说明彝莰攫缓烈 模型名称缴别补充 第一缓;弱( w e a k ) 。 k s a ( k e ys u p p o r ta r e a ) 第二级:基本( b a s i c ) 。 1 ) 测试发好的基础构架; 第三缀:强国蚓。 秘颞及潮试静瑷鞭计划; t s m 3 ) 测试发好的产晶信息; 顾及测试的软件设计; 辩弱试伟; 6 ) 测试环境设计 第一毅;翘魏缀。 或燕度瓣鼢嘞g ( 斌) : 第二缎;阶段定义级( p h a s e篇二级: t 蝴 d e f i n i t i o n ) ; 耳标1 :避 亍测试爨1 调试的目标; 目标2 ,开始一个测试计划过程。 华中科技大学硕士学位论文 表2 1 ( 续) 三个模型的具体说明和设置级别 第三级:集成级( i n t e g r a t i o n ) :成熟度目标( m a t u r i t yg o a l ) : 第四级:管理和度量级第二级: ( m a n a g e m e n t a n d目标1 :进行测试和调试的目标: m e a s u r e m e n t ) 目标2 :开始一个测试计划过程。 第五级:优化,缺陷预防和质量 第三级: 控 制( o p t i m l z a t i o n d e f e c t目标1 :建立一个测试组织; p r e v e n t i o na n dq u a l i t yc o n t r 0 1 ) 目标2 :测试集成进入软件生命周期; 目标3 :控制和监溯测试过程。 第四级: 目标1 :建立一个面向组织的评价程序; 目标2 :建立一个技术培训程序; 目标3 :建立一个测试度量程序; 目标4 :软件质量评价。 第五级: 目标1 :应用缺陷预防数据过程; 目标2 :质量控制。 第一级:初始级; 第二级:可重复级; t c m m第三级:已定义级; 第四级:受管理级; 第五级:优化级。 髑m 从测试组织的外部而非内部来考察测试的成熟性,这是他区别于另外两个测 试模型的地方。 2 2 软件可靠性 2 2 1 软件可靠性概念以及基本数学关系 软件可靠性的发展是与软件工程、可靠性工程的发展密切相关的,尤其与软件工程 的关系更加紧密【捌。可以说它是软件工程学派生的新分支,同时又合理地继承、利用 了硬件可靠性工程的理论和方法1 2 。 可靠性是软件的一个质量要素1 2 2 1 。软件如果不具有足够的可靠性水平,使用过程 中将频繁失效,其后果轻则给客户带来麻烦,造成经济损失,重则导致安全事故的发 生。这样的软件不仅没有使用价值,而且非常危险。 8 华中科技大学硕士学位论文 鉴于软件可靠性的蓬要作用,经过长期争论,1 9 8 3 年美国i e e e 计算机学会对“软 件可靠牲”傲掰磐下定义: ( 1 ) 在规定的条件下,在规定的时间内,软件不引起系统失效的概率,该概率是系 统输入秘系统缆耀懿函数,也楚软传孛存在鹣皱貉嚣蕊数;系统输入将确定是黉会透刭 已存在的缺陷( 如果缺陷存在的话) ; 2 在援定豹露阕髑期内,在掰矮条传下程缪技行繇要求戆功能豹缝力。 1 9 8 9 年我圈国标g b t 1 1 4 5 7 采用了这个定义。这个定义袭明软件可靠性艇有定性 的积定嫠豹两艨含义。 为了方便软件可靠性的判断,可从基本定义导出其数学表达式,用随机变数芒表承 从程序运圣亍开始到系统失效所缀历的对闽,用f 爨) 表承亏的分布函数,用t 表零任意约 给定时刻, 是程序在,时刻的可靠度,p r 怒软件失效的概率阎,则 ( t ) = 致 t ,= 1 r ( t ) 上式就是软件可靠度盼数学表达式,图2 2 是f ;和r ( f ) 交证藏律的示意匿,圈 中两条曲线表明,当软件开始遴行后,随着时间的延续,其失效概率逐渐增大,在长期 运行之后将趋主覆予1 ,两其可纛度簧逐渐降低势氇近予0 。 闰2 2f ( 1 ) 和r i ( 1 ) 曲线网 描述软箨失效囊律豹舅一个特征誊跫失效率( f a i l u f er a t e ) ,灸效率又稼风险黼数,它 的数学定义是软件在t 时刻没有发生失效的焱件下,在0 ,“t ) l r i 陌j 内,当a t 很小 辩,莘像对闺内发生失效鑫搴穰率,雳天表示失效率 五r t j = l m 致 + 越= 毒 l 毒 ( 2 2 ) 出。o a t 将上式展开,可得 擘 华中科技大学硕士学位论文 a f t j = l i r a p r t + a t = _ t t t d t 川d t p 矗 t = l i r a f ( t + a t ) 一f i t ) 盘埘a t r t ) f ( t j r t ) 由( 2 3 ) 式俐是随机交数亡的密度函数,式( 2 3 ) 可改写为 - r f f a f f ) = r ( t ) ( 2 3 ) ( 2 4 ) 式( 2 4 ) 是一个一阶常微分方程,在初试条件月( 0 ) = 1 时求解可得 即肚x p m 蛐) , 如果a ( s ) 是常数,则可得 r t = e 山 随机变数亡的数学期望为 ( 2 6 ) r 。 ( 2 7 ) e ( 孝) = j 矿( f ) 出 0 式( 2 7 ) 可以用来表示软件的平均寿命q 唧限f ) ,在失效率为常数的情况下,可得 1 n 1 b f = ( 2 8 ) 1 0 华中科技大学硕士学位论文 2 2 2 软件可靠性工程 软件可靠性初创后近2 0 年,研究焦点基本局限于软件可靠性数学模型,真正的应 用比较少见,更谈不上如何用软件可靠性理论指导软件开发。进入2 0 世纪9 0 年代,局 面发生变化,软件可靠性工程一词为广大软件业界所接受【”。 1 9 9 2 年a t & t 贝尔试验室对软件可靠性工程的内涵进行说明,他们认为重要的软 件项目制定一个软件可靠性大纲,一个好的软件可靠性大纲应包括下列四个系列2 0 个 工作项目: 1 、可行性和需求:确定功能剖面;失效定义和分类;识别需方的可靠性需求;进行权 衡分析;设置可靠性目标。 2 、设计和实施:在部件中分配可靠性;适应可靠性目标的工程措施;基于功能剖面的 重点资源;对故障的引入和传播的管理;外供软件的可靠性测量。 3 、系统测试和现场试验:确认运行剖面;进行可靠性增长测试;跟踪测试进展;项目 必须的附加测试;认可可靠性目标。 4 、售后及维护:建立必须的售后服务机构;监视现场可靠性是否可靠性目标;跟踪需 方对可靠性的满意程度;拟定软件的改进和提高进度;产品和开发进程指南。 2 2 3 硬件和软件可靠性特征 由于软件与硬件的不同本质,所以硬件可靠性与软件可靠性也是不同的,软件是人 类脑力劳动的产物,只能书写在文件或存储在介质中,因此软件不受任何物理、化学规 律的制约。硬件是由自然界中基本元素构成的、可用感官识别的实体。硬件的存在形式 和运动规律,必须服从基本的物理和化学规律。硬件和软件这种本质差别,使得它们具 有不同的可靠性特征【矧,表2 3 说明了软件可靠性与硬件可靠性的不同特征。 以上说明,设计质量对软件可靠性具有特殊的重要意义,而硬件的可靠性,除了设 计的影响之外,还受到物质老化过程的影响,相比之下,软件可靠性对设计的依赖程度 更大。而由于嵌入式系统往往基于硬件之上而运行软件,硬件和软件的可靠性都要进行 考虑,这又大大提高了嵌入式系统开发和测试的难度。 l l 华中科技大学硕士学位论文 表2 3 软件可靠性与硬件可靠性特征 特征说明 特征名称 软件硬件 由于物理和化学的作用,使物质的性质和 失效由于程序运行过程中软件缺陷被触发所致 结构发生变化,致使硬件发生耗损失效。 失效率随着使用时间的增加而下降。随着使用时间的增加而上升。 被废弃的 产品经长时间的使用,已经进入损耗失效 原因 软件版本的功能己不能满足客户新的需求期,无法继续正 常工作。 在设计完成之后,可以大量地复制,复制 在设计完成之后,尽管原材料完全相同, 复制制造过程也完全相同,但是每个产品的微 件和原版本完全一样。 观结构必然存在差异。 软件对普通客户是不可维护的,只能通过 维护可由客户在使用现场完成。 软件开发方的再设计和排错来消除缺陷。 指软件开发环境与使用环境的差异,如操 失效的环作系统、硬件 由现场的自然环境或人为环境密切相关, 境因素配置等,外部的自然环境对软件的可靠性 因此硬件可靠 性设计工作的环境设计十分重要。 没有直接的影响。 多数可用标准零部件、标准电路搭配构 可通用的标准模块非常缺乏,多数程序需 成,这些标准件,其质量 标准模块和可靠性有较好的保证,各种可 要设计人员独创构思。 用标准零部件的失效模型也有公 认的分类方法。 2 3 软件质量保证 国际标准化组织指定的i s 0 9 0 0 0 系列标准是国际公认的质量管理和质量保证标 准,被世界各国广泛采用1 7 6 1 。此标准在1 9 8 7 年包含6 项国际标准: 1 1i s 0 8 4 0 2 “质量术语”; 2 ) i s 0 9 0 0 0 “质量管理和质量保证标准一选择使用指南”; 3 ) i s 0 9 0 0 1 “质量体系设计开发、生产、安装和房屋的质量保证模型”; 4 ) i s 0 9 0 0 2 “质量体系生产和安装的质量保证模型”; 5 1i s 0 9 0 0 3 “质量体系最终检验和试验的质量保证模型”; 华中科技大学硕士学位论文 6 ) i s 0 9 0 0 4 “质量管理和质量体系的要素指南”。 经过发展,到1 9 9 4 年已经发展为1 6 项【明,其中包括i s 0 9 0 0 0 3 :1 9 9 1 “质量管理 和质量保证标准第3 部分:i s 0 9 0 0 1 在软件开发、供应和维护中的使用指南”。这 个指南专门针对软件的质量管理和质量保证而指定的,对软件企业和软件产品的质量管 理和质量保证具有重要的意义。 i s 0 9 0 0 0 3 :1 9 9 1 “质量管理和质量保证标准第3 部分:i s 0 9 0 0 1 在软件开 发、供应和维护中的使用指南”由系列1 0 个部分组成。 2 3 2 软件质量保证策略与职能 要建立公司软件质量保证系统,必须制定公司的质量策略,用以指导公司范围内采 取的各种涉及产品品质和服务质量的措施。 公司的质量策略说明公司的目标和利益与软件质量保证的工作管理【勰】。质量要求 的实施应视开发的软件的性质而定,对于操作系统,应用软件、模拟软件、测试工具软 件、编译软件、其他支持软件和固件等不同类型的软件有不同的标准,以满足各类软件 的基本质量要求。 1 、质量策略必须和公司的质量目标紧密相联。 。 2 、质量策略中,还应规定与实现其质量目标有关的各级各类人员的职责。各种人员质 量职责的规定非常明确,以便在执行过程中建立本企业内,各机构之间的协调一致的关 系。 3 、质量策略中还规定实施企业目标所必须采取的措施及遵循的规程,这些措施涉及开 发过程中与质量保证有关的各个环节,诸如配置管理、测试、改错、程序设计、文档、 评审、审查工具和方法、子承包商的控制等。 4 、质量策略还包括各种质量保证方案的批准过程及批准权限的规定。 5 、质量策略的制定应使质量保证部门能够行使公司最高领导层赋予的权利。如果没有 最高领导层的授权,质量保证部门的工作很难进行。 质量保证应贯穿于软件开发的全过程【。合同签定后,在制定工作开发计划的同 时质量保证人员应对应合同的要求进行分析,并按照公司质量和工程开发计划制定出项 目的质量保证计划,尤其需要拟定对子承包商质量要求和质量保证措施。项目的质量保 证计划还应包括工程开发所需的标准、独立的质量审查、评审、质量保证部门在监督测 试中的职责、支持质量目标的软件开发工具及技术方法、与配置管理有关的监督程序, 基于趋势分析及问题报告所采取的纠正措施。 2 4u m l 统一建模语言介绍 华中科技大学硕士学位论文 软件工程领域在1 9 9 5 年至1 9 9 7 年取得了前所未有的进展,其成果超过软件工程领 域过去1 5 年来的成就总和 3 0 1 ,其中最重要的、具有划时代重大意义的成果之一就是统 建模语言u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 的出现。 统一建模语言( u m l ) 是用来对软件密集系统进行描述、构造、视化和文档编制的一 种语言【3 1 】。 u m l 消除了过去数十种面向对象的建模语言一些潜在的不必要的差异,避免混 淆。通过统一语义和符号表示,稳定面向对象技术,使项目根植于一个成熟的标准建模 语言,从而可以大大拓宽所研制与开发的软件系统的适用范围,并大大提高其灵活程 度。 u m l 的定义包括u m l 语义和u m l 表示法两个部分。 ( 1 ) u m l 语义描述基于u m l 的精确元模型定义。元模型为u m l 的所有元素在语 法和语义上提供了简单、一致、通用的定义性说明,使开发者能在语义上取得一致,消 除了因人而异的最佳表达方法所造成的影响。 ( 2 ) u m l 表示法定义u m l 符号的表示法,为开发者或开发工具使用这些图形符号 和文本语法为系统建模提供了标准。 u m l 的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领 域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统, 如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工 业系统或工业过程等。总之,在世界范围内,至少在近1 0 年内,u m l 将是面向对象技 术领域内占主导地位的标准建模语言【3 2 1 ,可以对任何具有静态结构和动态行为的系统 进行建模。 此外,u m l 适用于系统开发过程中从需求规格描述到系统完成后测试的不同阶 段。在需求分析阶段,可以用用例来捕获用户需求。通过用例建模,描述对系统感兴趣 的外部角色及其对系统( 用例) 的功能要求。分析阶段主要关心问题域中的主要概念 ( 如抽象、类和对象等) 和机制,需要识别这些类以及它们相互间的关系,并用u m l 类图来描述。为实现用例,类之间需要协作,这可以用u m l 动态模型来描述。在分析 阶段,只对问题域的对象( 现实世界的概念) 建模,而不考虑定义软件系统中技术细节 的类( 如处理用户接口、数据库、通讯和并行性等问题的类) 。这些技术细节将在设计 阶段引入,因此设计阶段为构造阶段提供更详细的规格说明。 u m l 模型还可作为测试阶段的依据。系统通常需要经过单元测试,集成测试、系 统测试和验收测试。不同的测试小组使用不同的u m l 图作为测试依据:单元测试使用 类图和类规格说明;集成测试使用部件图和合作图;系统测试使用用例图来验证系统的 1 4 华中科技大学硕士学位论文 行为;验收测试由用户进行,以验证系统测试的结果是否满足在分析阶段确定的需 求。 总之,标准建模语言u m l 适用于以面向对象技术来描述任何类型的系统,而且适 用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。 2 5 小结 本章介绍了测试中实际被广泛使用的技术,如:软件评估技术、软件与硬件可靠 性、软件质量控制技术、软件过程改进、u m l 统一建模语言,并简单说明了这些技术 与测试的管理以及使用方法。在此基础上介绍了测试群体协作模型的整体结构框架、主 要的组成部分以及对各个组成部分的主要功能和结构。这些技术都是测试的群体协同工 作模型的基础,有了这些技术的支持,测试的群体协同工作模型才能更有效的运行起 来。

温馨提示

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

评论

0/150

提交评论