




已阅读5页,还剩60页未读, 继续免费阅读
(计算机软件与理论专业论文)基于测试设计标准化的软件质量保证.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
p ) 目录 摘要i a b s t r a c t i i i 第l 章绪论1 1 1 研究背景及意义1 1 2 国内外研究现状2 1 2 1s q a 研究现状2 1 2 2 软件测试研究现状3 1 3 主要研究内容5 1 4 主要创新点5 1 5 论文的组织结构5 第2 章s q a 的基本理论9 2 1 软件质量的定义9 2 2 软件质量模型9 2 2 1b o e h m 质量模型1 0 2 2 2m c c a l l 质量模型1 1 2 2 3i s o i e c9 1 2 6 软件质量模型1 3 2 2 4 三种模型的对比1 3 2 3 软件质量标准1 4 2 3 1i s o9 0 0 0 系列国际标准1 4 2 3 2g b t1 6 2 6 0 软件工程一产品质量标准1 4 2 4 软件质量评价过程1 5 2 5s q a 的方法1 7 2 6 本章小结1 8 第3 章软件测试概述1 9 3 1 软件测试的基本理论1 9 3 1 1 软件测试的定义1 9 3 1 2 软件测试的原则1 9 3 1 3 软件测试的过程2 0 3 1 4 软件测试的步骤2 1 1 3 2 测试用例设计方法2 2 3 2 1 逻辑覆盖法2 3 3 2 2 等价类划分法2 5 3 2 3 边界值法2 6 3 2 4 因果图法2 6 3 2 5 猜测法2 6 3 3 软件测试相关标准2 7 3 3 1g b t1 7 5 4 4 - 1 9 9 8 信息技术软件包质量要求和测试标准2 7 3 3 2g b w9 3 8 6 2 0 0 8 软件测试文档编制标准2 8 3 4 软件测试标准化相关理论2 8 3 4 1 标准的基本理论2 8 3 4 2 标准化的涵义及意义2 9 3 4 3 测试设计标准化3 0 3 5 本章小结3 0 第4 章基于测试设计标准化的软件质量保证3 1 4 1 引言3 1 4 2 测试设计标准化3 1 4 2 1 测试设计的定义3 l 4 2 2 测试用例设计标准化3 2 4 3 测试设计过程的改进3 3 4 3 1 软件出错的可能性及错误代价分析3 3 4 3 2 剩余缺陷数估计3 5 4 3 3 测试策略设计3 6 4 4 与传统方法的比较及在s q a 中的地位和作用3 7 4 4 1 测试设计标准化与传统方法的比较3 7 4 4 2 测试设计标准化在s q a 中的地位和作用3 7 4 5 本章小结3 8 第5 章案例分析及实验结果3 9 5 1 案例一测试设计标准化模型在进货管理系统中的应用3 9 5 1 1 项目背景及测试环境介绍3 9 5 1 2 测试需求分析与测试用例设计3 9 零 x , 5 1 3 单元测试设计及测试用例评审4 1 5 1 4 改进后的测试策略在进货管理系统中的应用4 l 5 1 5 发现的缺陷数及花费的时间对比4 4 5 2 案例二测试设计标准化在图书馆管理系统中的应用4 4 5 3 案例三测试设计标准化在人事管理系统中的应用4 5 5 4 设计结果及分析4 6 第6 章总结与展望4 9 6 1 论文总结4 9 6 2 未来工作展望5 0 参考文献5 1 致谢5 3 在学期间所发表的文章5 5 籼协毒 _ 蛳 , , 摘要 基于测试设计标准化的软件质量保证研究 计算机软件与理论专业硕士研究生郭金全 指导教师丁晓明副教授 摘要 随着计算机软件的广泛应用,软件质量成为人们关注的焦点,实现软件质量保证已经成为软 件工程领域的重要任务。2 0 世纪6 0 年代末,以c 丸h o a r e 和e w d ij k s t r a 等人为代表的一批计 算机科学家对软件质量问题的严重性,提出了以形式化功能规约描述用户需求,并勾画出能够极 大地提高软件质量、大幅度减少甚至完全取消软件测试的软件开发新方法。但是,以软件测试和 评价为主要标志的软件质量保证技术在软件生产实践中得到了迅速发展,软件测试和评价事实上 已经成为软件生产中必不可少的软件质量保证手段。软件工程的实践证明,软件测试是一项费时 费事的复杂活动,要有效的规划软件测试工作,更好的保证软件质量就必须在测试设计过程中讲 究科学的测试策略和方法来降低成本和提高测试效率。 目前测试设计过程中还存在测试用例设计不规范、制定的测试策略难以保证软件质量等问 题。国内外对于软件质量保证技术的研究已经取得了一系列的成果,并广泛应用于软件工程实践, 如b o e h m 、m c c a l l 、i s o i e c9 1 2 6 等质量度量模型。然而专门针对软件质量保证的软件测试过程 中的测试设计的研究却很少,因此研究如何规范测试设计过程,如:测试用例设计标准,使测试设 计标准化,以节省测试资源和提高软件测试效率和软件错误发现率,从而保证软件质量,具有十分 重要的意义。 本文通过对软件质量保证技术和软件测试理论的学习,在已有研究成果的基础上,主要进行 以下几个方面的探讨和研究: 1 从软件质量保证的角度,对测试设计进行定义,根据这个定义对测试设计阶段的工作任务 进行了描述。 2 将标准化的思想引入到测试设计过程中来保证软件质量。对软件测试重要环节的测试用例 设计进行了标准化方面的探讨,使软件质量得到最有效的保证。 3 为了通过测试设计使得软件测试能够发现更多的b u g ,在测试设计过程中提出一种提高软 件错误发现率的测试策略,实现有限的时间和资源预算下更合理的分配测试资源,从而有效的节 约测试时间、提高测试效率,达到更好的保证软件质量的目的。 最后结合具体的案例进行分析,将改进后的测试设计模型应用到具体的软件项目的质量保证 过程,从中收集数据后将得到的数据结果与传统方法的结果相比较,得出结论该测试设计标准化方 法在软件质量保证中的应用优势。 关键词:软件测试测试设计标准化软件质量保证 a b s t r a c t r e s e a r c ho fs o f t w a r e q u a l i t y a s s u r a n c e b a s e do nt e s td e s i g ns t a n d a r d i z a t i o n m a j o r :c o m p u t e r s o f t w a r ea n dt h e o r ya u t h o r :g u oj i n q u a n s u p e r v i s o r :a s s o c i a t ep r o f e s s o rd i n gx i a o m i n g a b s t r a c t w i n lt h ee x t e n s i v ea p p l i c a t i o no fc o m p u t e rs o f t w a r e s o f l x v a r eq u a l i t yh a sb e c o m et h ef o c u so f a t t e n t i o n , s os o f t w a r eq u a l i t ya s s o l a n c 2h a sb e c m eac r u c i a lt a s ki ns o f t w a r ee n g i n e e r i n gf i e l d t h el a t e 6 0o f t h e2 0 t hc e n t u r y , c a h o a r ea n de w d i j k s t r aa sar e p r e s e n t a t i v eo f ag r o u po f c o m p u t e rs c i e n t i s t s , p u tf o r w a r da f o r m a lf u n c t i o no ft h es t a t u t et os o f t w a r eq u a l i t yp r o b l e m ,d e s c r i b et h eu s e rr e q u i r e m e n t s a n dl a yo u tan e wm e t h o do fs o f t w a r ed e v e l o p m e n tt h a tc a ng r e a t l yi m p r o v es o f t w a r eq u a l i t y , r e d u c eo r e v e na b o l i t i o no fs o f t w a r et e s t i n g h o w e v e r , s o f t w a r et e s t 堍a n de v a l u a t i o nh a v eb e e nt h er a p i d d e v e l o p m e n t , i nf a c ts o f t w a r et e s t i n ga n de v a l u a t i o nh a v eb e c o m ea ne s s e n t i a lp a r to fs o f t w a r eq u a l i t y a s s 蚴c ei ns o f t w a r ep r o d u c t i o n p r o v e nb ys o f t w a r ee n g i n e e r i n gs o f t w a r et e s t i n gi sac o m p l e x , t i m e - c o n s u m i n ga n dt r o u b l e s o m ea c t i v i t i e s ,s ow em u s tp a ya t t e n t i o nt os c i e n t i f i c t e s ts t r a t e g ya n d m e t h o d si nt h et e s td e s i g np r o c e s st or e d u c ec o s t sa n dt oi m p r o v et e s te f f i c i e n c y a tp r e s e n tt e s td e s i g np r o c e s ss t i l lh a sal o to fp r o b l e m f o re x a m p l et e s tc 勰ed e s i g ni sn o ts t a n d a r d , t e s ts t r a t e g yi sd i f f i c u l tt o 即s u r es o f t w a r eq u a l i t y a th o m ea n da b r o a d , t h er e s e a r c ho fs o f t w a r eq u a l i t y a s s u r a n c et e c h n i q u e sh a v em a d eas e r i e so fr e s u l t s ,a n di sw i d e l yu s e di ns o f t w a r ee n g i n e e r i n gp r a c t i c e s , s u c ha sb o e h m , m c c a l l , i s o i e c9 1 2 6a n do t h e rq u a l i t ym e t r i c sm o d e l h o w e v e r , t e s td e s i g nh a sf e w s t u d i e s ,t h e r e f o r e ,r e s e a r c h o ft e s td e s i g np r o c e s ss t a n d a r d i z a t i o n , f o re x a m p l et e s te a s ed e s i g n s t a n d a r d i z a t i o n , i no r d e rt os a v er e s o u r c e sa n di m p r o v et h ee f f i c i e n c yo fs o f t w a r et e s t i n g i so fg r e a t s i g n i f i c a n c e i nt h i sp a p e ro nt h el e a r n i n go fs o f t w a r eq u a l i t ya s s u r a n c ea n ds o f t w a r et e s t i n gt e c h n i c a lt h e o r y , o n t h eb a s i so f t h e 幽i n gr e s e a r c hr e s u l t s ,m a i n l yt od i s c u s sa n ds t u d ya tt h ef o l l o w i n ga s p e c t s : f i r s t ,t h i sp a p e rg a v ead e f i n i t i o no f t e s td e s i g n , t h e na c c o r d i n gt ot h i sd e f i n i t i o n , d e s c r i b e dt h ew o r k t a s k o f t e s td e s i g n s e c o n d , s t a n d a r d i z a t i o ni si n t r o d u c e di n t ot e s td e s i g nt oe 1 1 s u r es o f t w a r eq u a l i t y i no r d e rt oa c h i e v e al i m i t e dt i m ea n dr e s o 嘲t oam o r er e a s o n a b l eb u d g e tf o rt e s t i n g , t h i sp a p e rd i s c u s s e dt e s tc a s ed e s i g n s t a n d a r d i z a t i o nw h i c hi sa ni m p o r t a n tp a r to fs o f t w a r et e s t i n gp r o c e s s ,s ot h a tg e tt h em o s te f f e c t i v e i i i 两南大学硕十学何论文 i i i i s o f t w a r eq u a l i t ya s s u r a n c e t h i c ki no r d e rt om a k et h es o f t w a r et e s t i n gc a nf i n dm o r eb u g si nt e s td e s i g n , t h i sp a p e rg a v ea l l e f f e c t i v et e s ts t r a t e g yt oi m p r o v es o f t w a r ee r r o rd e t e c t i o nr a t e ,s ot oe f f e c t i v e l ys a v et e s t i n gr e s o u r c e s , i m p r o v e t e s te f f i c i e n c ya n da c h i e v eb e t t e rs o f t w a r eq u a l i t ya s s u r a n c ep u r p o s e s f i n a l l y , t h r o u g hs p e c i f i cc a s ei np r a c t i c e ,w ec o m p a r e dt h et e s tr e s u l to f t h ei m p r o v e dm o d e la p p l i e d t ot h ep r o j e c tw i t ht r a d i t i o n a lt e s td e s i g n , a n dc o n c l u d e dt h a tt e s td e s i g ns t a n d a r d i z a t i o nm e t h o d sh a v e m o r ea d v a n t a g e si ns o f t w a r eq u a l i t ya s s o r a n c e i v k e y w o r d s :s o f t w a r et e s t i n g ;t e s td e s i g n ;s t a n d a r d i z a t i o n ; s o f t w a r eq u a l i t ya s s u r a n c e ( s q a ) ; 第1 辛绪论 第1 章绪论 1 1 研究背景及意义 随着计算机技术的飞速发展,计算机已被逐渐普及和使用。与此同时,计算机软 件系统被广泛应用于工业控制、交通、医疗等关系国计民生的重要领域,在这些领域 软件系统的功能一旦发生错误,将会引起生命和财产的重大损失,势必造成社会生产 及经济生活的混乱。事实上,软件质量问题由来已久。软件质量正牵动着经济和社会 的命脉,忽视软件质量必将让我们付出更大的代价,受到更为严厉地惩罚。2 0 世纪 6 0 年代末,以c a h o a r e 和e w d ij k s t r a 等人为代表的一批计算机科学家对软件质 量问题的严重性,提出了以形式化功能规约描述用户需求,并证明程序与功能规约的 致性为特征的形式化方法,勾画出能够极大地提高软件质量、大幅度减少甚至完全 取消软件测试的软件开发新方法。但是,以软件测试和评价为主要标志的软件质量保 证技术在软件生产实践中依然得到了迅速发展,软件测试和评价如今已经成为生产中 必不可少的软件质量保证手段。 对于任何一个应用软件来说,都至少需要有数百万行源代码的规模,这些软件的 开发过程需要经过严格的质量控制才能达到较高的质量要求。为了更好的管理和控 制计算机软件的质量,我们需要对软件质量保证的手段和方法进行探讨。与软件质量 相对应的是软件缺陷,控制软件的质量其实就是控制其缺陷。缺陷越多质量越低,反 之,缺陷越少质量越高。所以消除软件的缺陷是提高软件质量的基本手段,概括的说 目前有两种途径来保证软件的质量,一种是保证软件的开发过程,另一种是评价最终 软件产品的质量。软件的规模和复杂程度迅速提高,测试与开发流程融合的趋势也迅 速走向更深层次,这种融合就是整个软件开发活动对测试的依赖性。现代软件开发的 实践证明,不仅软件的质量控制依赖于测试,开发本身离开测试也将无法推进,项目 管理离开了测试也从根本上失去了依据。软件测试是软件质量检验的重要手段,是软 件开发过程的关键活动,任何软件都需要经过严格的测试才能保证软件系统的质量。 软件测试工作的好坏,直接决定着软件产品质量的好坏。 国际上广泛认可的c m m i ( 能力成熟度集成) 模型和i s o i e c1 5 5 0 4 标准都把质量保 证作为其重要的过程域,以用于过程改进。尽管软件质量越来越受重视,也出现了不 少旨在保证质量、指导软件开发的标准和过程模型,但这些标准、方法在软件质量保 证上只提供了原则性的指导,人们在展开软件开发时普遍感到缺乏得心应手的工具嘲。 近年来,在软件测试技术和方法的研究上,测试过程和测试用例方面成为关注的 焦点。测试过程的质量决定测试工作的成败,而测试用例的质量决定了软件缺陷的发 现效率,且设计测试用例占了5 0 的测试成本。动态测试依赖于在软件的构建版本上 运行一个已经定义的操作集,并且比较运行的实际结果和预期结果,一个测试设计包 西南大学硕十学位论文 括两个组件:测试体系结构和详细测试设计。详细的测试规格说明书是从测试设计 中开发出来的。一旦编写好了一个测试规格说明书,就需要在产品软件的一个构建版 本上运行已定义的测试。现有的方法在编写详细的测试规格说明书时很难在编制时间 和让测试者看懂并正确的运行测试的时间上找到合适的平衡点。因此,传统的测试设 计方法已变得不适用,需要将测试设计标准化来提高测试设计效率。实践证明,软件 测试需要消耗大量的资源,并且测试所需的工作量,通常高达软件开发周期总工作量 的3 0 9 6 4 0 9 6 。如果让测试偶然的进行,既浪费时间也浪费不必要的工作量,甚至更糟 的是,错误仍然存在。因此,必须科学地制定测试策略,合理地安排软件测试工作, 才能提高测试效率,有效地控制资源消耗。 本文通过对测试设计进行定义,明确测试设计阶段的工作任务,并对测试用例设 计进行了标准化方面的探讨,同时针对软件测试过程中的风险,提出一种有效规避风 险的测试策略,从而实现有限的时间和资源预算下更合理的安排测试工作,使软件测 试规范化,达到有效的节约测试资源、提高测试效率,更好的保证软件质量的目的, 这对于今后在保证软件质量方面将有着重要的意义。 1 2 国内外研究现状 1 2 1s q a 研究现状 1 9 6 8 年r u b y e 和h a r t w i k c 针对一些软件属性提出了度量方法,首次提出了从整 体上来度量软件质量的观点,但没有提出度量模型。1 9 7 0 年h a ls t e a d 提出了软件科 学的概念并指出任何一门学科要成为科学需要理论和实践结合,软件度量学正是反映 了这种结合的学科。1 9 7 6 年b o e h m 提出软件属性必须同时进行定性和定量的研究, 软件度量学顺应了这种趋势而得到发展。1 9 8 5 年i s o 依据m c c a l l 的模型提出了软件 质量度量三层模型。国际标准化组织推出的i s o i e c 9 1 2 6 模型则提出了内部质量度量 和外部质量度量的概念,为软件质量评价奠定了基础的同时也为制定软件质量评价标 准提供了依据。2 0 世纪8 0 年代中期由美国国防部资助的卡内基梅隆大学软件工程研 究所最先提出了软件能力成熟度模型( s w _ c 删) ,用来指导软件企业对软件过程进行 管理和改进,增强开发与改进能力并按时地开发出高质量的软件瞄矧。 2 0 世纪9 0 年代软件工程组织试图将诸多的软件质量模型统一到一个模型中,并 把这个模型作为度量软件质量的一个国际标准。国际标准化组织i s o 在1 9 9 1 年颁布 了i s 0 9 1 2 6 - 1 9 9 1 标准软件产品评价一质量特性及其使用指南。美国国防部、联邦 航空管理局、北大西洋公约组织、电气电子工程师协会等组织都提出了自己的标准。 我国也于1 9 9 6 年发布了同样的软件产品质量标准评价标准g b w 1 6 2 6 0 - 1 9 9 6 。参照国 际标准我国陆续制定了一系列软件标准,如信息技术软件包质量要求和测试 ( g b t 1 7 5 4 4 1 9 9 8 ) 等软件质量测试国家标准。国外许多软件公司都采用i s o i e c 第1 章绪论 曼曼皇曼曼蔓i ii i ii,i i 曼曼曼量曼曼曼蔓笪曼曼曼曼曼! 曼曼曼皇曼皇曼曼量曼置 9 1 2 6 标准进行软件质量的评价,并且已经积攒了大量的经验数据用以支持软件质量 的改进h 1 。随着软件质量领域知识的增长,国际各标准化组织在软件质量方面从以下 两个方面进行了研究:( 1 ) 软件开发过程的质量保证,以管理科学化和过程文档化为 内容。( 2 ) 软件过程和产品采用软件度量技术作为软件质量特性量化的主要技术的质 量评估。在软件质量度量方面,美国的b w bo e h m 和r b r o w n 先后提出了三层次的 质量度量模型:软件质量要素、准则、度量嘲。w e y u k e r 公理系统是度量学界比较著 名的评价体系。w e y u k e r 提出了评价软件度量方法9 条准则,也就是度量方法应当具 备和允许具备的属性n 钔。c h i d a m b e r & k e m e r e r 提出面向对象软件设计中的软件质量度 量方法时,引用了w e y u k e r 的软件度量评价原则。w e y u k e r 列出的评价准则能够对提 出的度量方法进行评价,但没有对好的复杂性提供足够的条件。 在国内,软件质量保证一直是学者们研究的热点,不断有专家和学者就软件质量 保证中某一方面作更为深入的研究,如对软件质量度量和评价模型进行改进。浙大的 熊伟教授对质量功能展开的研究颇为深入,并将其与软件质量保证结合,提出一种软 件质量保证模型,即使用技术是数量化理论并融合需求定量分析法和结构设计法对 q f d 原理进行拓展。在软件质量评价领域,我国学者也在进行相关的研究,研究内容 主要集中在以下几个方面口1 :( 1 ) 提出了适用于国内情况的标准:针对国内软件行业 的实际情况,按照已有的软件质量评价框架,建立了一些自己的模型。大部分的模型 考察了软件的功能性,易用性,可靠性,效率,可移植性与可维护性等6 个重要属性, 下层的子标准稍有不同。( 2 ) 对国外的已有研究成果进行总结,以国际标准化组织 ( i s o ) 提出的软件质量评价模型为主:从框架的角度总结现有的模型框架主要组成 部分,每一个层次讨论的内容等。( 3 ) 数学工具在软件质量标准的应用:神经网络评 估技术用来讨论质量指标之间的非线性关系;模糊数学中的构造隶属函数的方法也解 决了质量概念模糊,质量渐变的问题;优序法则为质量标准之间权重评分提供了可能。 这些方法上的应用都为软件质量标准的研究做出了贡献。综观国内外的软件质量保证 技术,它主要包括两类方法嘲:( 1 ) 评审、测试等以排除质量缺陷为目的的技术方法。 ( 2 ) 标准化过程管理控制质量缺陷为目的的管理方法。 1 2 2 软件测试研究现状 软件开发的目的是开发出实现用户需求的高质量、高性能的软件产品,软件测试 以检查软件产品的内容和功能特性为核心,是成功实现软件开发目标的重要保障。 软件测试是软件工程产品的一个重要阶段同时也是软件质量保证活动中的关键步骤, 是在软件交付使用前,对软件需求分析、设计和编码以及各阶段产品的进行最后检查, 是为了检测软件错误,并修正软件错误,从而保证软件产品的正确性、一致性和完全 性的过程。 两南大学硕十学能论文 概括的说,目前软件测试的现状主要呈以下几个特点雎矧1 : ( 1 ) 开发与测试同时进行。软件测试过程的其他阶段与整个软件开发过程同时 并行地进行不再是串行的工作方式。提前对软件产品缺陷进行了规避,有效降低产品 的质量风险和软件产品的维修和维护费用的同时也缩短了对缺陷的反馈周期和整个 软件项目的开发周期,对软件产品的整个生命周期具有重大的意义。如:9 0 年代 s y s t e m i ce v o l u t i f 公司提出的w 模型很好解决了错误发现的越早,发现和解决错 误的代价、风险越小。r o h i i lf g o l ds m i t h 等人提出的将测试和开发紧密结合的前置 测试模型,包括定义验收标准、开发基于需求的测试用例两项测试计划技术。 ( 2 ) 软件测试技术和新技术相适应。软件开发技术从最初的面向过程到面向对 象及现在的组件式开发,开发方式也从传统的瀑布模式到现在的x p 模型、r u p 模式, 网络的应用把单纯的单机应用扩展到分布式计算。开发技术的不断创新,促使新的测 试技术与之相适应。如:g r u h n 和b e y d e d a 借助已有的结构测试技术生成测试用例利 用组件软件流图来测试组件软件,同时根据软件需求和源代码信息生成流图。 ( 3 ) 开始进行易测试性设计。借鉴硬件易测试性设计的思想在软件的设计和编 码中考虑测试问题,开发具有自测试能力且能够向外界提供相应测试信息的软件来帮 助软件开发者在软件中嵌入测试信息。在不增加或者少增加软件复杂性的前提下进行 软件易测试性设计将易于测试的原则融合到设计和编码之中。该方法有d b c ( d e s i g n b yc o n t r a c t ) 、内建式自测试和内建式测试等几种方法。 ( 4 ) 自动化测试工具的利用更频繁、更充分。在软件开发的各个阶段同时进行 软件测试并且反复进行测试,如:软件版本更新后一些模块可能又要重新测试;单元 测试、集成测试和确认测试之间的测试用例的复用问题;在性能测试中,创建多用户 并发执行问题和场景设置问题。正因为软件测试中需要大量的机械地、重复地、非智 力地工作,所以自动化测试不可避免的成为一种趋势。目前比较流行的软件自动化测 试工具软件有:a t t o l t e s t w a r e 公司的a t t o l t e s t w a r e 和m e t r o w e r k s 公司的c o d e t e s t 等嵌入式测试工具;m e r c u r yi n t e r a c t i v e 的w i n r u n n e r ,q t p 和l o a d r u n n e r ,i b m r a t i o n a l 的r o b o t ,c o m p u w a r ec o m p a n y 的q a r u n 等w e b 测试工具;l o g i cw o r k s 公 司的t e s t b y t e s 等数据库测试工具;s p i r e n t 公司的s m a r t b i t 等网络路由测试工具; i b mr a t i o n a l 的p u r i f y ,华唐公司的i n s u r e + + 等内存泄漏测试工具;s p i r e n t 公司 的a b a c u s 系列等协议测试工具。 综上所述,虽然学者们对用于软件质量控制的软件质量度量和评价模型及软件测 试理论方面展开了大量的研究,但专门针对软件测试过程中的测试设计的研究却很 少,对于软件测试设计标准化更有待于进一步研究和探讨。通过在软件质量保证和软 件测试理论的基础上,构造针对软件质量保证的软件测试设计标准化过程是本文的研 究重点。 4 第1 章绪论 1 3 主要研究内容 本文分析了软件质量保证和软件测试的国内外研究与应用的现状,在研究软件质 量保证和软件测试相关理论的基础上,对软件质量保证方法和软件测试设计过程进行 分析,找出目前软件测试设计过程中,存在哪些不规范,不符合软件质量保证标准的 情况。从软件质量保证的角度,对测试设计进行定义,根据这个定义对测试设计阶段 的工作任务进行了描述。对软件测试重要环节的测试用例设计进行了标准化方面的探 讨。并根据测试设计阶段的工作任务要求及测试过程中存在的风险,对原有的软件测 试设计过程进行改进,提出一个可有效规避测试风险的测试策略,从而提高测试效率 和错误发现率,达到软件质量保证的目的。该方法最大的特点是将标准化的思想引入 到软件测试设计过程中,并且根据被测模块风险值的大小调配测试资源。最后结合具 体的案例进行分析及实验,将得到的实验结果与传统的结果相比较,得出结论该方法 在软件质量保证中的应用优势。 1 4 主要创新点 ( 1 ) 将标准化的思想引入到测试设计过程中来保证软件质量。对软件测试重要环 节的测试用例设计进行了标准化方面的探讨,使软件质量得到最有效的保证。 ( 2 ) 鉴于软件测试过程中存在的风险,在测试设计过程中对测试风险进行定量评 估并提出一种有效规避风险的测试策略,实现有限的时间和资源预算下更合理的分配 测试资源,从而有效的节约测试资源、提高测试效率,达到更好的保证软件质量的目 的。 1 5 论文的组织结构 第l 章介绍研究背景及国内外研究现状。 第2 章介绍软件质量的定义、质量度量模型、i s o9 0 0 0 系列国际标准和g b t 1 6 2 6 0 软件工程产品质量国内软件质量标准、通用质量评价过程模型及s q a 的方法。 第3 章介绍软件测试的定义、测试原则和测试过程、测试用例设计技术、g b t 1 7 5 4 4 1 9 9 8 信息技术软件包质量要求和测试标准和g b t9 3 8 6 软件测试文档编制规 范两个常用的软件测试标准及测试设计标准化相关理论。 第4 章提出一种基于测试设计标准化的软件质量保证方法,并将其与传统方法 进行比较。对测试设计进行了定义,并根据该定义提出测试设计阶段应完成的主要工 作任务。接着在测试设计过程中引入标准化的思想,对测试用例设计标准化进行了研 究。然后就测试过程中存在的风险进行定量评估,并提出了一种改进后的测试设计模 型,该模型首先对被测模块进行风险分析,之后估计剩余缺陷数,最后根据测试策略 进行测试资源的分配。 两南大学硕十学何论文 第5 章结合中小企业进货管理系统对所提出的基于测试设计标准化的软件质量 保证方法进行案例分析与实验,并对实验结果进行讨论与分析。 第6 章对本文的工作进行总结与展望。 最后是论文的参考文献、致谢及在学期间所发表的文章。论文结构见图1 - 1 所示。 , 第2 罩s q a 的翠本理论 第2 章s q a 的基本理论 i e e e 对软件质量保证的定义是“提供足够的证据表明软件能够满足规定的技术 要求所必不可少的全部有计划、有系统的活动”。软件质量保证一一s q a ( s o f t w a r e q u a l i t ya s s u r a n c e ) 贯穿于软件开发和测试的整个过程中。本章将对s q a 的一些基本 理论进行讨论。 2 1 软件质量的定义 目前,在软件质量定义方面有很多种定义。最主要的有以下几种: 两南大学硕十学位论文 高质量的软件。下面就常见的b o e h m 模型、m c c a l l 模型、i s o i e c9 1 2 6 模型这三种 质量度量模型进行详细介绍。 2 2 1b o e h m 质量模型 b o e h m 模型是b w b o e m h 等人在1 9 7 6 年提出来的软件质量度量模型。该模型从 软件的可使用性、软件的可维护性和软件的可移植性三个方面来考虑软件产品的质 量。可移植性被单独划分为一个属性;可使用性分为可靠性、效率和人工工程三个方 面,反映用户的满意程度;可维护性可以从可测试性、可理解性、可修改性三个方面 进行度量,主要反映软件本身的满意程度。b o e h m 模型见图2 1 所示n 。 1 0 图2 - 18 0 a h f n 质量模型 第2 章s o a 的摹本理论 2 2 2m c c a l l 质量模型 m c c a l l 模型是m c c a l l 等人在1 9 7 9 年提出来的,该模型是面向软件产品的运行、 修订和变迁的具有1 1 个质量特征的软件质量因素模型。该模型质量要素详见表2 - 1 所示。 表2 - 1m c c a l l 软件质量要素 操作特性承受可改变能力新环境适应能力 正确性 可维护性可移植性 可靠性灵活性可复用性 可用性可测试性可操作性 完整性 功效 等人又给出了一个三层次模型的质量度量框架。m c c a l l 等人认为,各种 蠡量的反映,软件属性可用做评价的准则,定量化地度量软件属性可知软 垮。m c c a l l 质量度量模型框架见图9 - 2 所示。 质量要素 两南大学硕十学位论文 是否一致的难易程序。 3 通信通用性:使用标准协议、接口和频带的程序。 4 完全性:所需功能完全实现的程度,主要用在软件开发项目中一致的设计和 文档技术的使用。 5 一致性:在软件开发项目中的设计和文档技术的使用一致。 6 通用性:程序部件潜在的应用范围的广泛性。 7 容错性:在各种异常条件下系统提供继续操作的能力。 8 数据通用性:在程序中使用标准的数据结构和类型。 9 简明性:即程序源代码的紧凑性。 1 0 执行效率:即程序运行效率。 1 1 可扩充性:能够对结构设计、过程设计和数据设计进行扩充的程度。 1 2 硬件独立性:软件支持其它运行的硬件系统不相关的程度。 1 3 检测性:监视程序的运行,在发生错误时,标识错误的程度。 1 4 简单性:即理解程序的难易程度。 1 5 模块化:程序部件的功能独立性。 1 6 可操作性:即操作一个软件的难易程度。 1 7 安全性:控制或保护程序和数据不受破坏的机制,以防止程序和数据受到意 第2 章s o a 的基本理论 q = 1 ( 公r 2 - 2 ) k = l 其中,c 。0 ,当质量要素f 与k 项评价准则无关时,c k - 0 ,l 表示评价评价准 则的项数,对m c c a l l 的评价准则,l :2 1 。 2 2 3i s o i e c9 1 2 6 软件质量模型 两南大学硕十学位论文 和子特性有所侧重,同时要考虑到由于因素之间存在着逆相关,在实际开发过程中, 应该根据不同类型软件的不同需求做出不同的选择。 2 3 软件质量标准 2 3 1 i s o9 0 0 0 系列国际标准 目前,国际公认的并被世界各国和地区广泛采用的软件质量管理和质量保证标准 是国际标准化组织i s o ( 全称为i n t e r n a t i o n a lo r g a n i z a t i o nf o rs t a n d a r d i z a t i o n ) 制定的 i s o9 0 0 0 系列标准。该系列标准主要包括:i s o8 4 0 2 质量术语,i s o9 0 0 0 质 量管理和质量保证标准选择和使用指南,i s o9 0 0 1 质量体系一设计开发、生产、 第2 章s q a 的荩本理论 质量在项目论证时或在签订合同时,就能提出一些质量要求,并且尽量做到合理。作 为供方( 开发者) 在项目论证或需求分析时,既要分析质量要求的合理性,又要分析 如何满足需方或用户的质量要求,同时要考虑满足需方或用户潜在的隐含的质量要 求。一旦质量需求确定后,就应对这些质量需求分析配置:即明确哪些过程、哪些活 动、哪些阶段要控制、把握哪些质量需求。特别是要关注过程本身的质量。适时开展 内部度量或外部度量。以使软件产品最终满足用户或需方的质量要求。作为用户或需 方既要关注使用质量,也要关注外部质量及内部质量。因为这些质量要求既有连带关 系,又有制约关系。针对一个软件产品或软件项目,不可能所有的质量特性要求都提 得很高。在我国,软件的需方、供方、开发者和最终用户,为了一个共同的目标,就 是提高我国现代化水平,要互相理解、互相沟通,及时反馈相关信息,不断完善和提 高软件的质量,提高我国软件工程化水平。 2 4 软件质量评价过程 度量是软件质量评价的基础,必须确保软件度量的科学性和客观性。科学性是指 任一度量都必须有构造依据而不是随意构造的,且能经受某种客观标准的检验;客观 性则是指一个度量必须能够真实地反映软件实体的某一属性,并且对刻画要尽可能全 面的。因此,必须研究度量的科学评价准则。 确立评价需求阶段:确立软件质量评价的目的是为了直接支持开发和获得能满足 用户和消费者要求的软件,最终目标是保证产品能提供所要求的质量,即满足用户明 确和隐含的要求。明确软件质量评价产品类型包括对中间软件产品质量的评价和最终 产品质量的评价。评价中间产品质量的目的主要有以下几个方面: 决定是否接受交付的中间产品; 决定某个过程的完成,以及何时把产品送交下一个过程; 收集中间产品的信息以便控制和管理过程; 估计最终产品的质量。 评价最终产品质量的目的是: 使用产品
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农产品加工机械远程维护创新创业项目商业计划书
- 肉类腌制与熏制设备行业跨境出海项目商业计划书
- 电信科技服务创新创业项目商业计划书
- 美甲DIY工具与材料包行业跨境出海项目商业计划书
- DB41T 2965-2025高速公路交通气象观测站布设规范
- 安全培训平台发展思路
- 安全培训帽贴课件
- 安全培训常规要求课件
- 2025年管理学考试试题及答案
- 2025年风险管理专业职称考试试题及答案
- 网络安全产品汇总介绍
- 高中日语学习宣讲+课件
- 公路交通安全设施工高级工培训内容
- 2023年中国通用技术(集团)控股有限责任公司招聘笔试题库含答案解析
- GB/T 5668-2017旋耕机
- GB/T 3141-1994工业液体润滑剂ISO粘度分类
- 动物资源保护与利用
- 癌症病人三阶梯止痛治疗原则标准课件
- 颅脑损伤患者护理查房课件
- 角膜炎(欢迎观看)课件
- 少先队大队委候选人推荐表
评论
0/150
提交评论