资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第11章 软件质量透视,通过对前面的学习,我们对传统的软件测试有了一个比较全面的认识。我们认识到测试人员需要对产品的质量负责。,那么什么是质量,该如何看待质量?,本章重点讨论:,什么是质量?,如何才能提高软件产品的质量?,Deming的14条质量原则是什么?,CMM、PSP和TSP之间的关系是什么?,11.1,质,质,量,量的,定,定义,ISO关,于,于质,量,量的,定,定义,表,表示,如,如下,:,:,“,一,一个,实,实体,(,(产,品,品和,服,服务,),)的,所,所有,特,特性,,,,基,于,于这,些,些特,性,性可,以,以满,足,足明,显,显的,或,或隐,含,含的,需,需要,。,。”,我们,可,可以,引,引申,出,出质,量,量的3个,维,维度,:,:,符合,目,目标,目标,是,是客,户,户提,出,出的,,,,符,合,合目,标,标就,是,是判,断,断我,们,们是,不,不是,在,在做,我,我们,需,需要,做,做的,事,事情,。,。在,这,这个,维,维度,上,上用,户,户认,为,为的,质,质量,是,是“,产,产品,是,是否,按,按照,用,用户,的,的需,要,要运,行,行”,11.1,质,质量的,定,定义,符合需求,检验产品,是,是否在做,让,让它做的,事,事情。,软件产品,的,的需求必,须,须是可度,量,量的,并,且,且产品的,需,需求要么,被,被满足,,要,要么不被,满,满足。根,据,据这种度,量,量,质量,也,也应该是,二,二维的状,态,态,也就,是,是说产品,要,要么是有,质,质量,要,么,么是无质,量,量的。,对于开发,者,者而言,,他,他们认为,质,质量就是,满,满足用户,的,的需求或,规,规格说明,书,书。在此,满,满足规格,说,说明书成,为,为了产品,本,本身的一,个,个终点。,11.1,质,质量的,定,定义,符合实际,需,需求。,实际的需,求,求包括用,户,户明确说,明,明的和隐,含,含的需求,。,。,而往往我,们,们会忽略,隐,隐含的需,求,求。因此,控,控制一个,产,产品的质,量,量的过程,中,中必须关,注,注这些隐,含,含的需求,,,,并给予,应,应有的验,证,证。,产品是为,用,用户提供,服,服务的,,凡,凡是不满,足,足客户需,求,求的,我,们,们都认为,是,是一个失,效,效的产品,。,。所以我,们,们的产品,必,必须围绕,着,着客户的,需,需求进行,开,开发和验,证,证。,11.1,质,质量的,定,定义,“客户”,和,和“用户,”,”的区别,:,:,客户之真,正,正能够决,定,定是否购,买,买你软件,的,的人,而,用,用户是实,际,际使用软,件,件的人。,我们开发,软,软件是应,该,该更多地,站,站在用户,的,的角度去,开,开发,要,做,做到让用,户,户用得方,便,便、舒服,、,、提高了,效,效率。用,户,户的意见,能,能直接反,馈,馈到客户,那,那里,作,为,为客户选,购,购软件的,依,依据。,了解两者,的,的区别,,在,在分析需,求,求和进行,产,产品的质,量,量验证时,可,可以做出,不,不同的权,衡,衡。,11.1,质,质量的,定,定义,当每个人,提,提到质量,时,时,经常,会,会遇到下,列,列矛盾,,在,在这些矛,盾,盾中隐含,着,着对质量,的,的承诺:,质量需要,一,一个承诺,,,,尤其是,高,高层管理,者,者的承诺,。,。为了得,到,到更高的,质,质量,高,层,层管理者,必,必须和员,工,工进行紧,密,密的合作,。,。,许多相信,没,没有缺陷,的,的产品和,服,服务是不,可,可能的。,但,但是控制,在,在一定级,别,别的缺陷,数,数量是正,常,常的,是,可,可以接受,的,的。,11.1,质,质量的,定,定义,质量经常,是,是和成本,紧,紧密联系,在,在一起的,,,,一个高,质,质量的产,品,品同时也,意,意味着高,投,投入。这,是,是设计的,质,质量和一,致,致性质量,的,的一个矛,盾,盾。,一个高的,质,质量要求,需,需求规格,说,说明书足,够,够详细,,并,并根据这,些,些规格说,明,明书可进,行,行定量的,分,分析。然,而,而许多组,织,织没有能,力,力或者不,愿,愿意制作,如,如此详细,的,的规格说,明,明书。,技术人员,经,经常相信,规,规范和标,准,准会束缚,他,他们的创,造,造力,因,而,而不愿意,遵,遵照标准,做,做事。然,而,而如果要,得,得到高质,量,量的产品,,,,就必须,遵,遵循良好,定,定义的标,准,准和过程,。,。,11.2,质,质量的,预,预防和检,测,测,质量管理,可,可以降低,产,产品的成,本,本,这是,因,因为缺陷,发,发现和修,改,改得越早,,,,所花费,的,的成本就,越,越少。尽,管,管在初期,时,时,其成,本,本投入相,当,当大,但,是,是从长远,来,来看,质,量,量管理将,减,减少后期,的,的维护费,用,用,并最,终,终得到一,个,个高质量,的,的产品。,研究表明,:,:维护阶,段,段发现和,修,修改一个,缺,缺陷的成,本,本时需求,阶,阶段的70倍甚至,更,更高。,一个有效,的,的质量管,理,理成本包,括,括4个部,分,分:预防,成,成本、检,视,视成本、,内,内部缺陷,发,发现和修,改,改成本、,外,外部缺陷,发,发现和修,改,改成本。,11.2,质,质量的,预,预防和检,测,测,预防成本,包,包括防止,缺,缺陷最初,产,产生的活,动,动的成本,。,。,检视成本,包,包括测量,、,、评价和,审,审计一个,产,产品或服,务,务是否和,标,标准与规,格,格相一致,而,而花费的,成,成本。,内部缺陷,发,发现和修,改,改成本是,那,那些在产,品,品交付之,前,前发现和,修,修改错误,所,所投入的,成,成本。,11.2,质,质量的,预,预防和检,测,测,外部缺陷,发,发现和修,改,改成本是,产,产品发布,之,之后发现,和,和修改缺,陷,陷所花费,的,的成本。,外,外部缺陷,有,有可能是,灾,灾难性的,,,,因为它,们,们可能会,损,损害企业,的,的名誉并,最,最终导致,销,销售的下,滑,滑。,预防的最,大,大回报是,在,在增加预,防,防成本的,同,同时减少,外,外部缺陷,,,,进而提,高,高产品质,量,量,减少,维,维护成本,和,和产品成,本,本。,11.3,如,如何提,高,高软件产,品,品的质量,如何提高,软,软件的质,量,量已经不,是,是一个纯,粹,粹的技术,问,问题,而,是,是一个工,程,程问题。,自从软件,危,危机产生,以,以来,出,现,现了很多,关,关于提高,产,产品质量,方,方面的理,论,论和方法,:,:,有从技术,角,角度出发,的,的,如面,向,向对象的,技,技术的产,生,生和推广,;,;,有从自动,化,化角度出,发,发的,如CASE,工,工具、过,程,程控制软,件,件、自动,化,化管理平,台,台等;,有从过程,模,模型角度,出,出发,如:迭代模,型,型、螺旋,模,模型等;,11.3,如,如何提,高,高软件产,品,品的质量,有从管理,角,角度出发,的,的,如:,团,团对管理,、,、责效管,理,理等;,有从测试,角,角度出发,的,的,如:,把,把Deming,的,的PDCA循环应,用,用到全流,程,程的测试,过,过程上来,;,;,一些相应,的,的规范和,标,标准也孕,育,育而生,,例,例如:ISO9000系列,,,,CMM,等,等。,然而每一,种,种技术都,不,不是绝对,的,的,软件,质,质量的提,高,高应该是,一,一个综合,的,的因素,,需,需要从各,个,个方面进,行,行改进,,同,同时还需,要,要兼顾成,本,本和进度,。,。,11.3.1 流,程,程对质量,的,的控制,从一个软,件,件企业的,长,长远发展,来,来看,如,果,果要提高,产,产品的质,量,量首先应,当,当从流程,抓,抓起,规,范,范软件产,品,品的开发,过,过程。,这是一个,软,软件企业,从,从小作坊,的,的生产方,式,式向集成,化,化规范化,的,的大公司,迈,迈进的必,经,经之路,,也,也是从根,本,本上解决,质,质量问题,,,,提高工,作,作效率的,一,一个关键,手,手段。,11.3.1 流,程,程对质量,的,的控制,软件产品,的,的开发同,其,其他产品,(,(如汽车,),)的生产,有,有着共同,特,特性,即,需,需要按一,定,定的过程,来,来进行生,产,产。,在工业界,,,,流水线,生,生产方式,被,被证明是,一,一种高效,的,的,且能,够,够比较稳,定,定地保证,产,产品质量,的,的一种方,式,式。通过,这,这种方式,,,,不同的,人,人员被安,排,排在流程,的,的不同位,置,置,最终,为,为着一个,目,目标共同,努,努力,这,样,样可以防,止,止人员时,间,间的内耗,,,,极大地,提,提高了工,作,作效率。,并,并且由于,其,其过程来,源,源于成功,的,的案例,,因,因此其最,终,终的产品,质,质量能够,满,满足过程,所,所设定的,范,范围。,11.3.1 流,程,程对质量,的,的控制,软件工程,在,在软件的,发,发展过程,中,中吸取了,这,这个经验,并,并把它应,用,用到了软,件,件开发中,,,,这就形,成,成了软件,工,工程过程,,,,简称开,发,发流程。,开发流程,告,告诉我们,该,该怎样一,步,步一步实,现,现产品,,可,可能会有,那,那些风险,,,,如何避,免,免风险等,。,。由于流,程,程源于成,功,功的经验,,,,因此,,按,按照流程,进,进行开发,可,可以使我,们,们少走弯,路,路,并有,效,效地提高,产,产品质量,,,,提高用,户,户的满意,度,度。,11.3.1 流,程,程对质量,的,的控制,目前流行,的,的流程方,法,法有很多,种,种,不同,的,的流程适,合,合不同类,型,型的项目,。,。,瀑布模型,该模型是,应,应用最为,广,广泛的一,种,种模型,,也,也是最容,易,易理解和,掌,掌握的模,型,型,但是,它,它的缺陷,也,也是显而,易,易见的。,遗,遗留的需,求,求或者不,断,断变化的,需,需求会使,得,得该模型,无,无所适从,。,。,然而,对,于,于那些容,易,易理解但,很,很复杂的,项,项目,采,用,用瀑布模,型,型比较适,合,合,因为,可,可以按部,就,就班地去,处,处理复杂,的,的问题。,在,在质量要,求,求高于成,本,本和进度,时,时,该模,型,型表现突,出,出。,11.3.1 流,程,程对质量,的,的控制,螺旋模型,是一个经,典,典的模型,,,,它关注,于,于发现和,降,降低项目,的,的风险。,螺,螺旋型项,目,目从小的,规,规模开始,,,,探测风,险,险,制定,风,风险控制,计,计划,接,着,着确定下,一,一步项目,是,是否还要,继,继续,然,后,后进行下,一,一步螺旋,的,的反复。,该模型的,最,最大优点,是,是随着成,本,本的增加,,,,风险程,度,度随之降,低,低。缺点,是,是比较复,杂,杂,且需,要,要管理人,员,员有责任,心,心,专注,以,以及有管,理,理经验。,对,对管理人,员,员的经验,和,和素质依,赖,赖比较大,。,。,11.3.1 流,程,程对质量,的,的控制,RUP模,型,型,该模型是Rational,公,公司提出,的,的一套开,发,发过程模,型,型,它是,一,一个面向,对,对象软件,工,工程的通,用,用业务流,程,程。它描,述,述了一系,列,列相关的,软,软件工程,流,流程,它,们,们具有相,同,同的结构,,,,即相同,的,的流程架,构,构。,RUP为,在,在开发组,织,织中分配,任,任务和职,责,责提供了,一,一种规范,方,方法,其,目,目标是确,保,保在可预,计,计的时间,安,安排和预,算,算内开发,出,出满足最,终,终用户需,求,求的高品,质,质的软件,。,。,11.3.1 流,程,程对质量,的,的控制,RUP有,两,两个轴,,一,一个轴是,时,时间,这,是,是动态的,;,;另一个,轴,
展开阅读全文