软件质量计划范文

2022-05-31

无论是在新的时间周期还是新的任务周期,工作计划都是必不可少的,那么该如何写好工作计划呢?以下是小编整理的关于《软件质量计划范文》仅供参考,希望能够帮助到大家。

第一篇:软件质量计划范文

论软件测试在软件质量中的作用

论软件质量保证与测试

一:我对软件测试的认识:

软件测试是为了发现程序中的错误而执行程序的过程。具体的说,软件测试是根据然间开发个阶段的规格说明和程序的内部结构而精心设计出一批测试用例,并利用测试用例来运行程序,依法向程序错误的过程。

软件测试的目的和意义在于发现程序中的错误,有效定义和实现软件成分由低到高的组装过程,验证软件是否满足任务书和系统定义文档所规定的技术要求,为软件质量模型的建立提供依据,具体说来如下:1确认软件的质量。一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件;2提供信息。比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息;3软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第3个目的是保证整个软件开发过程是高质量的。

作为软件测试人员,在软件开发过程中的任务就是寻找bug,避免软件开发过程中的缺陷,衡量软件的品质,关注用户的需求,而其最终目标就是:确保软件的质量。

软件测试在软件生命周期中占据重要的地位,在传统的瀑布模布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户1

论软件测试在软件质量中的作用

使用之前保证软件质量的重要手段。近年来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的演示扩散常常会导致最后成品测试的的最大困难。

软件开发过程可分为:需求,实际,实现和测试4个阶段在开发大型软件系统的漫长过程中,面对纷繁复杂的各种现实情况,人的主观认识和客观现实是之间往往存在差距,开发过程中各类人员之间的交流和配合也往往并不是尽善尽美,所以,在软件生存周期的各个阶段都有可能产生差错。软件测试时对软件规格说明,设计和编码的最后复审,是软件质量保证的关键步骤,因此我们一定要重视软件测试工作。

测试是所有工程学院的基本组成单元,是软件开发的重要部分。自由层序时记得那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%左右。而在软件开发的总成本中,用在测试上的开销要占30%-50%。如果把维护阶段也考虑在内,讨论整个软件生存周期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有更多的测试工作。

作为软件测试这个行业,最重要的一件事就是从客户的需求出发,系统的问题越早发现,改正的成本越低,破坏性越小,所以,在系统发布前,要尽量多的把系统的问题找出来,其手段就是有计划,有组2

论软件测试在软件质量中的作用

织的进行充分的测试。系统投产后发想的问题,其危害性被成倍的放大,直接损坏了客户的利益和声誉,同时客户将毫不留情的将板子打在开发商身上,这是开发商费钱费力也可能难以挽回失去的市场。 软件测试是软件质量保证的重要手段。 二,软件测试的具体方法与测试模型

1、V模型

在软件测试方面,V模型是最广为人知的模型。 V模型已存在了很长时间,和瀑布开发模型有着一些共同的特性。V模型中的过程从左到右,描述了基本的开发 过程和测试行为。

V模型优点:在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。

局限性: 把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现.

2、W模型

V模型的局限性在于没有明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试” 的原则。在V模型中增加软件各开发阶段应同步进行的测试,演化为W 模型(如下图)。

W模型由Evolutif公司提出,相对于V模型,W模型更科学。

3

论软件测试在软件质量中的作用

优点:W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。

缺点:W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动,无法支持迭代、自发性以及变更调整。

3、X模型

X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序。

X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序,然后再对这些可执 行程序进行测试。己通过集成测试的成品可以进行封装并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。

优点:X模型定位了探索性测试,这是不进行事先计划的特殊类型的测试,这一方式往往能帮助有经验的测试人员在测试计划之外发现更多的软件错误。

4

论软件测试在软件质量中的作用

缺点:可能对测试造成人力、物力和财力的浪费,对测试员的熟练程度要求比较高。

4、H模型

H模型中, 软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。

这个示意图演示了在整个生产周期中某个层次上的一次测试“微循环”。图中标注的其它流程可以是任意的开发流程,例如设计流程或者编码流程。也就是说, 只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了。

H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。H模型指出软件测试要尽早准备, 尽早执行。不同的测试活动可以是按照某个次序先

5

论软件测试在软件质量中的作用

后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。

三.软件测试的重要性及存在的误区

软件测试很重要。

在很多情况下,软件开发人员同用户的思路是完全不同的。开发人员由于接近硬件底层,更多的是从机器的“思维”来考虑问题,而用户只是为了使用。很多软件开发人员抱有这样的思维,认为用户很笨,“你这样用就不会出现错误了!”但事实上,作为一种产品,必须要能够考虑到用户使用的方方面面,并考虑进行各种容错处理。为了记录下用户使用软件的习惯用来提供软件的易用性和发现潜在的问题,微软和国外的很多大型软件开发公司甚至会采用专门的测试房间,用仪器记录用户的使用过程来加以改善使用的界面和出现的问题。

软件测试是软件质量保证的重要手段。有些研究数据显示,国外软件开发机构40%的工作量花在软件测试上,软件测试费用占软件开6

论软件测试在软件质量中的作用

发总费用的30%至50%。对于一些要求高可靠、高安全的软件,测试费用可能相当于整个软件项目开发所有费用的3至5倍。由此可见,要成功开发出高质量的软件产品,必须重视并加强软件测试工作。

