软件工程导论 教学课件 ppt 作者 陈明 08第八章 软件质量与质量保证

上传人:E**** 文档编号:89324671 上传时间:2019-05-23 格式:PPT 页数:83 大小:4.30MB
返回 下载 相关 举报
软件工程导论 教学课件 ppt 作者 陈明 08第八章 软件质量与质量保证_第1页
第1页 / 共83页
软件工程导论 教学课件 ppt 作者 陈明 08第八章 软件质量与质量保证_第2页
第2页 / 共83页
软件工程导论 教学课件 ppt 作者 陈明 08第八章 软件质量与质量保证_第3页
第3页 / 共83页
软件工程导论 教学课件 ppt 作者 陈明 08第八章 软件质量与质量保证_第4页
第4页 / 共83页
软件工程导论 教学课件 ppt 作者 陈明 08第八章 软件质量与质量保证_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《软件工程导论 教学课件 ppt 作者 陈明 08第八章 软件质量与质量保证》由会员分享,可在线阅读,更多相关《软件工程导论 教学课件 ppt 作者 陈明 08第八章 软件质量与质量保证(83页珍藏版)》请在金锄头文库上搜索。

1、第八章软件质量与质量保证,8.1 软件质量的定义 8.2 影响软件质量的因素 8.3 软件质量保证策略 8. 4 软件质量保证活动 8.5 软件评审 8.6 软件质量保证的标准 8.7 结构化程序的测试 8.8 面向对象的软件测试 8.9 测试计划与测试分析报告 8.10 软件维护,8.1 软件质量的定义,8.1 软件质量的定义,软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。 软件质量是各种特性的复杂组合,随着应用的不同而异,随着用户提出的质量要求不同而不同。,8.2 影响软件质量的因素,8.2 影响软件质量的因素,1影响软件质量的主要因素 (1)正确性:系统满足

2、规格说明和用户目标的程度,即在预定环境下能正确地完成预期功能的程度。 (2)健壮性:在硬件发生故障、输入的数据无效或操作错误等意外环境下,系统能做出适当响应的程度。 (3)效率:为了完成预定的功能,系统需要的计算资源的多少。 (4)安全性:对未经授权的人使用软件或数据的企图,系统能够控制的程度。,8.2 影响软件质量的因素,1影响软件质量的主要因素 (5)可用性:系统在完成预定应该完成的功能时令人满意的程度。 (6)风险:按预定的成本和进度把系统开发出来,并且受用户所满意的概率。 (7)可理解性:理解和使用该系统的容易程度。 (8)可维修性:诊断和改正在运行现场发现的错误所需要的工作量的大小。

3、 (9)适应性:修改或改进正在运行的系统需要的工作量的多少。,8.2 影响软件质量的因素,1影响软件质量的主要因素 (10)可测试性:软件容易测试的程度。 (11)可移植性:把程序从一种硬件配置和软件系统环境转移到另一种配置和环境时,需要的工作量的多少。有一种定量度量的方法是:用原来程序设计和调试的成本除移植时需用的费用。 (12)可再用性:在其他应用中该程序可以被再次使用的程度。 (13)互运行性:把该系统和另一个系统结合起来的工作量的多少。,8.2 影响软件质量的因素,2软件质量评价应遵守的原则 (1)应强调软件总体质量(低成本高质量),而不应片面强调软件正确性,忽略其可维护性与可靠性、可

4、用性与效率等。 (2)应在软件工程化生产的整个周期的各个阶段都注意软件的质量,而不能只在软件最终产品验收时注意质量。 (3)应制定软件质量标准,定量地评价软件质量,使软件产品评价执行评测结合,以测为主的科学方法。,8.3 软件质量保证策略,8.3 软件质量保证策略,1审查 审查就是在软件生命周期每个阶段结束之前,都正式使用结束标准对该阶段生产出的软件配置成分进行严格的技术审查。,8.3 软件质量保证策略,审查过程的步骤如下: (1)计划:组织审查组,分发材料,安排日程等。 (2)概貌介绍:当项目复杂庞大时,可由作者介绍概况。 (3)准备:评审员阅读材料取得有关项目的知识。 (4)评审会:目的是

