资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,*,第,*,页,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,软件质量保证与测试,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,软件质量保证与测试,计算机与信息工程系,2024年11月1日,第,1,页,2,名录,一、相关知识及意义,二、软件质量保证管理,三、软件测试,四、软件质量保证与测试人才的特点,3,一、相关知识及意义,1,、软件开辟过程,4,2,、硬件、软件失效曲线图,5,3,、软件质量要求包括,6,个主要特征,功能性:软件实现的功能到达要求的和隐含的用户需求以及设计标准的程度,,可靠性:软件在指定条件和特定时间段内维持性能的能力程度,,易使用性:用户使用该软件所付出的学习精力,,效率:在指定条件下,软件功能与所占用资源之间的比值,,可维护性:当发现错误、运行环境改变或客户需求改变时,程序能修改的容易程度,,可移植性:将软件从一种环境移入另一种环境的容易程度。,6,4,软件缺陷的修复费用,7,5,意义,迪斯尼狮子王缺陷,人造陨石坑缺陷,程序员的千年虫问题,爱国者导弹缺陷,8,二、软件质量保证与管理,1,、软件质量操作的基本方法,软件质量操作是一组由开辟组织使用的程序和方法,使用它可在规定的资金投入和时间限制的条件下,提供满足客户质量要求的软件产品并持续不断地改善开辟过程和开辟组织本身,以提高将来生产高质量软件产品的能力。,1.1目标问题度量法,对一个工程的各个方面(产品、过程和资源)规定具体的目标,这些目标的表达应非常明确。,对每一个目标,要引出一系列能反映出这个目标是否到达要求的问题,并要求对这些问题进行答复。这些问题的答案将有助于使目标定量化。,将答复这些问题的答案映射到对软件质量等级的度量上,根据这种度量得出软件目标是否到达的结论,或确认哪些做好了,哪些仍需改善。,收集数据。要为收集和分析数据做出方案。,1.2风险管理法,根据经验识别工程要素的有关风险;,评估风险发生的概率和发生的代价;,按发生概率和代价划分风险等级并排序;,在工程限定条件下选择操作风险的技术并制定方案;,执行方案并监视进程;,持续评估风险状态并采取正确的措施。,1.3 PDCA法(戴明循环),确定质量目标,提高质量,开发质量,评估质量,质量控制参数,产品、过程、资源,定义,改善,估计,度量,计划,Plan,改进,Action,实施,Do,检查,Check,2 软件配置管理,软件配置管理是在贯穿整个软件生命周期中建立和维护工程产品的完整性。它的基本目标包括:,软件配置管理的各项工作是有方案进行的。,被选择的工程产品得到识别,操作并且可以被相关人员获取。,已识别出的工程产品的更改得到操作。,使相关组别和个人及时了解软件基准的状态和内容。,常用的软件配置管理工具,VisualSVN Server,TortoiseSVN,3 软件评审的内容,3.1,管理评审,一个组织之所以需要管理,是为了能更好的进步和开展。为了到达这个目的,通常需要对原来的开展状况进行回忆,分析并总结出存在的问题和改进的措施。这也就是为什么进行管理评审的原因。,管理评审就是最高管理者为评价管理体系的适宜性、充分性和有效性所进行的活动。,管理评审的主要内容是组织的最高管理者就管理体系的现状、适宜性、充分性和有效性以及方针和目标的贯彻落实及实现情况进行正式的评价,其目的就是通过这种评价活动来总结管理体系的业绩,并从当前业绩上考虑找出与预期目标的差距,同时还应考虑任何可能改进的时机,并在研究分析的基础上,对组织在市场中所处地位及竞争对手的业绩予以评价,从而找出自身的改进方向。,3.2 技术评审,技术评审的目的,发现软件在功能、逻辑、实现上的错误;,验证软件符合它的需求规格;,确认软件符合预先定义的开辟标准和标准;,保证软件在统一的模式下进行开辟;,便于工程管理。,技术评审的输入,评审的目的是说明为什么要进行该评审,该评审的实施目的是什么;,评审的内容包括需求文档、源代码、测试用例等;,评审检查单(检查项);,其他必须的文档,如对设计文档进行评审,那么需求文档可以作为相关文档带入技术评审会。,技术评审的输出,技术评审报告,会议的基本信息;,存在的问题和建议措施;,评审结论和意见;,问题跟踪表;,技术评审问答记录(通常作为附录出现在报告中)。,3.3 文档评审,文档评审的目的,文档评审的内容,在软件开辟过程中,需要进行评审的文档很多,主要包括如下内容:,需求评审,对,市场需求说明书,、,产品需求说明书,、,功能说明书,等进行评审。,设计评审,对,总体设计说明书,、,详细设计说明书,等进行评审。,代码评审,对代码进行审核。,质量验证评审,对,测试方案,、,测试用例,等进行评审。,3.4 过程评审,过程评审的作用如下:,评估主要的质量保证流程。,考虑如何处理和解决评审过程中发现的不符合问题。,总结和共享好的经验。,指出需要进一步完善和改进的局部。,过程评审流程,19,3.5代码审查,代码审查的主要工作,代码审查的主要工作:发现代码中的,bug,;从代码的易维护性、可扩展性角度考察代码的质量,提出修改建议。,代码编写者,代码审核者共同对代码的质量承担责任。,这样才能保证,Code Review,不是走过场,其中代码编写者承担主要责任,代码审核者承担次要责任。,20,三、软件测试方法,1.,黑盒测试,2.,白盒测试,3.,灰盒测试,4.,集成测试,5.,系统测试,6.,压力测试,21,1,黑盒测试的基本概念,黑盒测试试图发现以下类型的错误:,功能错误或遗漏;,界面错误;,数据结构或外部,数据库,访问错误;,性能错误;,初始化和终止错误。,22,1.1,等价类划分,等价类划分法是一种黒盒测试的技术,不考虑程序的内部结构,是把所有可能的输入数据,即程序的输入域划分成假设干局部(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。,23,1.2.1,划分等价类,等价类划分可有两种不同的情况,:,有效等价类和无效等价类。,有效等价类,:,是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。,无效等价类,:,与有效等价类的定义恰巧相反,不符合需求规格说明书。,24,1.2.2,等价类表例如,输入条件,有效等价类,无效等价类,输入条件,有效等价类,无效等价类,100,1.,无效等价类,2.,有效等价类,3.,无效等价类,25,1.2.3,设计测试用例,先根据输入条件确定有效等价类和无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例。,每一个等价类规定一个唯一的编号。,设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步。直到所有的有效等价类都被覆盖为止。,设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。,用例,编号,所属等,价类,乘,数,1,乘,数,2,乘积,1,2,3,20,60,2,1,-10,2,提示“请输入,1100,之间的整数”,3,3,200,3,提示“请输入,1100,之间的整数”,26,三角形(等价类划分),输入条件,有效等价类,无效等价类,是否三角形的,3,条边,(,A0,),(,1,),(,B0,),(,2,),(,C0,),(,3,),(,A+BC,),(,4,),(,B+CA,),(,5,),(,A+CB,)(,6,),(,A0,),(,7,),(,B0,),(,8,),(,C0,),(,9,),(,A+BC,),(,10,),(,B+CA,),(,11,),(,A+CB,)(,12,),是否等腰三角形,(,A=B,),(,13,),(,B=C,),(,14,),(,C=A,),(,15,),(,AB,),and,(,BC,),and,(,CA,),,(,16,),是否等边三角形,(,A=B,),and,(,B=C,),and,(,C=A,),,(,17,),(,AB,),(,18,),(,BC,),(,19,),(,CA,),(,20,),27,三角形测试用例(等价类划分),用例编号,【,A,,,B,,,C】,覆盖等价类,输出,1,【3,,,4,,,5】,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),一般三角形,2,【0,,,1,,,2】,(,7,),不能构成三角形,3,【1,,,0,,,2】,(,8,),4,【1,,,2,,,0】,(,9,),5,【1,,,2,,,3】,(,10,),6,【1,,,3,,,2】,(,11,),7,【3,,,1,,,2】,(,12,),8,【3,,,3,,,4】,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),(,13,),等腰三角形,9,【3,,,4,,,4】,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),(,14,),10,【3,,,4,,,3】,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),(,15,),11,【3,,,4,,,5】,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),(,16,),非等腰三角形,12,【3,,,3,,,3】,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),(,17,),是等边三角形,13,【3,,,4,,,4】,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),(,14,),(,18,),非等边三角形,14,【3,,,4,,,3】,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),(,15,),(,19,),15,【3,,,3,,,4】,(,1,),(,2,),(,3,),(,4,),(,5,),(,6,),(,13,),(,20,),28,1.3,边界值分析法,1.3.1,边界条件,我们可以想象一下,如果在悬崖峭壁边可以自信地平安行走,平地就不在话下了。,如果软件在能力到达极限时能够运行,那么在正常
展开阅读全文