国内很多企业还处在探索阶段,小企业的运作方式造成主要精力是要尽快完成初始资本积累。有些企业也了解软件测试的重要性,很努力、很认真地学,但因为很多原因而学不到精髓,不知道如何去做。于是只能局限于书本上学来的简单测试方法而已。即便有些人知道有压力测试和性能测试等测试方法,但如何针对产品实施并不清楚。

软件测试存在的误区:

(1)误区之一:软件开发完成后进行软件测试

人们一般认为,软件项目要经过以下几个阶段:需求分析,概要设计,详细设计,软件编码,软件测试,软件发布。据此,认为软件测试只是软件编码后的一个过程。这是不了解软件测试周期的错误认识。软件测试是一个系列过程活动,包括软件测试需求分析,测试计划设计,测试用例设计,执行测试。因此,软件测试贯穿于软件项目的整个生命过程。在软件项目的每一个阶段都要进行不同目的和内容的测试活动,以保证各个阶段的正确性。软件测试的对象不仅仅是软件代码,还包括软件需求文档和设计文档。软件开发与软件测试应该是交互进行的,例如,单元编码需要单元测试,模块组合阶段需要集成测试。如果等到软件编码结束后才进行测试,那么,测试的时间将会很短,测试的覆盖面将很不全面,测试的效果也将大打折扣。更严重的是如果此时发现了软件需求阶段或概要设计阶段的错误,如果要修复该类错误,将会耗费大量的时间和人力。

(2)误区之二:软件发布后如果发现质量问题,那是软件测试人员的错

这种认识很打击软件测试人员的积极性。软件中的错误可能来自软件项目中的各个过程,软件测试只能确认软件存在错误,不能保证软件没有错误,因为从根本上讲,软件测试不可能发现全部的错误。从软件开发的角度看,软件的高质量不是软件测试人员测出来的,是靠软件生命周期的各个过程中设计出来的。出现软件错误,不能简单地归结为某一个人的责任,有些错误的产生可能不是技术原因,可能来自于混乱的项目管理。应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。

7

论软件测试在软件质量中的作用

(3)误区之三:软件测试要求不高,随便找个人做都行

很多人都认为软件测试就是安装和运行程序,点点鼠标,按按键盘的工作。这是由于不了解软件测试的具体技术和方法造成的。随之软件工程学的发展和软件项目管理经验的提高,软件测试已经形成了一个独立的技术学科,演变成一个具有巨大市场需求的行业。软件测试技术不断更新和完善,新工具,新流程,新测试设计方法都在不断更新,需要掌握和学习很多测试知识。所以,具有编程经验的程序员不一定是一名优秀的测试工程师。软件测试包括测试技术和管理两个方面,完全掌握这两个方面的内容,需要很多测试实践经验和不断学习精神。

(4)误区之四:软件测试是测试人员的事情,与程序员无关开发和测试是相辅相成的过程

需要软件测试人员、程序员和系统分析师等保持密切的联系,需要更多的交流和协调,以便提高测试效率。另外,对于单元测试主要应该由程序员完成,必要时测试人员可以帮助设计测试样例。对于测试中发现的软件错误,很多需要程序员通过修改编码才能修复。程序员可以通过有目的的分析软件错误的类型、数量,找出产生错误的位置和原因,以便在今后的编程中避免同样的错误,积累编程经验,提高编程能力。

(5)误区之五:项目进度吃紧时少做些测试,时间富裕时多做测试

这是不重视软件测试的表现,也是软件项目过程管理混乱的表现,必然会降低软件测试的质量。一个软件项目的顺利实现需要有合理的项目进度计划,其中包括合理的测试计划,对项目实施过程中的任何问题,都要有风险分析和相应的对策,不要因为开发进度的延期而简单的缩短测试时间、人力和资源。因为缩短测试时间带来的测试不完整,对项目质量的下降引起的潜在风险,往往造成更大的浪费。克服这种现象的最好办法是加强软件过程的计划和控制,包括软件测试计划、测试设计、测试执行、测试度量和测试控制。

(6)误区之六:软件测试是没有前途的工作,只有程序员才是软件高手

由于我国软件整体开发能力比较低,软件过程很不规范,很多软件项目的开发都还停留在“作坊式”和“垒鸡窝”阶段。项目的成功往往靠个别全能程序员决定,他们负责总体设计和程序详细设计,认为软件开发就是编写代码,给人的印象往往是程序员是真正的牛人,具有很高的地位和待遇。因此,在这种环境下,软件测试很不受重视,软件测试人员的地位和待遇自然就很低了,甚至软件测试变得可有可无。随着市场对软件质量的不断提高,软件测试将变得越来越重要,相应的软件测试人员的地位和待遇将会逐渐提高。在微软等软件过程比较规范的大公司,软件测试人员的数量和待遇与程序员没有多大差别,优秀测试人员的待遇甚至比程序员还要高。软件测试将会成为一个具有很大发展前景的行业,软件测试大有8

论软件测试在软件质量中的作用

前途,市场需要更多具有丰富测试技术和管理经验的测试人员,他们同样是软件专家。这两年来国内软件测试人员的需求不断增大,越来越多的IT企业认识到了软件测试的重要性。

四,软件质量保证与测试课程对我的帮助

经过一个学期的学习,使我对软件质量保证与测试的方法和重要性及他的理论依据有了一定的认识。这是一门崭新的学科,目前在国内的发展仍处于"婴儿"阶段,特别感谢葛老师这个学期以来的辛勤教导,使我明白的了不仅要会编程,而且还需要学会软件质量测试,它是软件正确性的保证。只有掌握软件质量测试的方法,彻底学会应用这些测试方法和测试理念才能够在以后的编程学习和工作中 保证软件的质量,使自己的能力更上一层楼。