5、发现和记录错误。 (5)返工:作者修正已经发现的问题。 (6)复查:判断返工是否真正解决了问题。,8.3 软件质量保证策略,2复查和管理复审 复查即是检查已有的材料,以确定某阶段的工作是否能够开始或继续。每个阶段开始时的复查,是为了肯定前一个阶段结束时的审查,已经具备了开始当前阶段工作所必需的材料。 管理复审通常指向开发组织或使用部门的管理人员,提供有关项目的总体状况、成本和进度等方面的情况,以便从管理角度对开发工作进行审查。,8.3 软件质量保证策略,3测试 测试就是用已知的输入在已知环境中动态地运行系统或系统的部件。如果测试结果和预期的结果不一致,则表明系统中可能出现了错误。,8.3 软件

6、质量保证策略,测试过程中产生的基本文档如下: (1)测试计划:通常包括单元测试和集成测试,确定测试范围、方法和需要的资源等。 (2)测试过程:详细描述和每个测试方案有关的测试步骤和数据,包括测试数据及预期的结果。 (3)测试结果:把每次测试运行的结果归入文档,如果运行出错,则应产生问题报告,并且通过调试解决所发现的问题。,8. 4 软件质量保证活动,8.4 软件质量保证活动,1. 验证与确认 验证是为了确定开发时期中某一阶段的产品是否达到了阶段对它的需求,确认则是在整个开发结束时对所开发的软件能否满足软件需求的总评价。,8. 4 软件质量保证活动,2. 开发时期的配置管理 虽然维护时期坚持配置

7、管理十分重要。但事实上,对配置的控制从计划时期就开始了,一直延续到生存周期结束、软件停止使用后才终止。 软件配置包括生存期中各个阶段产生的文档和程序。这些文档或程序是随着软件的开发进程逐步产生的,所以也称为阶段产品,8.5 软件评审 8.5.1 设计质量的评审内容 8.5.2 程序质量的评审内容,8.5 软件评审 8.5.1 设计质量的评审内容,设计质量的评审对象是在需求分析阶段产生的软件需求规格说明、数据要求规格说明,在软件概要设计阶段产生的软件概要设计说明等。,8.5 软件评审 8.5.1 设计质量的评审内容,1软件的规格说明 2可靠性 可靠性措施应能失效发生 3 保密措施实现 4.操作特

8、性实施 5.性能实现 6.可修改性 7.可扩充性 8.互换性 互换性是指当软件功能扩充之后,其已有功能还能照原样使用的特性。,8.5 软件评审 8.5.1 设计质量的评审内容,9.可移植性 可移植性是指当把软件移植到不同的运行环境时,不需改变其规格就能照原样工作的特性。 10.可测试性 可测试性是为保证软件质量,有效地进行充分、全面的测试的特性。 11.复用性 复用性包含可移植性及功能上通用性等 12.互连性 与其他软件有共同的接口及该接口部分是模块化的,容易改变的。,8.5 软件评审 8.5.2 程序质量的评审内容,1. 软件的结构 (1)功能结构 (2)功能的通用性 (3)模块的层次 (4

9、)模块结构 (5)处理过程的结构,8.5 软件评审 8.5.2 程序质量的评审内容,2.与运行环境的接口 (1)与其他软件的接口 (2)与硬件的接口 (3)与用户的接口 (4)运行环境变更时的影响范围,8.6 软件质量保证的标准,8.6 软件质量保证的标准,1. ISO对质量保证系统的方法 ISO 9000质量保证模型将一个企业视为一个互联过程的网络。为了使质量系统符合ISO标准,这些过程必须与标准中给出的区域对应,并且必须按照描述进行文档化和实现。 ISO 9000以一般术语描述了一个质量保证系统的要素。这些要素包括用于实现质量计划、质量控制、质量保证和质量改进所需的组织结构、规程、过程和资

10、源。,8.6 软件质量保证的标准,2. ISO 9001标准 (1)管理责任 (2)质量系统 (3)合同复审 (4)设计控制 (5)文档和数据控制 (6)采购 (7)对客户提供的产品的控制,8.6 软件质量保证的标准,2. ISO 9001标准 (8)产品标识和可跟踪性 (9)过程控制 (10)审查和测试 (11)审查、度量和测试设备的控制 (12)审查和测试状态 (13)对不符合标准产品的控制 (14)改正和预防行动,8.6 软件质量保证的标准,2. ISO 9001标准 (15)处理、存储、包装、保存和交付 (16)质量记录的控制 (17)内部质量审计 (18)培训 (19)服务 (20)

