[所有分类]软件工程第三篇.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[所有分类]软件工程第三篇

软件工程导论 河北农业大学信息科学与技术学院 主讲教师:赵洋 2011年春 第三篇 软件的质量与质量保证 第九章 软件的质量与质量保证 软件质量 9.1.1 软件质量定义 9.1.2 软件质量因素(质量度量模型) 9.1.3 软件质量保证 §9.1.1 软件质量的定义 软件质量(software quality): 与明确确定的功能和性能需求的一致性; 与明确成文的开发标准的一致性; 与所有专业开发的软件所期望的隐含特性的一致性。 §9.1.2 软件质量因素 影响软件质量的因素可以分为两大类: 可以直接度量的因素。 如:错误、KLOC、单位时间。 只能间接度量的因素。 如可用性、可维护性、可移植性等。 从整体上来度量软件质量,最早是由Rubey和Hartwick于1968年提的。 §9.1.2 软件质量因素 MCC77软件质量因素(McCall和同事提出) 正确性:程序满足其需求规格说明书和完成用户任务目标的程度。 可靠性:期望程序以所要求的精度完成其预期功能的程度。 效率:程序完成其功能所需的计算资源和代码量。 完整性:对未授权的人员访问软件和数据的可控程度。 易用性:对程序学习、操作、准备输入和解释输出所要的工作量。 可维护性:定位和修复程序中的一个错误所需的工作量。 灵活性:修改一个运行的程序所需的工作量。 可测试性:测试程序以确保它能完成预期功能所需的工作量。 可移植性:将程序从一个硬件或软件系统中移植到另一个系统所需的工作量。 可复用性:程序或一段程序可以在另一个程序中使用的程度。 互操作性:将一个系统连接到另一个系统所需的工作量。 §9.1.2 软件质量因素 ISO9126质量因素 功能性。软件满足所陈述需要的程度,由适宜性、准确性、互操作性、依从性和安全性构成。 可靠性。软件可用的时间长度,由成熟性、容错性、和可复用性构成。 易用性。软件容易使用的程度,由可理解性、易学性、和可操作性构成。 效率。软件优化使用的系统资源程度,从时间表现和资源表现衡量。 可维护性。软件易于修复的程度,由可分析性、可修改性、稳定性和可测试性构成。 可移植性。软件可以从一个环境移植到另一个环境的容易程度,由适应性、可安装型、符合性、和可替代性构成。 §9.1.3 软件质量保证 质量保证大致分为三个阶段: 以检测为重点 以过程管理为重点 以新产品开发为重点 质量保证活动: 技术方法的选择; 正式技术评审的实施; 多层次的软件测试; 标准的执行; 修改的控制; 度量和报告制度; 记录和记录保存; SQA小组的活动; 第十章 软件测试 10.1 软件测试基础 10.2 单元测试 10.3 集成测试 10.4 确认测试 10.5 白盒测试技术 10.6 黑盒测试技术 10.7 软件调试 §10.1 软件测试基础 软件测试目的: 测试是程序的执行过程,目的在于发现错误; 一个好的测试用例在于能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 §10.1 软件测试基础 软件测试的准则: 所有测试都应该能追溯到用户需求。 应该远在测试开始之前就制定出测试计划 。 把Pareto Pareto原理应用到软件测试中。Pareto Pareto原理说明,测试发现的错误中的80%很可能是由程序中20%的模块造成的。 应该从“小规模”测试开始,并逐步进行“ “大规模”测试。 穷举测试是不可能的。 为了达到最佳的测试效果,应该由独立的第三方从事测试工作。 §10.1 软件测试基础 软件测试步骤: 模块测试(单元测试): 把每个模块作为一个单独的实体来测试,发现的往往是编码和详细设计的错误。 子系统测试(集成测试): 把经过单元测试的模块放在一起形成一个子系统来测试,着重测试模块的接口。 系统测试(集成测试): 把经过测试的子系统装配成一个完整的系统来测试。发现的往往是软件设计中的错误,也可能发现需求说明中的错误。 §10.1 软件测试基础 软件测试步骤: 验收测试(确认测试): 把软件系统作为单一的实体进行测试,是在用户积极参与下进行的,而且可能主要使用实际数据(系统将来要处理的信息)进行测试。目的是验证系统确实能够满足用户的需要。发现的往往是系统需求说明书中的错误。 平行运行: 是同时运行新开发出来的系统和将被它取代的旧系统,以便比较新旧两个系统的处理结果。 这样做的具体目的有如下几点: 可以在准生产环境中运行新系统而又不冒风险;用户能有一段熟悉新系统的时间;可以验证用户指南和使用手册之类的文档;能够以准生产模式对新系统进行全负荷测试,可以用测试结果验证性能指标。 §10.1 软件测试基础 测试阶段的信息流程: §10.1 软件测试基础 测试阶段的信息流程: 软件配置:软件需求规格说明、软件设计规格说明、源代码等; 测试配置:测试计划

您可能关注的文档

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档