9

第二篇: 软件开发质量保障方案

一、质量管理内容

1.1. 编制和评审质量计划

制定质量保证计划:依据项目计划及项目质量目标确定需要检查的主要过程和工作产品,识别项目过程中的干系人及其活动,估计检查时间和人员,并制定出本项目的质量保证计划。

质量保证计划的主要内容包括:例行审计和里程碑评审,需要监督的重要活动和工作产品,确定审计方式,根据项目计划中的评审计划确定质量保证人员需要参加的评审计划。明确质量审计报告的报送范围。

质量保证计划的评审:质量保证计划需要经过评审方能生效,以确保质量保证计划和项目计划的一致性。经过批准的质量保证计划需要纳入配置管理。当项目计划变更时,需要及时更改和复审质量保证计划。

1.2. “过程和工作产品”的质量检查

根据质量保证计划进行质量的审计工作,并发布质量审计报告。

审计的主要内容包括:是否按照过程要求执行了相应的活动,是否按照过程要求产生了相应的工作产品。本项目中对质量的控制主要体现在不同阶段的审计当中。

1.3. 不符合项的跟踪处理

对审计中发现的不符合项,要求项目组及时处理,质量保证人员需要确认不符合项的状态,直到最终的不符合项状态为“完成”为止。

二、质量管理责任分配

开发项目上按照规范化软件的生产方式进行开发。每个项目除配备了项目开发所需角色外,还专门配备了质量保证小组、配置管理小组、测试小组来确保质量管理的实施,下面针对这三种角色进行说明: 2.1. 质量保证小组职责

质量保证小组作为质量保证的实施小组,在项目开发的过程中几乎所有的部门都与质量保证小组有关。质量保证小组的主要职责是:以独立审查方式,从第三方的角度监控软件开发任务的执行,分析项目内存在的质量问题,审查项目的质量活动,给出质量审计报告。就项目是否遵循已制定的计划、标准和规程,给开发人员和管理层提供反映产品和过程质量的信息和数据,使他们能了解整个项目生存周期中工作产品和过程的情况,提高项目透明度,从而支持其交付高质量的软件产品。

质量保证人员依据质量保证计划,通过质量审计报告向项目经理及有关人员提出已经识别出的不符合项,并跟踪不符合项的解决过程,通过审计周报或者审计月报向项目经理提供过程和产品质量数据,并与项目组协商不符合项的解决办法。

质量保证小组的检测范围主要包括:项目的进度是否按照项目计划执行,用户需求是否得到了用户的签字确认,软件需求是否正确的反映了用户的需求,是否将每一项用户需求都映射到软件需求;系统设计是否完全反映了软件需求;实现的软件是否正确的体现了系统设计;测试人员是否进行了较为彻底的和全面的测试;客户验收和交接清单是否完备;对于系统运行中出现的问题,维护人员是否记录了详细的维护记录;配置管理员是否按照配置管理计划建立了基线,是否严格控制变更过程,是否对配置库进行了维护。

2.2. 配置管理小组职责

配置管理活动的目的是通过执行版本控制、变更控制、基线管理等规程,借助配置管理工具的使用,来保证整个生命周期过程产生的所有配置项的完整性、一致性和可追溯性。配置管理是对工作成果(阶段工作成果和产品成果、进展状态成果)的一种有效保护形式,是反映项目及其工作产品的过去、现在、动态的资料和数据集中管理体现。

配置管理小组的主要职责包括:根据项目计划制定配置管理计划,建立配置库,为项目组人员分配配置库权限,创建需求、设计、开发、测试、交付阶段的基线。当纳入基线库的工作产品发生变更时,严格按照配置项变更控制过程执行变更,变更后建立新的基线。

2.3. 测试小组职责

作为质量控制的主要手段,如同软件开发一样,测试在执行之前,测试小组制定软件测试计划、测试用例的编写和执行工作。

测试可以分为如下几种类型:代码走查、单元测试、集成测试、系统测试。为了保证程序的质量,开发人员需要对同伴的代码进行代码走查,同时对自己编写的程序进行单元测试,确保程序编译、运行正确。

测试人员根据软件需求分析报告进行软件集成测试用例和系统测试用例的编写。对编写完成的测试用例提交项目组进行评审,同时质量保证人员对评审过程和工作产品进行监测。

测试人员根据测试计划和测试用例执行测试用例,并对发现的缺陷进行记录,只有这样才能确保项目组开发的软件产品满足用户需求。在完成集成测试之后,可以进行软件系统测试,系统测试包括对软件进行功能测试、性能测试、安全测试、压力测试。只有进行了系统测试软件测试才是完整的。系统测试在本项目中占有重要的地位,性能要求有可能改变软件的设计,为避免造成软件的后期返工,测试在性能上需要较大的侧重。

三、 质量保证措施

通过质量管理责任的分配,通过如下几个方面来进行质量保证的实施过程:

3.1. 项目进度

项目计划的制定为工程项目实施、管理和支持工作、项目进度、成本、质量及过程产品的有效控制打下了良好的基础,以便所有相关人员能够按照该计划有条不紊地开展工作;制定《项目计划》,必须获得相关干系人的认可,并以此作为项目跟踪的基础。

项目进度是项目进行是否顺利的最直观表现。制定合理的项目计划首要前提是选择从事类似规模和类似业务项目的有经验的项目负责人参加制定项目进度计划。

