资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,软件质量保证与测试,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,1,第,1,章 软件质量和测试概述,2,内容提要,1.1,软件特征与软件工程,1.1.1,软件分类,1.1.2,层次化软件工程,1.1.3,软件范型的转变,1.1.4,现代软件开发,1.2,软件质量,1.2.1,质量概念,1.2.2,质量运动,1.2.3,软件质量概念,1.2.4,软件质量评价体系与标准,1.3,软件测试与可靠性概述,1.3.1,软件测试的意义,1.3.2,软件测试的定义,1.3.3,软件测试方法,1.3.4,软件测试自动化,1.3.5,软件缺陷的修复费用,1.4,软件质量保证与测试人才的特点,1.4.1,现代软件研发对软件人才的需求,1.4.2,优秀的软件测试员应具备的素质,1.5,小结,3,1.1,软件特征与软件工程,要理解软件的含义并全面地理解软件工程,我们首先要明确软件的特征,并据此知道软件与人类建造的其它事物之间的区别。,IEEE,定义对软件的定义如下:,软件是计算机程序、规程以及可能的相关文档和运行计算机系统需要的数据。软件包含计算机程序、规程、文档和软件系统运行所必需的数据四个部分。,4,软件具有与硬件完全不同的特征,软件是开发产生的,而不是用传统方法制造。,软件不会像硬件一样有磨损。,很多软件不能通过已有构件组装,只能自己定义。,5,硬件、软件失效曲线图,6,1.1.1,软件分类,当前的计算机软件分为七个大类,使得软件工程正面临持续的挑战:,系统软件,应用软件,Web,应用软件,工程和科学软件,嵌入式软件,产品线软件,人工智能软件,7,新的挑战也逐渐显现出来,普适计算,网络资源,开源软件,新经济,8,1.1.2,层次化软件工程,Fritz Bauer,在,NATO,(北大西洋公约组织)会议上给出的定义仍是我们进一步展开讨论的基础:,软件工程:是为了经济地获得可靠的和能在实际机器上高效运行的软件而建立和使用的好的工程原则。,美国电气和电子工程师协会(,Institute of Electrical and Electronics Engineers,,,IEEE,)给出了一个更加综合的定义:,软件工程:(,1,)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。(,2,)(,1,)中所述方法的研究。,9,软件过程、软件方法和软件工具,10,软件工程的视图,抛开要工程化的实体,我们必须先回答下列问题:,要解决的问题是什么?,要用于解决该问题的实体具有什么特点?,如何实现该实体?其解决方案是怎样的?,如何建造该实体?,采用什么方法去发现该实体设计和建造过程中产生的错误?,当该实体的用户要求修改、适应和增强时,如何支持这些活动?,11,三个阶段,我们可以,把,把与软件,工,工程相关,的,的工作分,为,为三个阶,段,段,其中,的,的每个阶,段,段能够回,答,答上述的,一,一个或多,个,个问题:,定义阶,段,段针对,“,做什么,”,开发阶,段,段针对,“,如何做,”,维护阶,段,段针对,“,改变,”,12,补充说,明,明,还有很,多,多保护,性,性活动,用,用来补,充,充说明,在,在软件,工,工程的,一,一般视,图,图中的,各,各个阶,段,段和相,关,关步骤,,,,这些,典,典型的,贯,贯穿于,整,整个软,件,件过程,中,中的活,动,动包括,:,:,软件项,目,目追踪,和,和控制,正式的,技,技术复,审,审,软件质,量,量保证,软件配,置,置管理,文档的,准,准备和,产,产生,可复用,管,管理,测试,风险管,理,理,13,1.1.3,软件范,型,型的转,变,变,14,1.1.4,现代软,件,件开发,传统软,件,件开发,和,和现代,软,软件开,发,发,软件团,队,队与软,件,件开发,人,人员的,培,培养,15,1.2,软件质,量,量,有些软,件,件开发,者,者仍然,相,相信软,件,件质量,是,是在编,码,码之后,才,才应该,开,开始担,心,心的事,情,情。这,是,是荒谬,的,的,因,为,为软件,质,质量保,证,证(,SoftwareQuality Assurance,,,SQA,)是一,种,种应用,于,于整个,软,软件过,程,程的保,护,护性活,动,动,它,包,包括:,一种质,量,量管理,方,方法,,有效的,软,软件工,程,程技术,(,(方法,和,和工具,),),在整个,软,软件过,程,程中采,用,用的正,式,式技术,复,复审,一种多,层,层次的,测,测试策,略,略,对软件,文,文档及,其,其修改,的,的控制,保证软,件,件遵从,软,软件开,发,发标准,的,的规程,度量和,报,报告机,制,制,16,1.2.1,质量概,念,念,我们应,从,从以下,几,几个方,面,面考虑,软,软件质,量,量:,软件结,构,构方面,功能与,性,性能方,面,面,开发标,准,准与文,档,档方面,17,1.2.2,质量运,动,动,全面质,量,量管理,通,通常都,包,包括以,下,下,4,个步骤,:,:,第,1,步是指一个,连,连续的过程,改,改进系统,,其,其目标在于,开,开发一个看,的,的见的、可,重,重复的和可,度,度量的软件,过,过程。,第,2,步只第,1,步完成之后,才,才可启动。,这,这一步将检,查,查影响过程,的,的其它因素,,,,并优化这,些,些因素对过,程,程的影响。,例,例如,软件,过,过程可能受,到,到高层职员,流,流动的影响,,,,而该影响,则,则是公司内,部,部不断重组,而,而引起的。,一,一个稳定的,公,公司组织会,对,对软件质量,的,的提高带来,很,很大的帮助,,,,所以第,2,步可以帮助,管,管理者对公,司,司重组方式,提,提出建议。,前面两个步,骤,骤关注的是,过,过程,第,3,步(或称为,“,第五感觉,”,)则关注软,件,件产品的用,户,户,它是通,过,过检查用户,使,使用产品的,方,方式,而导,致,致产品本身,的,的改进和潜,在,在地改进产,品,品的生产过,程,程。,第,4,步将管理者,的,的注意从当,前,前的产品上,移,移开并拓宽,。,。作为一个,面,面向商业的,步,步骤,该步,骤,骤通过观察,产,产品的市场,用,用途,来寻,找,找产品在相,关,关领域中的,发,发展机会。,在,在软件领域,,,,第,4,步可以被视,为,为一种发现,有,有利可图的,新,新产品,或,视,视作寻找当,前,前计算机系,统,统的副产品,用,用途的努力,。,。,18,1.2.3,软件质量概,念,念,IEEE,关于软件质,量,量的定义:,软,软件质量是,系统、部件,或,或者过程满,足,足规定需求,的,的程度。,系统、部件,或,或者过程满,足,足顾客或者,用,用户需要或,期,期望的程度,。,。,该定,义,义相,对,对客,观,观,,强,强调,了,了产,品,品(,或,或服,务,务),和,和客,户,户,/,社会,需,需求,的,的一,致,致性,。,。,ANSI,关于,软,软件,质,质量,的,的定,义,义:,按,按照,ANSI,(,AmericanNationalStandardsInstitute,,美,国,国国,家,家标,准,准学,会,会),在,在,1983,年的,标,标准,陈,陈述,,,,软,件,件质,量,量定,义,义为,“,与软,件,件产,品,品满,足,足规,定,定的,和,和隐,含,含的,需,需求,的,的能,力,力有,关,关的,特,特征,和,和特,性,性的,全,全体,”,。具,体,体包,括,括,软件,产,产品,中,中能,满,满足,用,用户,给,给定,需,需求,的,的全,部,部特,性,性的,集,集合,,,,,软件,具,具有,所,所期,望,望的,各,各种,属,属性,组,组合,的,的程,度,度,,用户,主,主观,得,得出,的,的软,件,件是,否,否满,足,足其,综,综合,期,期望,的,的程,度,度,,决定,所,所用,软,软件,在,在使,用,用中,将,将满,足,足其,综,综合,期,期望,程,程度,的,的软,件,件合,成,成特,性,性。,19,6,个主,要,要特,征,征,我们,把,把各,类,类软,件,件综,合,合起,来,来看,,,,可,以,以列,出,出下,列,列,6,个主,要,要特,征,征:,功能,性,性:,软,软件,实,实现,的,的功,能,能达,到,到要,求,求的,和,和隐,含,含的,用,用户,需,需求,以,以及,设,设计,规,规范,的,的程,度,度,,可靠,性,性:,软,软件,在,在指,定,定条,件,件和,特,特定,时,时间,段,段内,维,维持,性,性能,的,的能,力,力程,度,度,,易使,用,用性,:,:用,户,户使,用,用该,软,软件,所,所付,出,出的,学,学习,精,精力,,,,,效率,:,:在,指,指定,条,条件,下,下,,软,软件,功,功能,与,与所,占,占用,资,资源,之,之间,的,的比,值,值,,可维,护,护性,:,:当,发,发现,错,错误,、,、运,行,行环,境,境改,变,变或,客,客户,需,需求,改,改变,时,时,,程,程序,能,能修,改,改的,容,容易,程,程度,,,,,可移,植,植性,:,:将,软,软件,从,从一,种,种环,境,境移,入,入另,一,一种,环,环境,的,的容,易,易程,度,度。,20,1.2.4,软件,质,质量,评,评价,体,体系,与,与标,准,准,IEEE,给出,软,软件,质,质量,保,保证,的,的定,义,义,,软,软件,质,质量,保,保证,(,(,SQA,)是,:,:,一种,有,有计,划,划的,,,,系,统,统化,的,的行,动,动模,式,式,,它,它是,为,为项,目,目或,者,者产,品,品符,合,合己,有,有技,术,术需,求,求提,供,供充,分,分信,任,任所,必,必需,的,的。,设计,用,用来,评,评价,开,开发,或,或者,制,制造,产,产品,的,的过,程,程的,一,一组,活,活动,,,,与,质,质量,控,控制,有,有区,别,别。,质量,保,保证,与,与质,量,量控,制,制的,区,区别,QA,是对,人,人、,对,对过,程,程,,致,致力,于,于使,管,管理,者,者、,顾,顾客,和,和其,他,他相,关,关方,相,相信,有,有能,力,力满,足,足质,量,量要,求,求,,更,更多,的,的是,体,体现,在,在流,程,程制,度,度上,;,;,QC,是对,人,人事,、,、对,物,物,,直,直接,致,致力,于,于满,足,足质,量,量要,求,求,体现,在,在质,量,量把,关,关的,具,具体,工,工作,过,过程,中,中。,21,22,QA,QC,全称,质量保证(,Quality Assurance,QA),质量控制(,Quality Control,QC),角色,QA工程师,测试工程师,评审员,定义,为了确保软件开发过程、工件符合预期的结果,依照过程和计划采取的一系列活动及其结果评价,为了发现软件产品的错误、缺陷而进行工作的过程,职责,监控公司质量保证体系的运行情况,审计项目的实际执行情况和公司规范之间的差距,并出具统计分析报告和改进建议。,是过程、产品的审计者。,对每个阶段或者关键点的工件进行检查,评估工件是否符合预计的质量要求。关注各阶段的评审和测试缺陷。,是产品质量检查者。,分工原则,QA只要检查项目按照过程进行了某项活动没有,产出了某个产品没有,QC检查产品是否符合质量要求,SQA,活,动,动,为,项,项,目,目,准,准,备,备,SQA,计,划,划,。,。,参,与,与,开,开,发,发,项,项,目,目,的,的,软,软,件,件,过,过,程,程,描,描,述,述,。,。,评审各,项,项软件,工,工程活,动,动,对,其,其是否,符,符合定,义,义好的,软,软件过,程,程进行,核,核实。,审计指,定,定的软,件,件工作,产,产品,,对,对其是,否,否符合,事,事先定,义,义好的,需,需求进,行,行核实,。,。,确保软,件,件工作,及,及产品,中,中的偏,差,差已记,录,录
展开阅读全文