11、统计技术,8.7 结构化程序的测试 8.7.1 软件测试的目的 8.7.2 软件测试的原则 8.7.3 软件测试的对象 8.7.4 软件测试的基本过程,8.7 结构化程序的测试 8.7.1 软件测试的目的,1软件测试的目的 (1)软件测试是确认软件的质量,其一方面是确认软件做了所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。 (2)软件测试是提供信息,比如提供给开发人员或项目经理的反馈信息,为风险评估所准备的信息。,8.7 结构化程序的测试 8.7.1 软件测试的目的,1软件测试的目的 (3)软件测试不仅是在测试软件产品本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发

12、现了很多问题,则说明此软件开发过程很可能是有缺陷的。因此这个目的是保证整个软件开发过程的高质量。,8.7 结构化程序的测试 8.7.1 软件测试的目的,2软件质量 (1)在正确的时间用正确的的方法把一个工作做正确。 (2)符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。 (3)质量本身就是软件达到了最开始所设定的要求,而代码设计的技巧并不代表软件的高质量。,8.7 结构化程序的测试 8.7.1 软件测试的目的,2软件质量 (4)质量也代表着它符合客户的需要。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户

13、如何使用这个产品,使用过程中将遇到什么样的问题。只有这些问题都解决了,软件产品的质量才可以说是上去了。,8.7 结构化程序的测试 8.7.2 软件测试的原则,从用户的角度出发,就是希望通过软件测试能充分暴露软件中存在的问题和缺陷,从而考虑是否可以接受该产品; 从开发者的角度出发,就是希望测试能表明软件产品不存在错误,已经正确地实现了用户的需求。,8.7 结构化程序的测试 8.7.2 软件测试的原则,1应当尽早测试和不断的测试。 2程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。 3设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况要制造极端状

14、态和意外状态,例如网络异常中断、电源断电等情况。 4一定要注意测试中的错误集中发生现象,这与程序员的编程水平和习惯有很大的关系。,8.7 结构化程序的测试 8.7.2 软件测试的原则,5对测试错误结果一定要有一个确认的过程,一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。 6制定严格的测试计划,并把测试时间安排的尽量宽松,不要希望在极短的时间内完成一个高水平的测试。 7回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现。 8妥善保存测试过程文档有重要意义,因为测试的重现性往往要靠测试文档。,8.7 结构化程序的测试 8.7.3 软件测试

15、的对象,软件测试并不等同程序测试。软件测试应该贯穿于软件定义与开发的整个期间。因此需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试的对象。,8.7 结构化程序的测试 8.7.4 软件测试的基本过程,软件测试过程通常包括以下基本的测试活动 : 1拟定软件测试计划。 2编制软件测试大纲。 3设计和生成测试用例。 4实施测试。 5生成软件问题报告。,8.7 结构化程序的测试 8.7.5 软件测试技术,1静态分析技术 不执行被测软件,可对需求分析说明书、软件设计说明书、源程序做结构检查、流程分析、符号执行来找

16、出软件错误。,8.7 结构化程序的测试 8.7.5 软件测试技术,1静态分析技术 (1)结构检查是手工分析技术,由一组人员对程序设计,需求分析,编码,测试工作进行评议,虚拟执行程序,评议中作错误检验。,8.7 结构化程序的测试 8.7.5 软件测试技术,1静态分析技术 (2)流图分析是通过分析程序流程图的代码结构,来查程序的语法错误信息,语句中标识符引用状况,予程序和函数调用状况,变量是否赋初值,定义而未使用的变量,未说明或无用的标号,无法执行到的代码段。,8.7 结构化程序的测试 8.7.5 软件测试技术,1静态分析技术 (3)符号执行是一种符号化定义数据,并为程序每条路径给出符号表达式,对特定路径输入符号,经处理输出符号,从而判断程序行为是否错误,达到分析错误的目的。,8.7 结构化程序的测试 8.7.5 软件测试技术,2动态测试技术 当把程序作为一个函数,输入的全体称为函数的定义域,输出的全体称为函数的值域,函数则描述了输入的定义域与输出值域的关系。,8.7 结构化程序的测试 8.7.5 软件测试技术,2动态测试技术

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号