项目计划由项目负责人制定,由项目各小组组长、项目成员、干系人、质量保证人员参加一起进行评审。评审过程主要讨论项目计划的可行性,对其中不合理的地方提出修改意见,对计划中不合理的地方进行修改完善,并由质量保证人员对其结果进行跟踪处理,以确保项目计划完整性、可行性,项目计划评审通过后,交由配置管理人员进行配置管理。

在计划实施过程中,按项目计划中里程碑为界限,将整个开发周期划分为若干阶段。根据里程碑的完成情况,适当的调整每一个较小的阶段的任务量和完成的任务时间,动态跟踪和动态调整,以利于项目质量保证的实施。

实际运作中,质量保证人员在对项目执行过程进行检查时,对于发现的项目偏差,以质量审计报告的形式提交项目负责人。由项目负责人组织人员对计划进行维护,对于已经变动的项目计划,由配置管理进行配置管理。

3.2. 需求分析

需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。

本项目中将邀请公司业务顾问参与需求调研,以便保证需求调研质量,同时形成用户需求说明书。需求评审时由公司管理层、项目实施层共同进行,对于通过用户确认的需求,交由配置管理员形成需求基线。

用户需求在招标方确认后,由系统分析人员形成软件需求分析报告,同时对软件需求分析报告进行评审,对于评审通过的软件需求分析报告可以交由测试人员进行测试计划和测试用例的编写。

对于开发过程存在的需求变动,需要填写变更申请单发给项目经理,在质量保证人员参加的情况下,对这个变更进行评审,由项目经理组织项目组成员一起讨论实施变更的可行性及实施后所带来的影响,对于影响小的变更直接记录,大的变更则需要形成正式的变更报告,无论那种变更都需要对相应的文档实施同步变更(包括需求分析报告、系统设计、安装手册、操作手册等)。但是对于无法实现或是变更会带来巨大的影响而将导致进度的延期,这时,将变更报告提交给用户并召开协调会议,讨论变更取舍问题或是项目进度变更问题。

决定变更之后,由项目负责人组织实施变更,测试人员检测变更结果,而质量保证人员监督变更实施过程,并协助配置管理员对变更后的成果进行配置管理。变更实施完后,运行前还需要协助用户一同测试并由用户签字后同意方可上线。

3.3. 系统设计

优良的体系结构应当具备可扩展性和可配置性,而好的体系结构则需要好的设计方法,需要针对项目的结构、项目的特征和用户的需求来分析。项目中将安排我公司高级系统架构师担当项目总体设计师,汇同总体设计组完成系统设计。

另外对公共类模块的开发。由总体设计组通过对需求的仔细研究,尽可能的识别出公共类,并进行定义和设计,以减少重复工作。对于项目组提供的设计文档,由项目经理组织,质保小组成员参与,对其设计文档进行评审,及时发现设计中可能存在的错误,降低项目开发风险,同时确保设计文档能为开发人员、测试人员提供确实的指导。对于可复用的设计进行提取作为公共库设计和开发,提供项目组。最后交由配置管理员进行设计文档的版本控制。

3.4. 系统实现

系统实现的目的是依据系统设计文档,由程序员进行程序编写,以便实现设计要求,系统实现过程中,开发人员需要对模块进行代码走查和交叉单元测试,以保证模块代码质量。软件实现也就是代码的生产过程。根据上一阶段形成的设计文档,程序员在完成代码之后,可以开始编码并且进行代码走查和单元测试。对于测试完成的程序可以交由配置管理人员进行配置管理。

3.5. 系统测试

系统开发涉及到一系列的过程,每一个过程都有可能引入缺陷,系统质量的好坏直接关系到正常使用和日后的维护。在开发过程中,我们将质量控制贯穿于所有阶段和所有参与系统的人员中,包括系统分析、设计和编码。分阶段的评审和测试是软件质量的有力保障。

系统存在平台测试和应用系统的测试以及最终的测试。由于测试也存在协调的问题,如问题定位,在应用系统发现一个错误,到底是应用系统的自身的错误还是中间件存在的错误,需要开发人员进行准确的判断。 为了达到良好的测试目的,本系统测试工作由测试组来完成,主要采用下列方法进行系统的测试:

从测试方法上来说,分为黑盒测试和白盒测试:

黑盒测试:着重于测试软件系统的外部特性;根据系统的设计要求,每一项功能都要进行逐个测试,检查其是否达到了预期的要求,是否能正确地接受输入,是否能正确地输出结果。

白盒测试:由于软件的所有源代码都要由项目组成员编写,对其内部的逻辑规则和数据流程,都要进行测试,以检查其代码编写是否符合设计要求。

从测试策略上来说分为集成测试和系统测试:

集成测试:在所有模块都通过了单元测试后,将各个模块组装在一起,进行组装测试,用于发现与接口相联系的问题。在通过组装测试后,将经过单元测试的模块组装成一个符合设计要求的软件结构。

系统测试:项目通过了以上的测试步骤后,与其它系统元素(如硬件服务器、网络系统等)进行集成测试和系统级的确认测试,将各种可能的缺陷完全排除掉,从根本上保证系统的长期稳定运行。

3.6. 系统维护

本项目中,技术支持小组的任务一方面是保证对项目客户的跟踪服务,另一方面是确保该项目的技术咨询工作。

