文档详情

软件开发与软件测试模型.ppt

发布:2016-03-30约3.48千字共41页下载文档
文本预览下载声明
两者需求分析的时间不同: 增量模型常常是先做总体需求分析和设计, 然后再编码和测试中逐个增量开发; 而螺旋模型在开发周期内采用简化瀑布模型或快速模型。 两者提交软件的方式不同: 增量开发在上次增量的基础上提交新的一部分软件; 而螺旋模型每次迭代都提交一个新的完整的软件版本。 两者减少风险的方式不同: 增量开发通过避免使用未成熟技术和经常的客户反馈等方法减少风险; 而螺旋模型中直接增加了风险识别、风险分析、风险控制,计划性较强。 简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。 在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。 换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 敏捷开发模型 复旦大学 * * 主要参考书籍: 《软件测试基础教程》(德)Andreas Spillner等著,人民邮电出版社 2009 《软件测试》(美)Ron Patter著,机械工业出版社出版 * 本章主要内容 软件开发与软件测试 1.1 软件生命周期 1.2 软件开发模型 1.3 软件测试过程模型 * 1.1 软件生命周期 软件生命周期指从提出软件产品开始,直到该软件产品被淘汰的全过程。 概括地说,软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段。 问题定义 可行性研究 需求分析 概要设计 详细设计 编码和单元测试 综合测试 软件维护 软件生命周期的基本任务 软件定义时期 软件开发时期 运行维护时期 问题定义阶段 该阶段的关键任务是要明确: 要解决的问题是什么? 可性行研究阶段 该阶段的关键任务是要明确: 做不做 用最小的代价在尽可能短的时间内从经济、技术、社会因素等方面论证解决方案的可行性 需求分析阶段 该阶段的关键任务是要明确: 做什么 对目标系统提出完整、准确、清晰、具体的要求 用正式的文档准确地记录对目标系统的需求,形成软件需求规格说明书(SRS) 注意点 概要设计(总体设计)阶段 该阶段的关键任务是要明确: 怎么做 定义系统的总体结构及接口之间的关系 完成系统的概要设计说明书及集成测试计划 详细设计阶段 该阶段的关键任务是要明确: 具体做法 设计出程序的详细规格说明,即详细地设计每个模块,确定实现模块功能所需要的算法和数据结构 完成详细设计说明书和单元测试计划 编码和单元测试阶段 该阶段的关键任务是 编码和单元测试 编写出正确的、易理解的、易维护的程序模块; 仔细测试编写出的每一个模块 提交通过了单元测试的各功能模块及单元测试结果 综合测试阶段 该阶段的关键任务是通过各种类型的测试(及调试)使软件达到预定的要求 集成测试:根据设计的软件结构,把经过单元测试检验的模块按某种策略装配起来,在装配过程中对程序进行必要的测试。 系统测试:检验开发的系统能否与系统的其它部分协调工作。 验收测试:按照规格说明书的规定,由用户对目标系统进行验收。 将所有测试相关资料文档化并纳入配置管理 软件维护阶段 该阶段的关键任务是通过各种必要的维护活动使系统持久地满足用户的要求。 改正性维护:诊断和改正在使用过程中发现的软件错误 适应性维护:修改软件易适应环境的变化 完善性维护:根据用户的要求改进或扩充软件使它更完善 预防性维护:修改软件为将来的维护活动预先做准备 1. 2 软件开发模型 软件测试不是独立存在的,测试活动和软件开发活动密切相关 不同软件开发的过程会常用不同的模型 了解软件开发周期模型是为了更好地将各种不同的软件测试技术应用与软件开发过程中。 * 1.2 软件开发周期模型 几种常见的模型: 瀑布模型(Waterfall) 快速原型模型(Prototype) 螺旋模式(Spiral) 迭代-增量模型 敏捷过程模型 * * Waterfall Model Definition Feasibility Study Requirements Analysis System Design Program Design Coding Module Testing Integration System Testing Definition Development Delivery Maintenance Support System Lifecycle 瀑布模型 系统构建集中在开发阶段的最后完成,因此,在这段时间,对测试人员的需求量也很大,时间很集中。 快速原型模型 * PART ONE – The Process Prototyping Model l
显示全部
相似文档