- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件测试理论课程第一章(软件工程最佳实践)PPT
* 你想控制什么? ALERT REPORT 工作空间管理 过程集成 并行开发 构建管理 好的配置管理实践可以帮助防止某些类型的软件错误 使迭代开发能够进行变更 为每个工作者提供安全的工作空间 并行开发成为可能 自动化的集成/构建管理 * 软件工程最佳实践 软件开发过程中的一些通常的问题 解决软件开发过程中通常问题的六个软件工程实践 软件工程过程为软件工程实践提供的支持 * 工程过程实现工程实践 软件工程实践 迭代开发 管理需求 基于组件的架构 可视化建模 (UML) 持续的质量验证 管理变更 软件工程过程 * 基于团队的过程定义 一个过程定义了为了达到一定的目标,谁在什么时候做什么事情和如何去做 添加或者变更 需求 添加或者更改 系统 软件工程过程 * 本章总结 通过本章内容的学习,学员可以了解到软件开发中常遇到的问题,并能掌握解决问题的最佳软件工程实践.从引出问题,寻找原因,解决问题的角度诠释了软件工程实践方法 * 目前,软件开发仍然是一个复杂并且困难的工作,在软件开放的过程中通常会存在很多的问题,比如: 用户或者业务需求没有被满足 - 需求的获取不够完整,或者分析人员与用户在需求上的理解不一致导致系统不能完成满足用户的需要。 需求的混杂 - 在开发过程中用户需求通常会发生变化,需求的变化会影响到与某个需求相关联的其他部分,比如,系统的架构、设计、编码和测试等等。 系统模块无法集成 - 软件开发过程中通常是将大的系统划分成为多个不同的模块分别设计和实现,这就要求维护好模块之间接口和依赖关系。 系统很难维护 - 软件系统在其生命周期中会经过几次或者多次的改进和升级,如果系统的架构设计不够灵活,扩展性不好就会使系统的维护非常的困难,同时也会大大增加系统的维护成本。 较晚的发现系统的缺陷 - 在传统的软件开发过程中,开发的各个环节是以管道的形式传递的,比如,需求-设计-实现-测试-部署,测试是在开发过程的晚期才进行,因此当我们在测试过程中发现系统的缺陷时,我们就会花费大量的工作来修改缺陷,这就导致项目的延期和成本的增加。 * 不好的质量或者不好的用户体验 - 不好的系统设计将会导致系统质量的问题,包括系统的健壮性、稳定性、性能、扩展性等。 不好的负载性能 -在传统的软件开发过程中,测试是在开发过程的晚期才进行,因此没有更多的时间和成本进行严格的性能测试。 非并行的团队工作 - 传统的瀑布行开发各个环节是以管道的形式传递的,比如,需求-设计-实现-测试-部署,这样只有上一环节的工作完成了,下一个环节才能开始,因此无法是整个开发团队并行的工作。 构建和发布版本的问题 - 在开放过程中通常会产生多个系统内部和外部的版本,每个版本拥有自己的功能和代码,如果没有良好的软件配置管理过程和工具,很容易造成系统版本之间的混乱。 * 迭代开发与瀑布型的开发方法不同,它将软件开发的过程划分为多个迭代,每一个迭代都会生成一个反映系统某一部分的构建版本,到最后一个迭代时,整个系统的完全被实现。 每一个迭代都关注在某些需求集的识别、定义和分析上,并且基于这些需求的理解来设计、构建和测试软件。 如果你想了解关于软件如何被迭代的开发的更多信息,你可以参看 Rational 统一过程 (RUP)。 * 瀑布型的开发从概念上讲是简单易懂的,因为它只产生一个单一的交付产物。这个开发方法的基本问题是它将风险的识别推迟到项目的后期,这样将使处理风险的成本非常的高,而且这些风险很容易导致项目的失败。 一个初始的设计很可能不是很好的实现了关键需求的某些方面,而且过晚的发现设计的缺陷将很可能花费高昂的成本来修复缺陷。瀑布型的开发方法将真正的项目风险掩盖起来,当在项目后期发现这些风险时很可能已经为时已晚。 * 最早期的迭代关注于最大的风险。每一个迭代都会产生一个可执行的版本。每个迭代都包括集成和测试。迭代可以帮助: 在投入大的成本之前解决主要的风险 使早期的客观反馈变成可能 进行持续的测试和集成 关注项目短期的目标里程碑上 使部署最终系统的部分实现成为可能 迭代的开发过程被开发来解决前面讨论的瀑布型开发方法遇到的问题。通过使用迭代的开发过程,瀑布型的开发方法中的阶段被映射到了每一个迭代中(虽然不是典型的按顺序的,更多的情况下是并行的)。代替以锁定的步骤开发整个系统,迭代开发使用增量的方法选择并开发系统的某一部分,然后开发下一个增量。 每一个增量开发的选择都是基于潜在的主要风险的,最高优先级的风险被最先关注。为了解决被选定的风险,一个用例和用例实例的子集被选择。最小的用例实例集合被实现以验证你所关注的风险的处理。下一个增量将关注于下一个级别最高的风险。 * 迭代开发首先产生系统的架构,允许
文档评论(0)