系统维护期,对于一般性的错误,如操作不当等引起的问题,全部由技术支持小组执行完成,但需要用户测试确认上线。如果较大的修改则需要走变更控制流程,填写变更申请,经项目组讨论分析可行方案在由技术支持小组实施,通过测试后方可提交用户。在这个过程中质量人员需要对维护过程和维护记录单进行检查。

第三篇:软件工程项目质量管控方案

1 项目质量管控

1.1目的

本计划的目的在于对所开发的软件规定各种必要的质量保证措施,以保证所交付的软件能够满足项目预定需求,能够满足本项目总体组制定的且经领导小组评审批准的该软件系统需求规格说明书中规定的各项具体需求。

软件开发项目组在开发软件系统所属的各个子系统(其中包括为本项目研发或选用的各种支持软件、组件)时,都应该执行本计划中的有关规定,但可根据各自的情况对本计划作适当的剪裁,以满足特定的质量保证要求,剪裁后的计划必须经项目组相关负责人批准。 1.2管理 1.2.1机构

在本软件系统整个开发期间,必须成立软件质量管理小组负责质量保证工作。 软件质量保证组和项目负责人及各领导组必须检查和督促本计划的实施。系统的软件质量保证人员有权直接向各领导组报告该项目的软件质量状况。系统的软件质量保证人员应该根据对项目的具体要求,制订必要的规程和规定,以确保完全遵守本计划的所有要求。 1.2.2任务

软件质量保证工作涉及软件生存周期各阶段的活动,应该贯彻到日常的软件开发活动中,而且应该特别注意软件质量的早期评审工作。因此,对于所负责系统,要按照本计划的各项规定进行各项评审工作。软件质量保证小组要参加所有的评审与检查活动。评审与检查的目的是为了确保在软件开发工作的各个阶段和各个方面都认真采取各项措施来保证与提高软件的质量。在软件开发过程中,要进行如下几类评审与检查工作:

a. 阶段评审:在软件开发过程中,要定期地或阶段性地对某一开发阶段或某几个开发阶段的阶段产品进行评审。在软件及其所属各子系统的开发过程中,应该进行以下三次评审:第一次评审软件需求、概要设计、验证与确认方法;第二次评审详细设计、功能测试与演示,并对第一次评审结果复核;第三次是功能检查、物理检查和综合检查。

阶段评审工作要组织专门的评审小组,原则上由项目总体小组成员或特邀专家担任评审组长,评审小组成员应该包括项目所有成员、质量保证人员、和上级主管部门的代表,其他参加人员视评审内容而定。

每一次评审工作都应填写评审总结报告(RSR)、评审问题记录(RPL)、评审成员签字表(RMT)与软件问题报告单(SPR)等四张表格。

b. 日常检查:在软件的工程化开发过程中,各子系统应该填写项目进展报表,即软件进展报表表头、软件阶段进度表、软件阶段产品完成情况表、软件开发费用表等四张表格。项目组杨大亮或其他领导通过项目进展季报表发现有关软件质量的问题。

c. 软件验收:必须组织专门的验收小组对软件系统及其所属各个子系统进行验收。验收工作应该满足各业务部门、领导部门及相关使用部门的需求,质量管理小组验收内容应包括文档验收、程序验收、演示、验收测试与测试结果等几项工作。而公司领导层、业务部门验收软件的功能演示成果及使用手册等。 1.2.3职责

在项目的软件质量保证小组中,其各方面人员的职责如下: a. 组长全面负责有关软件质量保证的各项工作;

b. 全组负责有关阶段评审、项目进展报表检查以及软件验收准备等三方面工作中的质量保证工作;

c. 项目的专职配臵管理人员负责有关软件配臵变动、软件媒体、文件控制以及对软件提供商的控制(在系统使用相关正版软件厂商提供的产品时生效)等三方面的质量保证活动;

d.全组负责测试复查和文档的规范化检查工作;

e. 用户体验师反映用户的质量要求,并协助检查各类人员对软件质量保证计划的执行情况; f. 项目的专职质量保证人员协助组长开展各项软件质量保证活动,负责审查所采用的质量保证工具、技术和方法,并负责汇总、维护和保存有关软件质量保证活动的各项记录。 1.3文档 1.3.1基本文档

为了确保软件的实现满足认可的需求规格说明书中规定的各项需求,软件开发项目组至少应该编写以下八个方面内容的文档: a. 软件需求规格说明书(SRS);

b. 软件设计说明书(SDD),对一些规模较大或复杂性较高的项目,应该把本文 档分成概要设计说明书(PDD)与详细设计说明书(DDD)两个文档; c. 软件测试计划(STP); d. 软件测试报告(STR); e. 用户手册(SUM); f. 源程序清单(SCL); g. 项目实施计划(PIP); h. 项目开发总结(PDS)。 1.3.2其他文档

除了基本文档之外,对于尚在开发中的软件,还应该包括以下四个方面的文档:

a. 软件质量保证计划(SQAP); b. 软件配臵管理计划(SCMP); c. 项目进展报表(PPR); d. 阶段评审报表(PRR)。

注:前面两个文档由项目组制订,属于管理文档,项目组应充分考虑执行计划中规定的条款。后面两类文档属于工作文档,就是本计划的2.2中提到的四张阶段评审表与四张项目进展季报表,项目组按照规定要求认真填写有关内容。 1.3.3文档质量的度量准则

