1、项目的质量管理1软件质量的度量软件质量的度量2软件的确认软件的确认3软件的验证软件的验证4软件质量保证过程软件质量保证过程5 5 软件质量保证体系软件质量保证体系6测试方法与工具介绍测试方法与工具介绍目录5/31/20245/31/20242 2软件系统功能齐全是不是就是质量好?软件系统功能齐全是不是就是质量好?用户界面友好是不是就是软件的质量好?用户界面友好是不是就是软件的质量好?没有没有BUGBUG是不是就是软件的质量好?是不是就是软件的质量好?什么是用户满意的软件项目?什么是用户满意的软件项目?软件测试是不是软件质量的全部?软件测试是不是软件质量的全部?则,什么是软件的质量?则,什么是软
2、件的质量?什么是软件项目的质量?5/31/20245/31/20243 3软件项目管理中的质量管理与软件工程的测试管软件项目管理中的质量管理与软件工程的测试管理,有什么不同?理,有什么不同?项目经理与项目项目经理与项目QAQA经理有什么不同?经理有什么不同?什么是软件项目的质量管理?什么是软件项目的质量管理?项目经理在保证项目的质量方面,要做什么工作项目经理在保证项目的质量方面,要做什么工作?我们就来回答这些问题!我们就来回答这些问题!什么是软件项目的质量管理?5/31/20245/31/20244 4主要参考资料:主要参考资料:软件工程导论软件工程导论张海潘(清华大学出版社)张海潘(清华大学
3、出版社)软件工程概论软件工程概论郑人杰等(清华大学出版社)郑人杰等(清华大学出版社)软件工程应用实践教程软件工程应用实践教程吴洁明、袁山龙(清华大学出版社)吴洁明、袁山龙(清华大学出版社)实用软件工程实用软件工程赵池龙(电子工业出版社)赵池龙(电子工业出版社)软件工程软件工程江开耀等(西安电子科技大学出版社)江开耀等(西安电子科技大学出版社)软件工程基础教程软件工程基础教程方志刚(科学出版社)方志刚(科学出版社)现代软件工程现代软件工程孙涌(北京希望电子出版社)孙涌(北京希望电子出版社)软件工程技术概论软件工程技术概论朱三元等(科学出版社)朱三元等(科学出版社)软件工程教程软件工程教程张毅等(
4、北航出版社)张毅等(北航出版社)软件工程软件工程-实践者的研究方法实践者的研究方法(美)(美)著梅宏译(机械工业出版社)著梅宏译(机械工业出版社)软件工程与软件测试与自动化教程软件工程与软件测试与自动化教程张克东、庄燕滨(电子工业出版社)张克东、庄燕滨(电子工业出版社)关于软件工程5/31/20245/31/20245 5传统的软件工程主要包括:传统的软件工程主要包括:软件危机与软件工程概念软件危机与软件工程概念软件危机与软件工程概念软件危机与软件工程概念可行性研究可行性研究可行性研究可行性研究需求分析需求分析需求分析需求分析系统设计系统设计系统设计系统设计详细设计详细设计详细设计详细设计编码
5、编码编码编码测试测试测试测试维护维护维护维护新软件工程:新软件工程:传统软件工程传统软件工程+面向对象的软件分析、设计、实面向对象的软件分析、设计、实现和测试。现和测试。关于软件工程5/31/20245/31/20246 6另:软件工程另:软件工程+软件管理软件管理现代现代软件工程软件工程还包括:还包括:统一建模语言统一建模语言UMLUML软件过程工程(软件过程与过程改进软件过程工程(软件过程与过程改进CMMCMM)软件的产品化技术(软件评审、软件的产品化技术(软件评审、V V模型开发、配置管理)模型开发、配置管理)软件项目管理(软件度量、成本、进度、组织与计划、配置、风软件项目管理(软件度量
6、、成本、进度、组织与计划、配置、风险、质量保证)险、质量保证)软件工程的新内容软件工程的新内容基于净室方法的软件测试技术基于净室方法的软件测试技术软件复用与构件技术软件复用与构件技术基于基于C/SC/S、B/SB/S的系统开发技术的系统开发技术再工程(业务再过程、软件再工程、逆向工程、重构技术等)再工程(业务再过程、软件再工程、逆向工程、重构技术等)关于软件工程5/31/20245/31/20247 7与传统软件工程比较,现代软件工程的特点是:与传统软件工程比较,现代软件工程的特点是:从开发过程(需求、设计、编码、测试、维护)到产品过程、项从开发过程(需求、设计、编码、测试、维护)到产品过程、
7、项目过程、再过程;目过程、再过程;从传统意义的软件开发及管理,到软件合同、运作、管理,包括;从传统意义的软件开发及管理,到软件合同、运作、管理,包括;基本过程、支持过程和组织过程三个方面,采购、开发、维护、基本过程、支持过程和组织过程三个方面,采购、开发、维护、运作、获取、管理、支持运作、获取、管理、支持7 7大活动的软件过程工程。大活动的软件过程工程。质量保证是产品、项目和软件过程的核心内容。质量保证是产品、项目和软件过程的核心内容。质量保证已经完全不仅仅是简单测试的概念。质量保证已经完全不仅仅是简单测试的概念。关于软件工程5/31/20245/31/20248 81 1软件质量的度量软件质
8、量的度量软件质量的度量软件质量的度量1.11.1软件的质量要素软件的质量要素软件的质量要素软件的质量要素1.21.2软件质量评价的准则软件质量评价的准则软件质量评价的准则软件质量评价的准则1.31.3软件质量的度量软件质量的度量软件质量的度量软件质量的度量1.41.4软件质量度量的实施软件质量度量的实施软件质量度量的实施软件质量度量的实施5/31/20245/31/20249 91软件的质量要素ISO9000的质量定义:质量的定义:反映实体满足明确和隐含需要能力的特性综合定义的说明:明确需要:指合同中用户明确提出的要求与需要明确需要:指合同中用户明确提出的要求与需要 隐含需要:指由生产企业通过
9、市场调研进行识别与隐含需要:指由生产企业通过市场调研进行识别与探明的要求或需要探明的要求或需要5/31/20245/31/20241010质量与等级的关系等级的含义是:对功能用途相同、但技术特性不同的存在等级的含义是:对功能用途相同、但技术特性不同的存在事务的一种分类或排序事务的一种分类或排序例如:高质量例如:高质量无错误、可读性强的用户手册无错误、可读性强的用户手册低等级低等级有限的功能有限的功能低质量低质量错误百出、编排混乱的用户手册错误百出、编排混乱的用户手册高等级高等级大量功能大量功能确定质量和等级标准水平,是项目经理的责任确定质量和等级标准水平,是项目经理的责任5/31/20245/
10、31/20241111传统的软件工程教材中(张海潘):在全书的最后一章管理技术中,有一节介绍“质量保证(P290)”。定义了软件质量的因素(13项),包括:正确性、健壮性、效率、完整(安全)性、可用性、风险、正确性、健壮性、效率、完整(安全)性、可用性、风险、可理解性、可维修性、灵活(适应)性、可测试性、可移可理解性、可维修性、灵活(适应)性、可测试性、可移植性、可再用性、互运行性。植性、可再用性、互运行性。概括为三个方面:产品修改、产品转移、产品运行。概括为三个方面:产品修改、产品转移、产品运行。软件项目质量的要素5/31/20245/31/20241212质量的要素质量的要素 讨论软件的质
11、量定义,一般地从讨论软件的质量定义,一般地从4 4个角度来看,即用户的角度、个角度来看,即用户的角度、开发商的角度、产品的角度和价值的角度。开发商的角度、产品的角度和价值的角度。美国的美国的B.W.B.W.oehmoehm和和R.BrownR.Brown先后提出了三层次的评价度量模先后提出了三层次的评价度量模型:软件质量要素、准则、度量。随后型:软件质量要素、准则、度量。随后G.MruineG.Mruine提出了自己的提出了自己的软件质量度量软件质量度量SQMSQM技术,波音公司在软件开发过程中采用了技术,波音公司在软件开发过程中采用了SQMSQM技术,日本的技术,日本的NECNEC公司也提出
12、了自己的公司也提出了自己的SQMSQM工具,即工具,即SQMATSQMAT,并且在成本控制和进度安排方面取得了良好的效果。,并且在成本控制和进度安排方面取得了良好的效果。IEEEIEEE标标准准1061-19981061-1998以以表表格格的的形形式式,定定义义了了有有关关确确认认和和收收集集与与软件质量需求有关一个模型,或称为一个框架。软件质量需求有关一个模型,或称为一个框架。5/31/20245/31/20241313IEEE定义的软件质量度量框架5/31/20245/31/20241414度量框架一种用来组织、选择、沟通、评价软件系统要求的质量属性的辅助决策法。它逐层分解为特性、子特性
13、和度量质量特性一个与质量有关的面向管理的软件属性质量子特性质量特性分解出来的技术组件直接度量一种不依赖与任何其他属性测量的度量预计度量一种试用于开发阶段的度量,它用来预计软件质量特性的值软件质量度量一个函数、它的输入是软件数据,输出是一个单一数值。它可解释为给定的软件属性对其质量的影响程度过程质量一种用来测量在软件系统开发、实现和维护过程中使用的方法、技术和工具特性的度量产品度量一种用来测量软件开发过程中任何中间或最终产品特性的度量IEEE定义的软件质量度量框架5/31/20245/31/202415151.2软件质量评价准则软件质量评价准则McCallMcCallMcCallMcCall选择
14、的软件质量要素评价准则共选择的软件质量要素评价准则共选择的软件质量要素评价准则共选择的软件质量要素评价准则共21212121种,它们是:种,它们是:种,它们是:种,它们是:(1 1 1 1)可可可可审审审审查查查查性性性性(auditability)(auditability)(auditability)(auditability)。检检检检查查查查软软软软件件件件需需需需求求求求、规规规规格格格格说说说说明明明明、标标标标准准准准、过过过过程程程程、指指指指令令令令、代码与合同是否一致的难易程度。代码与合同是否一致的难易程度。代码与合同是否一致的难易程度。代码与合同是否一致的难易程度。(2
15、2 2 2)准准准准确确确确性性性性(accuracy)(accuracy)(accuracy)(accuracy)。计计计计算算算算和和和和控控控控制制制制的的的的精精精精度度度度,是是是是对对对对无无无无误误误误差差差差程程程程序序序序的的的的一一一一种种种种定定定定量量量量估估估估计计计计。最好表示成相对误差的函数。值越大表示精度越高。最好表示成相对误差的函数。值越大表示精度越高。最好表示成相对误差的函数。值越大表示精度越高。最好表示成相对误差的函数。值越大表示精度越高。(3 3 3 3)通通通通信信信信通通通通用用用用性性性性(communication(communication(c
16、ommunication(communication commonality)commonality)commonality)commonality)。使使使使用用用用标标标标准准准准接接接接口口口口、协协协协议议议议、规规规规范范范范的的的的程序。程序。程序。程序。(4 4 4 4)完全性)完全性)完全性)完全性(completeness)(completeness)(completeness)(completeness)。所需功能完全所需功能完全所需功能完全所需功能完全实现实现实现实现的程度。的程度。的程度。的程度。(5 5 5 5)简明性)简明性)简明性)简明性(conciseness)
17、(conciseness)(conciseness)(conciseness)。程序源代码的紧凑与简洁性。程序源代码的紧凑与简洁性。程序源代码的紧凑与简洁性。程序源代码的紧凑与简洁性。(6 6 6 6)一致性)一致性)一致性)一致性(consistency)(consistency)(consistency)(consistency)。设计文档与系统实现的一致性。设计文档与系统实现的一致性。设计文档与系统实现的一致性。设计文档与系统实现的一致性。(7 7 7 7)数据通用性)数据通用性)数据通用性)数据通用性(data(data(data(datacommonality)commonality
18、)commonality)commonality)。在程序中使用标准的数据结构和类型。在程序中使用标准的数据结构和类型。在程序中使用标准的数据结构和类型。在程序中使用标准的数据结构和类型。(8 8 8 8)容错性)容错性)容错性)容错性(error-tolerance)(error-tolerance)(error-tolerance)(error-tolerance)。系统在各种异常条件下提供继续操作的能力。系统在各种异常条件下提供继续操作的能力。系统在各种异常条件下提供继续操作的能力。系统在各种异常条件下提供继续操作的能力。(9 9 9 9)执行效率)执行效率)执行效率)执行效率(exec
19、ution Efficiency)(execution Efficiency)(execution Efficiency)(execution Efficiency)。程序运行效率。程序运行效率。程序运行效率。程序运行效率。(10101010)可可可可扩扩扩扩充充充充性性性性(expandability)(expandability)(expandability)(expandability)。能能能能够够够够对对对对结结结结构构构构设设设设计计计计、数数数数据据据据设设设设计计计计和和和和过过过过程程程程设设设设计计计计进进进进行行行行扩扩扩扩充的程度。充的程度。充的程度。充的程度。5/31
20、/20245/31/202416161.2软件质量评价准则软件质量评价准则(11111111)通用性)通用性)通用性)通用性(generality)(generality)(generality)(generality)。程序部件潜在的应用范围的广泛性,即部件可重用。程序部件潜在的应用范围的广泛性,即部件可重用。程序部件潜在的应用范围的广泛性,即部件可重用。程序部件潜在的应用范围的广泛性,即部件可重用。(12121212)硬硬硬硬件件件件独独独独立立立立性性性性(hardware(hardware(hardware(hardware independence)independence)inde
21、pendence)independence)。软软软软件件件件同同同同支支支支持持持持他他他他运运运运行行行行的的的的硬硬硬硬件件件件系系系系统统统统不不不不相相相相关的程度。关的程度。关的程度。关的程度。(13131313)检检检检测测测测性性性性(instrumentation)(instrumentation)(instrumentation)(instrumentation)。监监监监视视视视程程程程序序序序的的的的运运运运行行行行,一一一一旦旦旦旦发发发发生生生生错错错错误误误误时时时时,能能能能明明明明确确确确地地地地标识错误的程度。标识错误的程度。标识错误的程度。标识错误的程度。
22、(14141414)模块化)模块化)模块化)模块化(modularity)(modularity)(modularity)(modularity)。程序部件的功能独立性。程序部件的功能独立性。程序部件的功能独立性。程序部件的功能独立性。(15151515)可操作性)可操作性)可操作性)可操作性(operability)(operability)(operability)(operability)。操作一个软件的难易程度。操作一个软件的难易程度。操作一个软件的难易程度。操作一个软件的难易程度。(16161616)安安安安全全全全性性性性(security)(security)(security)
23、(security)。控控控控制制制制或或或或保保保保护护护护程程程程序序序序和和和和数数数数据据据据不不不不受受受受破破破破坏坏坏坏的的的的机机机机制制制制,以以以以防防防防止止止止程程程程序序序序和和和和数据受到意外的或蓄意的存取、使用、修改、毁坏或泄密。数据受到意外的或蓄意的存取、使用、修改、毁坏或泄密。数据受到意外的或蓄意的存取、使用、修改、毁坏或泄密。数据受到意外的或蓄意的存取、使用、修改、毁坏或泄密。(17171717)自文档化)自文档化)自文档化)自文档化(sdlf-documentation)(sdlf-documentation)(sdlf-documentation)(sd
24、lf-documentation)。源代码提供有意义文档的程度。源代码提供有意义文档的程度。源代码提供有意义文档的程度。源代码提供有意义文档的程度。(18181818)简单性)简单性)简单性)简单性(simplicity)(simplicity)(simplicity)(simplicity)。理解程序的难易程度。理解程序的难易程度。理解程序的难易程度。理解程序的难易程度。(19191919)软软软软件件件件系系系系统统统统独独独独立立立立性性性性(software(software(software(software system system system system independe
25、nce)independence)independence)independence)。程程程程序序序序与与与与非非非非标标标标准准准准的的的的程程程程序序序序设设设设计语言特征、操作系统特征以及其他环境约束无关的程度。计语言特征、操作系统特征以及其他环境约束无关的程度。计语言特征、操作系统特征以及其他环境约束无关的程度。计语言特征、操作系统特征以及其他环境约束无关的程度。(20202020)可追踪性)可追踪性)可追踪性)可追踪性(reacebility)(reacebility)(reacebility)(reacebility)。从设计表示或实际程序构件,追踪到需求的能力。从设计表示或实际
26、程序构件,追踪到需求的能力。从设计表示或实际程序构件,追踪到需求的能力。从设计表示或实际程序构件,追踪到需求的能力。(21212121)易培训性)易培训性)易培训性)易培训性(training)(training)(training)(training)。软件支持新用户使用该系统的能力。软件支持新用户使用该系统的能力。软件支持新用户使用该系统的能力。软件支持新用户使用该系统的能力。5/31/20245/31/202417171985年,国际标准化组织(ISO)建议,软件质量度量模型由三层组成。高层称软件质量需求评价准则(SQRC),中层称软件质 量 设 计 评 价 准 则(SQDC),低层称软
27、件质量度量评价准则(SQMC)。分别对应McCall等人的要素、评价准则和度量。ISO认为应对高层和中层建立国际标准,以便在国际范围内推广应用软件质量管理,而低层可由各使用单位自行制定。ISO高层由8个要素组成、中层由23个评价准则组成。高层的8个要素为左表的行,中层的23个准则为下表的列。它们之间的关系如左表所示。5/31/20245/31/202418181.3软件质量的度量四层模型四层模型 质量需求质量需求质量需求质量需求 在四层模型的第一层,软件产品质量层,是产品必须满足的质量需求。在四层模型的第一层,软件产品质量层,是产品必须满足的质量需求。它是用用户术语描述的,主要有四点:它是用用
28、户术语描述的,主要有四点:(1 1)产品将在用户所在组织当前使用的平台和操作系统上运行。)产品将在用户所在组织当前使用的平台和操作系统上运行。(2 2 2 2)产品将是可靠的并能防止数据丢失的机制。产品将是可靠的并能防止数据丢失的机制。(3 3 3 3)产品将提供完成某些任务所必需的功能。产品将提供完成某些任务所必需的功能。(4 4 4 4)产品将易于使用。产品将易于使用。5/31/20245/31/20241919四层模型 质量特性质量特性质量特性质量特性 在模型的第二层,表示与整个质量需求有关的特殊质量特性,它代表在模型的第二层,表示与整个质量需求有关的特殊质量特性,它代表了用户的质量需求
29、。它采用从用户角度考虑的立场,把软件质量分解了用户的质量需求。它采用从用户角度考虑的立场,把软件质量分解成四类质量特性,这四个质量特性是软件的基本特征。成四类质量特性,这四个质量特性是软件的基本特征。质量特性质量特性质量特性质量特性 IEEEIEEE的四个质量特性是:的四个质量特性是:可移植性、可靠性、功能性、可使用性。可移植性、可靠性、功能性、可使用性。5/31/20245/31/20242020四层模型 (1 1)功功能能性性:软软件件所所实实现现的的功功能能满满足足用用户户需需求求的的程程度度功功能能性性反反映映了了所所开开发发的的软软件件满满足足用用户户指指明明的的或或隐隐含含的的需需
30、求求的程度,即用户要求的功能是否全部实现了。的程度,即用户要求的功能是否全部实现了。(2 2)可可靠靠性性:在在规规定定的的时时间间和和条条件件下下,软软件件所所能能维维持持其其性性能能水水平平的的程程度度。可可靠靠性性对对某某些些软软件件是是重重要要的的质质量量要要求求,它它除除了了反反映映软软件件满满足足用用户户需需求求正正常常运运行行的的程程度度,且且反反映映了了在故障发生时能继续运行的程度。在故障发生时能继续运行的程度。(3 3)易易使使用用性性:对对于于一一个个软软件件,用用户户学学习习、操操作作、准准备备输输入入和和理理解解输输出出时时,所所做做努努力力的的程程度度。易易使使用用性
31、性反反映映了了与与用户的友善性,即用户在使用本软件时是否方便。用户的友善性,即用户在使用本软件时是否方便。5/31/20245/31/20242121四层模型 (4 4)系系统统效效率率:在在指指定定的的条条件件下下,用用软软件件实实现现某某种种功功能能所所需需的的计计算算机机资资源源(包包括括时时间间)的的有有效效程程度度。效效率率反反映映了了在在完完成成功功能能要要求求时时,有有没没有有浪浪费费资资源源,此此外外“资资源源”这这个个术术语语有有比比较较广广泛泛的的含含义义,它它包包括了内存、外存的使用,通道能力及处理时间的占用等等。括了内存、外存的使用,通道能力及处理时间的占用等等。(5
32、5)可可维维护护性性:在在一一个个可可运运行行软软件件中中,为为了了满满足足用用户户需需求求、环环境境改改变变或或软软件件错错误误发发生生时时,进进行行相相应应修修改改所所做做的的努努力力程程度度。可可维维护护性性反反映映了了在在用用户户需需求求改改变变或或软软件件环环境境发发生生变变更更时时,对对软软件件系系统统进进行行相相应应修修改改的的容容易易程程度度。一一个个易易于于维维护护的的软软件件系系统统也也是是一一个个易易理理解解、易易测测试试和和易易修修改改的的软软件件,以以便便纠纠正正或或增增加加新新的的功功能能,或或允允许许在在不不同同软软件环境之间的易于操作。件环境之间的易于操作。(6
33、 6)可可移移植植性性:从从一一个个计计算算机机系系统统或或环环境境转转移移到到另另一一个个计计算算机机系系统或环境的容易程度。统或环境的容易程度。5/31/20245/31/20242222四层模型质量需求质量需求质量特质量特性性质量子特性质量子特性直接度量直接度量度量描述(例子)度量描述(例子)产产品品将将在在多多平平台台和和当当前前用用户户正正在在使使用用的的操操作作系系统上运行统上运行可可 移移 植植性性硬件独立性硬件独立性硬件依赖性硬件依赖性计算硬件的依赖性计算硬件的依赖性软件独立性软件独立性软件依赖性软件依赖性计算软件的依赖性计算软件的依赖性易安装性易安装性安装时间安装时间测量安装
34、时间测量安装时间可重用性可重用性能能够够用用于于其其他他应应用用软软件件中中计计算算能能够够或或已已经经应应用用于于其其他软件系统的模块数量他软件系统的模块数量产产品品将将是是可可靠靠的的并并能能提提供供防防止止数数据据丢失的机制丢失的机制可靠性可靠性无缺陷性无缺陷性测试覆盖测试覆盖测量测试覆盖度测量测试覆盖度审查覆盖审查覆盖计计算算已已做做过过的的代代码码审审查查模模块块容错性容错性数据完整性数据完整性统计用户数据被破坏情况统计用户数据被破坏情况数据恢复数据恢复测测量量恢恢复复被被破破坏坏的的数数据据的的能力能力可用性可用性软软件件可可用用的的百分比百分比软软件件可可用用时时间间除除以以总总
35、的的软软件使用时间件使用时间5/31/20245/31/20242323产产品品将将提提供供完完成成某某些些任任务务所所必需的功能必需的功能功能性功能性完备性完备性测试覆盖测试覆盖计算调用或分支测量覆盖计算调用或分支测量覆盖正确性正确性缺陷密度缺陷密度计算每一版本发布前的缺陷计算每一版本发布前的缺陷安全性安全性数据安全性数据安全性统计用户数据被破坏的情况统计用户数据被破坏的情况用户安全性用户安全性没没有有被被阻阻止止的的非非法法用用户户入入侵侵数数兼容性兼容性环境变化环境变化软软件件安安装装后后必必须须修修改改的的环环境境变量数量变量数量互操作性互操作性混混合合应应用用环环境境下下软软件件的的
36、可操作性可操作性混混合合应应用用环环境境下下可可正正确确运运行行的数量的数量产产品品将将易易于于使使用用可使用性可使用性易理解性易理解性学学习习所所用用时时间间新新用用户户学学习习软软件件特特性性所所花花费费的时间的时间易学性易学性学学习习所所用用时时间间新新用用户户学学会会操操作作软软件件提提供供的的基本功能所花费的时间基本功能所花费的时间易操作性易操作性人的因素人的因素新新用用户户基基于于人人类类工工程程学学对对软软件消极方面的评价数量件消极方面的评价数量沟通性沟通性人的因素人的因素新新用用户户基基于于人人类类工工程程学学对对软软件消极方面的评价数量件消极方面的评价数量质量需求质量需求质量
37、特性质量特性质量子特性质量子特性直接度量直接度量度量描述(例子)度量描述(例子)5/31/20245/31/202424241.4软件质量度量的实施 在在确确定定要要对对一一个个软软件件(系系统统)进进行行度度量量之之后后,一一般般,采采取取以以下下5 5个个步步骤,来实施对该软件的度量:骤,来实施对该软件的度量:(1 1)确定软件质量需求;)确定软件质量需求;在在用用户户需需求求中中,除除功功能能需需求求外外,还还有有非非功功能能需需求求,包包括括:质质量量需需求求、环环境境需需求、设计约束、开发策略等。质量需求是用户比较关心的内容。求、设计约束、开发策略等。质量需求是用户比较关心的内容。但
38、但是是,我我们们已已经经知知道道,软软件件的的功功能能需需求求的的确确定定,存存在在一一定定的的难难度度。而而非非功功能能需需求求的的确确定定,则则难难度度更更大大。这这些些困困难难包包括括:需需求求如如何何获获取取,需需求求冲冲突突如如何何协协调、需求的确认和变更的授权等。调、需求的确认和变更的授权等。过程:过程:需需求求获获取取:首首先先,你你要要理理解解用用户户的的需需求求,区区分分哪哪些些是是质质量量需需求求,把把这这些些需需求求记录下来,获得用户的确认。记录下来,获得用户的确认。需需求求分分析析:拿拿到到用用户户确确认认的的需需求求后后,你你可可以以开开始始把把用用户户的的质质量量需
39、需求求与与我我们们设设定定的的质质量量特特性性联联系系起起来来,一一直直区区分分到到子子特特性性。这这种种联联系系,就就是是把把用用户户语语言言描描述述的的需需求求,转转变变为为计计算算机机工工程程师师语语言言的的需需求求。建建立立了了这这种种关关联联后后,可可以以根根据据分类,分级,确定直接度量。分类,分级,确定直接度量。5/31/20245/31/202425251.4软件质量度量的实施(2 2)确定直接度量确定直接度量直接度量就是实际的软件质量测量活动,它的输入是软件或软件过程,输出是一个测量值。它通过执行一系列的任务,获得一个质量值。例如:对一个没有经过培训的用户,让他使用软件系统的某
40、一功能,在界面提示、联机帮助、使用手册的帮助下,他学会掌握该功能所花的时间。而用户需求对此项指标的要求(目标)和现实系统所达到的实际值(比如:10个人次测量后统计意义上的)的比较,就是将提交质量评审的质量值。在进行直接度量前,你应该有以下准备:(1)工具:有助于计算度量值的硬件/软件工具,如:缺陷跟踪工具;(2)应用:描述度量结果的希望值、度量值的意义、作用和对度量结果数据的使用方法;(3)数据:获得度量结果所需的数据、程序、过程等度量对象;(4)计算:度量程序、步骤和方法。(5)费用:测试是要花钱(人力、物力、时间等)的。5/31/20245/31/202426261.4软件质量度量的实施(
41、3 3)分析度量结果)分析度量结果对度量过程进行跟踪和分析,需要时,可能会对度量程序、度量工具、度量方法,甚至原始数据,做出补充和调整。(4 4)确认质量度量)确认质量度量在度量过程中,进行度量结果的确认非常重要。首先,要确认度量过程是否与事实相符,脱离现实真实的度量,与目标再相符的结果也是没有意义的。其次,是确认方法的有效性,例如:在度量中,我们用到很多统计学方法,在这些方法中,我们有一些概率分布假设(例如:某些错误的发生,我们假设符合随机概率分布),当这些假设并不成立时,度量的结果是不真实的。5/31/20245/31/20242727其他度量分析模型的度量(对分析模型的度量以测试系统的大
42、小)分析模型的度量(对分析模型的度量以测试系统的大小)设计模型的度量(度量体系结构、数据和系统的复杂度)设计模型的度量(度量体系结构、数据和系统的复杂度)源代码的度量(度量程序的长度、层次、开发量、时间等)源代码的度量(度量程序的长度、层次、开发量、时间等)对测试的度量(度量测试的宽度、深度、错误的级别)对测试的度量(度量测试的宽度、深度、错误的级别)对维护的度量(度量软件的稳定性)对维护的度量(度量软件的稳定性)5/31/20245/31/202428281软件质量的度量软件质量的度量2软件的确认软件的确认3软件的验证软件的验证4软件质量保证过程软件质量保证过程5 5 软件质量保证体系软件质
43、量保证体系6测试方法与工具介绍测试方法与工具介绍第六章 目录5/31/20245/31/202429292 2软件确认软件确认软件确认软件确认2.12.1测试阶段测试阶段测试阶段测试阶段2.22.2测试方法测试方法测试方法测试方法2.32.3测试类型测试类型测试类型测试类型2.42.4测试计划测试计划测试计划测试计划5/31/20245/31/20243030软件确认与验证的概念 软软件件的的确确认认(ValidationValidation)与与验验证证(VerificationVerification)简简称称为为V VV V 或或V2V2,是软件产品质量度量的具体方法。,是软件产品质量度
44、量的具体方法。确确认认是是这这样样一一个个过过程程,它它评评价价“在在软软件件开开发发过过程程期期间间(针针对对单单元元)或或结结束束(针针对对系系统统)时时,单单元元或或系系统统是是否否满满足足用用户户特特定定的的需需求求”。换句话说,是开发结束期间确认,我们的产品符合用户要求吗?换句话说,是开发结束期间确认,我们的产品符合用户要求吗?因因此此,确确认认的的产产品品质质量量。确确认认活活动动围围绕绕三三个个基基本本过过程程来来开开展展,测测试试、度量和软件可靠性增长度量和软件可靠性增长 而而验验证证是是这这样样一一个个过过程程,它它评评价价“在在一一个个给给定定的的开开发发阶阶段段中中,单单
45、元元或或系系统统是是否否满满足足在在此此阶阶段段开开始始时时确确定定的的条条件件”。因因此此,它它的的意意思思是是,我们正在制作的产品符合用户要求吗?我们正在制作的产品符合用户要求吗?因因此此,验验证证的的是是产产品品开开发发过过程程质质量量工工作作质质量量。验验证证活活动动也也是是围围绕三个基本过程来进行,审查、度量和配置管理。绕三个基本过程来进行,审查、度量和配置管理。5/31/20245/31/202431312.1测试阶段 根根据据不不同同的的软软件件生生命命周周期期定定义义,测测试试的的阶阶段段、方方法法和和类类型型构构成成一一个个层层次次结结构,如下构,如下图图:5/31/2024
46、5/31/20243232 V V模模型型中中的的过过程程从从左左到到右右,描描述述了了基基本本的的开开发发过过程程和和测测试试行行为为。V V模模型型的的价价值值在在于于它它非非常常明明确确地地标标明明了了测测试试过过程程中中存存在在的的不不同同级级别别,并并且且清清楚楚地地描描述述了了这这些些测测试试阶阶段段和和开开发发过过程程期期间间各各阶段的对应关系。阶段的对应关系。测试的测试的V模式模式5/31/20245/31/20243333单元测试 单元测试的内容主要是:单元测试的内容主要是:算算法法逻逻辑辑、数数据据定定义义的的理理解解和和使使用用、接接口口、各各种种CASECASE路路径径
47、、边边界界条条件、错误处理等。件、错误处理等。单元测试的目的通常是单元测试的目的通常是:在在开开发发环环境境中中,程程序序设设计计工工程程师师为为了了检检查查单单元元程程序序模模块块内内部部的的逻逻辑辑、算算法法和和数数据据处处理理结结果果的的正正确确性性等等。单单元元测测试试通通常常由由负负责责编编码码的的工工程程师师自自己己在在代代码码完完成成后后测测试试,也也有有在在项项目目组组内内,由由工工程程师师相相互互交交叉叉测测试。试。调试与测试的最大的不同点是二者的目的和视角的区别:调试与测试的最大的不同点是二者的目的和视角的区别:调调试试包包括括查查找找BUGBUG、定定位位BUGBUG、修
48、修改改并并最最终终确确认认BUGBUG已已经经被被修修复复的的软软件故障排除过程。件故障排除过程。测测试试是是在在一一个个相相对对独独立立的的环环境境下下(测测试试应应尽尽可可能能地地模模拟拟运运行行环环境境,调调试试是是在在开开发发环环境境),运运行行系系统统单单元元,观观察察和和记记录录运运行行结结果果,对对结结果进行独立评价的过程。果进行独立评价的过程。5/31/20245/31/20243434单元测试(模块测试)实实际际上上,在在单单元元测测试试级级,一一般般项项目目组组很很难难做做到到把把调调试试与与测测试试分分开开。因因为为二二者者的的工工作作内内容容比比较较接接近近,担担负负人
49、人常常常常是是一一个个人人,环环境境区区别别并并不不大大或或者者重重新新搭搭建建环环境境在在时时间间、成成本本和和人人力力上上,都都比比较较困困难难。这这些些都是一般项目组并没有独立的单元测试的原因。都是一般项目组并没有独立的单元测试的原因。将单元测试与模块调试合并可能带来的问题是:将单元测试与模块调试合并可能带来的问题是:(1 1)单单元元测测试试没没有有任任何何记记录录和和文文档档。少少有有笔笔头头勤勤快快的的工工程程师师,会会把把他他每每天天测测了了什什么么、改改了了什什么么,记记录录下下来来。软软件件工工程程师师要要的的就就是是没没有有BUGBUG的程序,任何中间结果都是垃圾。的程序,
50、任何中间结果都是垃圾。(2 2)由由于于调调试试的的目目标标是是获获得得没没有有故故障障的的程程序序,因因此此,与与功功能能无无关关的的程程序序属属性性往往往往被被忽忽略略,或或者者要要到到集集成成测测试试、确确认认测测试试时时才才被被发发现现。例如:命名标准、程序形式规范等。例如:命名标准、程序形式规范等。不不论论怎怎么么说说,现现实实情情况况,单单元元测测试试与与模模块块调调试试经经常常是是混混为为一一谈谈的的,要想改变,也不太容易。要想改变,也不太容易。由由于于单单元元测测试试在在项项目目组组中中,常常常常由由编编码码工工程程师师完完成成,项项目目经经理理的的管管理一般并不深入到单元测试
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100