总论-南京大学计算机科学与技术系.PPT

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

总论 赵建华 南京大学计算机系 软件开发的风险 风险 发布的产品不可靠. 开发进度落后 开发费用超支 结果 市场份额减少,收益减少,… 解决的方法 技术性工作 开发理论,开发工具,… 工程性方法 软件可靠性工程:试图使得软件产品能够在合适的时间,以可以接受的成本和令人满意的可靠性投放市场。 软件可靠性 定义 在一段特定的自然单元或者时间间隔内,无失效运行的概率。 这个定义和硬件可靠性的定义相容,使得这个定义可以用于软件/硬件结合的系统。 这个定义使得软件的可靠性成为一个可以度量的特性。使得我们可以定量分析:可靠性,开发实践和开发费用之间的关系。 软件可靠性工程 软件可靠性工程是唯一一种标准化的,被证明是最好的一种实践方法,使得测试者和开发者可以同时实现: 确保产品的可靠性达到用户要求 加快上市的速度 降低产品成本 提高用户满意度,降低用户不满意的风险 提高生产率 软件可靠性工程可以应用于任何基于软件的产品。 基本思想(1) 通过定量描述产品的使用方式,可以更加有效地开发产品的功能并且使用这些信息以便: 将资源精确地集中到最常用和最关键的功能上。 使测试工作真实地反映实际条件。 基本思想(2) 软件可靠性工程平衡用户对可靠性,开发时间和开发费用的需求,从而更加有效 可以设置对于可靠性的定量目标,从而制定相应的策略。 使用理论模型跟踪产品的可靠性,并确定是否可以发布。 交付具有“正好合适”的可靠性的产品,避免不必要的资金和时间成本。 理论基础 操作剖面 随机过程软件可靠性模型 统计估计和顺序采样理论 实际应用 ATT最佳当前实践(BCP) 1993年,成为美国航天航空协会的一项标准。 机构包括 阿尔卡特,ATT,Bellcore,CNES,ENEA,爱立信,法国电信,惠普,日立,IBM,NASA的发动机推进实验室,NASA的航天飞机计划,… 软件可靠性工程过程 首先要求确定哪些系统与要测试的产品相关联。 5个步骤 定义必要的可靠性 开发操作剖面 准备测试 执行测试 应用失效数据,得到结论。 软件可靠性工程过程图 图1-1 定义必要的可靠性 靠发操作剖面 准备测试 执行测试 应用失效数据 设计与实现 需求与体系结构 测试 解释 图1-1给出了主要的工作流。实际上,经常会有反馈和循环 对必要的可靠性的定义在执行测试和应用失效数据得到结论之后可能发生变化。 发行和维护阶段也可以得到实际的可靠性以及实际的操作剖面。 前两个阶段应该由测试人员与软件工程师一起完成: 测试人员比软件工程师更加有动力去做这件事情。 测试人员可以了解有关用户使用的信息 测试的类型 软件可靠性工程测试包括两种类型 可靠性增长测试 确认测试 分类和不同的测试阶段无关,而是和测试的目标相关。 可靠性增长测试 目标是找到并且清除错误。 可以使用软件可靠性工程来估计并跟踪可靠性。测试人员和开发经理使用这些信息来指导开发和发布。 可靠性增长测试包括: 功能测试 负载测试 回归测试 确认测试 确认测试的目的是得到一个二选一的结论: 接受这个软件 或者拒绝这个软件并退回给提供商 确认测试通常只在负载测试中使用。 待测系统(1) 一般情况下,希望将正在开发的真实产品作为一个系统被测试。 如果是系统集成,那么一般只对集成后的产品作确认测试。 产品的主要变体也作为一个待测系统。 待测系统(2) 超系统(产品在其中作为一个组件)应该被看作是潜在的要单独测试的系统。 如果用户通过超系统的可靠性来判断产品,或者产品和其他的部件之间的联系非常复杂。 如果对超系统进行系统测试不现实/不经济,那么可以进行beta测试。 待测系统(3) 对于采办的软件,如果可靠性未知,并且尽早发现不可靠可以避免更大的损失,那么这个软件需要被测试。 对于第一个版本,测试是必要的。 如果以前的经验表明这样的软件是足够可靠的,那么可以避免测试。 对于可信赖的开发承包商,可以监督他们进行可靠性增长测试以节约开支。 如果组件是系统的一个主要部分,对他们进行测试是经济的。否则不是。 待测系统(4) 对于被重用的组件,需要有足够的测试来建立可靠性信心。 选择待测系统的个数受到开销的限制。

文档评论(0)

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

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

1亿VIP精品文档

相关文档