软件质量评价和保证(精)
- 格式:ppt
- 大小:324.00 KB
- 文档页数:60


软件质量管理的方法、工具和保证
中国科学院软件研究所.北京市软件生产与质量保证联合实验室
第一作者简介:
李怀璋 博士 副研究员 高级项目经理
现就职于中国科学院软件研究所、北京市软件生产与质量保证联合实验室。
主要研究方向为软件工程,尤其是软件质量管理和软件过程改进等方面的理论研究、工具开发和相关培训等工作。已经和正在主持、负责多项国家“863”项目。在国内重要核心期刊发表相关学术论文十几篇。出版的著作包括《软件质量管理标准、技术和实践》(合著)和《软件质量保证指南》(译著,即将出版)等。
写在前面的话:
我们中国的软件产业是如此之年轻,如同一个年轻人,一个富有青春气息的朝气蓬勃的年轻人,在其发展中,是否也容易忽略了一些很基本的东西?
当我们热衷于追求某种时尚和新技术时,是否也容易忽略了一些最基本但却非常重要的东西,而且这些东西往往是来自于我们的生活经验。
1、从问题入手
对于一个发展中的组织,问题的暴露是很自然的,改进的过程实际上就是在按照计划执行与跟踪的过程中进行问题的发现、纠正和预防的过程。那么,发现问题、收集和整理问题、分析问题、排列问题重要性、提出解决措施、在部分区域演练、全面推广就成为过程改进的一个系统化的步骤。
图1 面向问题的软件质量保证框架
实际上,无论是W.Edward Deming博士提出的Deming环,即PDCA(Planning, Do, Check,
Action)环,还是后来SEI(美国卡耐基梅隆大学的软件工程研究所)在此基础上提出的IDEAL(Initiating, Diagnosing, Establishing,Acting, Leveraging)模型,都是软件过程改进的一个基本过程和方法。
实际上,无论是高层管理者,还是SQA、项目经理、软件工程师将自己工作中经常犯的错误随时记录下来,都是一个问题的收集过程;在此基础上再进行问题归类、问题统计和原因分析,然后再进行问题排序、针对问题进行纠正、纠正措施或预防措施等,并形成这样一个自反馈系统,就可以实现持续的过程改进。面向问题的软件质量保证框架如图1所示。
。蹬 。鑫。 No.1 2002 (Series No.78)
软件质量的评价和保障‘
Evaluation and Guarantee of Software Quality
李JII (华东电子工程研究所,合肥230031)I.
【摘要】简迷了软件质量的概念,说明了如何评价软件的质量以及软件质量的保障方法。 关键词软件质量质量评价质量保障
Abstract{This paper describes briefly the concept of software qualitytintroduces how to evaluate the qtm[ity of software and the way for guaranteeing software quality. Key words:Software quality,Quality evaluation,Quality guarantee
1 引言
随着我国国防水平的不断提高,信息技 术在武器装备中的运用越来越多,软件确实 起到了武器系统的驱动器、控制器、威力倍增 器的功能。然而,软件产品并非100 可靠, 我们简单回颐近年来发生的一些重大事故:
(1)1 996年欧洲航天局阿里亚那一5首 次发射失败,原因为软件问题; (2)1999年美国用大力神发射军用通
信卫星,由于软件问题,卫星未能进入预定轨
道; (3)计算机千年虫问题,使人们花费了
巨大的人力和物力资源。 软件危机是美国在6o年代提出的概念,
随着软件工程的实麓,软件危机可以得到有 效的控制,几十年过去了,现已进入了21世 纪,硬件超常速的发展为我们展现了一个美
好的前景,那么,软件危机是否根除了呢?与 硬件的发展相比,答案是否定的,虽然目前硬 件性能越来越高、软件的开发工具越来越多、
越来越先进,但依然存在软件质量不高、开发 经费一再突破、研制周期一拖再拖的现象,至 今尚未找到一种有效的开发技术或者是管理 技术,能够在软件生产率、可靠性、简化开发 方法方面发生质的飞跃。微软公司新操作系
第9章 软件质量和软件质量保证体系
9.1 软件质量
1.1.1 软件质量特性
什么是软件质量?不同人或组织的看法各不相同。按照ISO/IEC 9126-1991
(我 国GB/T16260-1996)“信息技术软件产品评价、质量特性及其使用指南”国际 标准,认为软件质量(Software Quality)是与软件产品满足明确或隐含需求 的能力有关的特征和特性的总和,例如,符合规格说明。简而言之,软件质量是 软件一些特性的组合,它仅依赖于软件本身。
1.1.2 软件质量评价
评价软件质量可从三个方面进行,即产品或中间产品、过程(即软件生产所需的
资源和活动)和项目。
评价可按如下三步进行:
1、定义质量需求
质量需求包含两个方面:①问题规定或隐含的需求;②软件质量标准和其它技术
信息。
2、准备评价
首先选择质量度量;然后定义质量等级;再定义评估准则。
由于一般情况下,不可能对质量特性进行直接度量,从而应选择与质量特性相关
的且可定量的软件特性加以度量。定义质量等级是依据应用问题的需求将质量度
量值分割成若干不同满意程度的等级,如优秀、合格与不合格等。定义评估准则
是为了综合软件不同质量特性的评价结果,可采用判定表或加权平均法;同时还
可兼顾其它因素,如时间、成本等。
3、评价过程
评价过程实际上是对软件产品就第2步中准备的评价内容进行实施,也分3步:
①测量——把选定的质量度量应用到软件产品上;
②评级——确定某测量值的等级;
③评估—一根据评估准则确定产品质量,并依据管理准则判定产品是否可通过验
收或是否发行等等。 1.1.3 软件质量保证 软件的质量保证也和一般的质量保证一样,是确保软件产品从诞生到消亡为止的 所有阶段的质量的活动。软件质量保证由各种任务构成,分别与两种不同的参与 者相关——负责技术工作的软件工程师和负责质量保证的计划、监督、记录、分 析及报告工作的软件质量保证(SQA)小组。软件工程师通过采用可靠的技术方 法和措施,进行正式的技术复审、执行计划周密的软件测试来保证软件质量。SQA 小组主要辅助软件工程小组得到高质量的最终产品,对项目准备SQA计划,如确 定需要进行的评价、需要进行的审计和复审、项目可采用的标准等;参与开发项 目的软件过程描述,以保证该过程与组织政策、内部软件标准、外界所订标准以 及软件项目计划的其它部分相符;复审各项软件工程活动,对其是否符合定义好 的软件过程进行核实;审计指定的软件工作产品,对其是否符合定义好的软件过 程中的相应部分进行核实;确保软件工作及工作产品中的偏差已被记录,并根据 预定规程进行处理;记录所有不符合的部分,并报告给高级管理者;等等。??
软件测试与质量保障
近年来,随着信息化时代的到来和软件应用范围的不断扩大,软件测试和质量保障成为了软件开发领域中非常重要的环节。本文将从软件测试的定义、软件测试的分类、软件测试的流程以及软件测试的意义等方面进行探讨。
一、软件测试的定义
软件测试是指在计算机系统或应用程序开发过程中,通过运行测试数据,检验软件系统是否满足设计要求,并发现、诊断、修正软件缺陷的过程。它是指通过一定的手段和方法,对计算机软件进行严格、全面的检查,保证级别或满足一定标准的软件产品能够正确、有效地运行。
二、软件测试的分类
1.黑盒测试:黑盒测试是指在测试过程中不关心被测试软件的内部结构和实现,从外部对软件进行功能测试。
2.白盒测试:白盒测试是指透过软件内部结构和实现的细节,对软件进行设计、测试和维护的一种测试方法。
3.灰盒测试:灰盒测试介于黑盒测试和白盒测试之间。它既要考虑输入输出的数据,又要考虑内部结构的实现。
三、软件测试的流程
软件测试的流程主要包括:
1.需求分析:软件测试应该从需求分析开始,通过理解需求、分析需求,确定测试的范围、测试的目的等。
2.测试计划:在本阶段,测试团队要进行计划测试项目的时间、人力、资源等,确定测试时间表和测试目标及范围等。
3.测试用例设计:在本阶段,测试人员要根据需求文档和测试计划制定测试用例,完整覆盖软件功能,并考虑异常输入和边界情况测试。
4.测试执行:在本阶段,根据测试计划,执行测试用例,并对测试过程中发现的问题进行记录和修复。
5.测试报告:在本阶段,测试团队应该对测试结果进行分析和总结,并编写测试报告、提供测试建议,以便软件开发人员及时修复问题,提高软件质量。
四、软件测试的意义
1.保证软件质量:软件测试是提高软件质量的有效手段。软件测试通过全面、严格的测试和评估手段协助软件开发人员发现并修复缺陷,确保软件质量。
2.减少用户投诉:软件测试可以通过检验软件功能是否符合用户需求,减少用户使用过程中的不满,提高用户满意度。