文档是软件的重要组成部分,是软件生存周期各个不同阶段的产品描述。验证和确认就是要检查各阶段文档的合适性。评审文档质量的度量准则有以下六条: a. 完备性:所有承担软件开发任务的项目,都必须按照GB 8567(是国家标准局的指南文档,名称叫《计算机软件产品开发文件编制指南

》)的规定编制相应的文档,以保证在开发阶段结束时其文档是齐全的。 b. 正确性:在软件开发各个阶段所编写的文档的内容,必须真实地反映该阶段的工作且与该阶段的需求相一致。

c. 简明性:在软件开发各个阶段所编写的各种文档的语言表达应该清晰、准确简练,适合各种文档的特定读者。

d. 可追踪性: 在软件开发各个阶段所编写的各种文档应该具有良好的可追踪性。文档的可追踪性包括纵向可追踪性与横向可追踪性两个方面。前者是指在不同文档的相关内容之间相互检索的难易程度;后者是指确定同一文档某一内容在本文档中的涉及范围的难易程度。

e. 自说明性:在软件开发各个阶段所编写的各种文档应该具有较好的自说明性。文档的自说明性是指在软件开发各个阶段中的不同文档能独立表达该软件其相应阶段的阶段产品的能力。

f. 规范性:在软件开发各个阶段所编写的各种文档应该具有良好的规范性。文档的规范性是指文档的封面、大纲、术语的含义以及图示符号等符合有关规范的规定。 1.4评审和检查

对新开发的或正在开发的各个子系统,都要按照GB 8566(计算机软件开发规范)的规定认真进行定期的或阶段性的各项评审工作。就整个软件开发过程而言,至少要进行软件需求评审、概要设计评审、详细设计评审、软件验证和确认评审、功能检查、物理检查、综合检查以及管理评审等八个方面的评审和检查工作。在软件及其所属各个子系统的开发过程中,把前七种评审分成三次进行。在每次评审之后,要对评审结果作出明确的管理决策。下面给出每次评审应该进行的工作。 1.4.1第一次评审

第一次评审会对软件需求、概要设计以及验证与确认方法进行评审。 a. 软件需求评审(SRR)应确保在软件需求规格说明书中规定的各项需求的合理性。

b. 概要设计评审(PDR)应评价软件设计说明书中的软件概要设计的技术合适性。 c. 软件验证和确认评审(SV&VR)应评价软件验证和确认计划中确定的验证和确认方法的合适性与完整性。 1.4.2第二次评审

第二次评审会要对详细设计、功能测试与演示进行评审,并对第一次评审结果进行复核。如果在软件开发过程中发现需要修改第一次评审结果,则应按照《软件配臵管理计划》的规定处理。

a. 详细设计评审(DDR)应确定软件设计说明书中的详细设计在满足软件需求规格说明书中的需求方面的可接受性。

b. 编程格式评审应确保所有编码采用规定的工作语言,能在规定的运行环境中运行,并且符合GB 8566中提倡的编程风格。在满足这些要求之后,方可进行测试工作。

c. 测试工作评审应对所有的程序单元进行静态分析,检查其程序结构(即模块和函数的调用关系和调用序列)和变量使用是否正确。在通过静态分析后,再进行结构测试和功能测试。在结构测试中,所有程序单元结构测试的语句覆盖率Co必须等于100%,分支覆盖率C1必须大于或等于85%。要给出每个单元的输入和输出变量的变化范围。各个子系统只进行功能测试,不单独进行结构测试,因而要登录程序单元之间接口的变量值,力图使满足单元测试的C1和Co准则的那此测试用例在子系统功能测试时得到再现。测试工作评审要检查所进行的测试工作是否满足这些要求。特别在评审功能测试工作时,不仅要运行变量的等价值,而且要运行变量的(合法的和非法的)边界值;不仅要运行开发组给出的测试用例,而且要允许运行其他相关人员、评审人员选定的采样用例。 1.4.3第三次评审

第三次评审会要进行功能检查、物理检查和综合检查。这些评审会应在集成测试阶段结束后进行。

a. 功能检查(FA)应验证所开发的软件已经满足在软件需求规格说明书中规定的所有需求。

b. 物理检查(PA)应对软件进行物理检查,以验证程序和文档已经一致、并已做好了交付的准备。

c. 综合检查(CA)应验证代码和设计文档的一致性、接口规格说明之间的一致性(硬件和软件)、设计实现和功能需求的一致性、功能需求和测试描述的一致性。 1.5软件配臵管理

对工程化软件系统的各项配臵进行及时、合理的管理,是确保软件质量的重要手段,也是确保该软件具有强大生命力的重要措施。有关工程化软件的配臵管理工作,可按软件项目组编写的《软件配臵管理计划》。在软件配臵管理工作中,要特别注意规定对软件问题报告、追踪和解决的步骤,并指出实现报告、追踪和解决软件问题的机构及其职责。 1.6工具、技术和方法

在项目所属的各个子系统(其中包括有关的支持软件)的研制与开发过程中,都应该在各自的软件质量保证活动中合理地使用软件质量活动的支持工具、技术和方法。这些工具主要有下列三种:

a.软件测试工具。它支持用java语言编写的模块的静态分析、结构测试与功能测试。主要功能为:协助测试人员判断程序结构与变量使用情况是否有错;给测试人员提供模块语句覆盖率Co和分支覆盖率C1的值,并显示未覆盖语句和未覆盖分支的号码及其分支谓词,给出不同测试用例有效性的表格;同时提出功能测试的有效情况,并协助组织最终交付给用户的有效测试用例的集合。 b. 软件配臵管理工具。它支持用户对源代码清单的更新管理以及对重新编译与连接的代码的自动组织;支持用户在不同文档相关内容之间进行相互检索并确定同一文档某一内容在本文档中的涉及范围;同时还应支持软件配臵管理小组对软件配臵更改进行科学的管理。 c. 文档辅助生成工具与图形编辑工具。它主要协助用户绘制描述程序流程与结构的DFD图与SC图、绘制描述软件功能(输入、输出关系)的曲线以及绘制描述控制系统特性的一些其他图形,同时还可生成若干与软件文档编制大纲相适应的文档模块板。用户利用这个工具的正文与图形编辑功能以及上述辅助功能,可以比较方便地产生清晰悦目的文档,也有利于对文档进行更改,还有助于提高文档的编制质量。 1.7媒体控制

为了保护计算机程序的物理媒体,以免非法存取、意外损坏或自然老化,工程化软件系统的各个子系统(包括支持软件)都必须设立软件配臵管理人员,并按照软件项目小组制订的、且经领导层批准的《软件配臵管理计划》妥善管理和存放各个子系统及其专用支持软件的媒体。 1.8记录收集、维护和保存

在项目及其所属的各个子系统的研制与开发期间,要进行各种软件质量保证活动,准确记录、及时分析并妥善保存有关这些活动的记录,是确保软件质量的重要条件。在软件质量保证小组中,应有专人负责收集、汇总与保存有关软件质量保证活动的记录。

第四篇:软件及系统集成质量控制

软件及系统集成在实施阶段的质量控制

1、项目实施阶段的质量控制 (1)对开工准备进行质量控制

项目实施前,采购单位组织召开三方会议,要求承建单位做好开工准备。监理单位对以下内容进行审核:

<1>审核承建单位的资质及项目组成员资质及经验。

<2>审核确认承建单位的技术方案、实施方案、施工图纸、进度计划、网络拓扑图等。

<3>严格审核根据项目需要而增加的设计图纸,并纠正项目建设中的设计缺陷。

<4>严格审核并确认承建单位的质量控制体系、质量保证方法等。 (2)对项目采购硬件设备、系统软件进行质量控制

监理单位应组织对项目采购硬件设备的数量、型号、技术指标进行复核确认;对定制软件的数量、功能等进行复核确认;对于重要设备可依据承建合同、技术标准或事先约定的方法检测其功能和性能;对于数量较大的同类型产品,监理单位可采取抽样方法进行测试;必要时,监理单位应要求承建单位提交第三方测试机构出具的测试报告,并核验产品认证证书、检测报告的真实性、有效性。主要设备的到货验收应包括:

<1>根据承包商提供的设备装箱单和提货单,对货物进行外包装检查;

<2>开箱检查,对照设备订货合同,保证设备型号、类别准确无误,数量正确,附件配套,文档齐全;

<3>记录产品的唯一性标识,如产品序列号,系统软件的版本和授权;

1 <4>必要时,可确认设备的合法性; <5>进行加电自检测试;

<6>三方共同填写设备到货验收单;

<7>对采购的系统软件的数量、版本、型号等进行复核确认,对知识产权所属进行鉴别;

<8>对应用软件定制开发过程中的应用软件详细设计,数据库数据模型详细设计,以及应用软件各模块的定制开发、测试、上线和应用软件用户培训工作进行全程监理;

<9>平台建设要符合国家有关标准规范和实际业务需求,达到设计先进、功能完善、方便操作等效果,要通过国家相关测评中心的测试;

<10>开发的应用软件要符合现有系统发展实际情况,遵循总体信息架构规范设计;

<11>确保所采用的技术为业界主流技术;

<12>确保所有支撑系统基于统一的技术平台上设计开发,提高系统的整体性能和可靠性。

<13>确保开发的软件具备标准的软件体系结构、内部和外部接口,提供多种开发接口;保证系统能与其它系统进行快速、顺利的信息交换,便于系统扩展和升级;

<14>要保证开发的软件有足够的可扩展性和互连性,系统的设计和建设应充分考虑现有的网络与硬件资源和扩展及系统二次开发的需要,并支持未来可能出现的新业务的需要;

<15>确保软件开发过程中所采用的技术先进合理,构建的平台稳定有效、安全可靠、性能通过上线前压力测试。

<16>及时发现软件测试、试运行过程中存在的各种问题,督促承

2 建单位对软件进行完善,确保软件功能完善。

(3)对机房建设的质量控制

<1>按照国家计算机机房建设标准对信息中心机房建设方案进行审核;

<2>对施工单位资质、施工人员资格、操作工人持证上岗情况检查,符合要求的允许进场施工;

<3>审查施工组织设计(方案):对施工程序及其可行性重点审核; <4>对隐蔽工程、顶面、地面、墙体、门窗、电路等进行检查,要求满足施工规范。

(4)对项目建设的施工过程进行质量控制

<1>设备的安装调试,包括各类设备的采购、进场、配置、调试和管理等;

<2>系统集成、联调,包括软硬件系统集成、系统连通性验证; <3>系统拓扑图、设备布局图、配线图;

<4>基础设施、网络服务、网络安全和网络管理系统各部分实施方案的合理性和可行性,与承建合同、工程设计方案的符合性;

<5>项目实施组织,包括实施人员、实施顺序、实施测量、安全措施、特殊处理措施等;

<6>项目实施计划包括实施步骤、实施方法、实施进度等; <7>项目实施方案,包括实施组织、实施方法、实施进度,以及有关质量、安全等主要技术和组织措施。

(5)对项目中各个系统的安装调试的质量控制

监理单位从以下方面的安装调试进行监理,确认其达到项目设计方案和实施方案的要求:

<1>各相关系统设备的安装、配置及调试;

3 <2>操作系统、网络管理系统和其他系统软件的安装和配置监理; <3>对设备进行加电自检;

<4>检查操作系统版本以及补丁安装情况,对系统安装的服务进行确认;

<5>对热拔插冗余设备进行平行测试(包括风扇、电源、硬盘等); <6>对服务器进行联机操作,检测服务器和数据库的系统性能,形成记录存盘;

<7>对硬设备进行热插拔试验和故障恢复检测,确认设备的可靠性和故障恢复能力(必要时);

<8>检查全部设备运行状态指示和报警指示,要求系统工作正常; <9>对存储备份系统设备加电自检,检查全部设备运行状态指示和报警指示,要求系统工作正常;

<10>对热拔插冗余设备进行平行检验(包括:控制器、硬盘、风扇、电源等),确认设备的可靠性和故障恢复能力;

<11>根据备份检查备份软件的备份策略,使用配置的备份策略对系统的备份及恢复进行测试;

<12>做好实施阶段的信息管理和关系协调工作。 (6)系统试运行阶段的质量控制

<1>监理单位要求承建单位为系统试运行过程的实施制定详细的计划。

<2>必要时,监理单位监督承建单位协助采购单位的系统安装活动,安装活动和结果应形成文档。

<3>监理单位协助承建单位和采购单位按计划实施试运行活动。 <4>监理单位要求承建单位配合采购单位试运行过程中的测试,测试的结果应形成文档。

4 <5>监理单位监督承建单位解决系统试运行中发现的问题和不合格项,并形成监理意见。

5

第五篇:软件质量工程师的职责

随着科学技术的不断发展进步,企业之间的竞争越来越激烈。软件企业要想在竞争中发展生存,提高软件产品质量已成为必要条件。在一些高能力成熟度软件企业中,专门成立了质量保证和控制职能部门,起着提高项目管理透明性和确保软件产品质量的双重作用。软件质量工程师是隶属于质量监控部门的工程师,他们独立于项目对质量保证经理负责,以独立审查的方式监控软件生产任务的执行,给开发人员和管理层提供反映产品质量的信息和数据,辅助软件工程组得到高质量的软件产品。每位软件质量工程师可以同时介入多个项目。

软件质量工程师的工作原则是“用过程质量确保产品质量”。 软件质量工程师在软件生存期的各个阶段起着不同的作用,是软件项目开发过程中不可或缺的重要成员。软件质量工程师的分为组织相关的和项目相关的职责。

1.组织相关的

?与客户及时沟通,确保客户满意

软件质量工程师应当担当“客户代表”的角色,及时与客户进行沟通,了解客户对产品质量、开发进度、开发费用等方面的需求。定期进行客户满意度调查,对客户反馈信息进行分析,为项目管理提供分析结果,及时根据客户需求协助项目经理调整项目开发计划。?内部评审

软件质量工程师参与项目的内部评审活动,其包括确定评审员,为评审组织确定评审内容,确保评审按既定的过程执行,并向管理团队通报评审结果。?审计

软件质量工程师参与改进并跟踪现有审计制度以适应项目和产品解决方案发展的需要。软件质量工程师相互协作以确保不断地改进现有的审计内容和审计制度,提高管理的透明性。?度量

其职责主要是进行量化过程管理,包括完善和执行统计过程控制,贯彻执行度量标准,通过数据采集和分析完善度量基准。

2.项目相关的?为相关项目提供过程管理和质量保证咨询

软件质量工程师参加项目启动会议,为制定项目开发计划提供相关历史数据。为项目开发人员提供质量保证相关知识的咨询。

?帮助项目建立切实可行的质量保证目标,选择适当的质量保证基准

软件质量工程师根据客户需求、企业内部质量审查标准、行业标准,按照项目类别建立项目质量保证目标,与项目成员一起讨论并进行必要的修改。明确度量标准和数据收集方法,在项目实施过程中根据建立的目标对项目进行实时监控。

?制定项目质量保证计划

软件质量工程师根据项目类别、质量保证目标、项目开发进度制定相应的质量保证计划。?项目审查

软件质量工程师应当参与必要的项目审查。审查内容包括:

- 产品需求说明书

- 软件项目开发计划

- 测试计划

- 测试总结报告

?数据收集和分析

软件质量工程师负责按软件质量保证计划收集与项目相关的数据,通过对数据进行分析,及时将与质量相关的反馈和建议汇报给项目负责人和高级主管。项目负责人根据反馈数据调整项目开发计划。

?项目审计

软件质量工程师负责鉴别项目开发中与项目质量保证计划中规定的标准和过程不相符的内容,当这些内容与计划偏离比较多,以至于可能影响到项目的及时高质量完成时,可以考虑召开项目审计会议。

软件质量工程师负责会议的计划、主持,确保审计所有偏离内容,并汇报审计结果。?系统测试

软件质量工程师可以介入系统测试,确保软件产品符合质量要求,满足客户需求。软件质量工程师帮助系统测试工程师收集数据,将数据分析结果反馈给项目负责人、系统测试工程师和项目组其他成员。

?错误预防

软件质量工程师负责提供历史和当前数据,帮助项目了解项目所处状态、进度和存在的弱点。所有的错误预防工作都应由项目负责人计划并跟踪,软件质量工程师负责监督。

上一篇:入党宣言誓词范文下一篇:人力资源管理范文