软件测试第03课-软件生命周期的讨论课件

上传人:F****n 文档编号:88561214 上传时间:2019-05-02 格式:PPT 页数:44 大小:1.34MB
返回 下载 相关 举报
软件测试第03课-软件生命周期的讨论课件_第1页
第1页 / 共44页
软件测试第03课-软件生命周期的讨论课件_第2页
第2页 / 共44页
软件测试第03课-软件生命周期的讨论课件_第3页
第3页 / 共44页
软件测试第03课-软件生命周期的讨论课件_第4页
第4页 / 共44页
软件测试第03课-软件生命周期的讨论课件_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《软件测试第03课-软件生命周期的讨论课件》由会员分享,可在线阅读,更多相关《软件测试第03课-软件生命周期的讨论课件(44页珍藏版)》请在金锄头文库上搜索。

1、软件测试,软件生命周期的讨论,2019/5/2,讨论软件开发生命周期 讨论项目团队中的不同角色 软件开发模型 一个例子,小试牛刀,内容,2019/5/2,复习:软件生命周期的具体过程?,2019/5/2,比尔盖子是一名建筑工人,起初只干一些比较简单的建筑工作 凭个人技术和经验,不需要特别设计,一般都可以顺利完成 此时就如同编写早期比较小的程序,软件开发过程,2019/5/2,由于工作业绩不错 有一天他被通知,需要由他负责建造一间非常美丽而完整的房间 工作变得复杂许多 就像不断发展的软件一样,需要的功能越来越多,越来越复杂,软件开发过程,2019/5/2,软件复杂性 图形用户界面 客户/服务器结

2、构 分布式应用 数据通信 超大型关系型数据库,软件开发过程,2019/5/2,比尔首先想到这个任务需要更多的人手帮他一起来做 于是他马上组成了自己真正的工作团队,项目团队中的角色,2019/5/2,需求分析师,项目经理,设计人员,软件架构师,项目团队,识别项目需求,能够正确管理客户的期望值;制定阶段性 目标和项目总体控制计划,对项目进行全局管理和掌控, 使项目达到预期的目标,得到客户的满意。,角色职责,架构师需要参与项目开发的全部过程,包括需求分析、架构设计、系统实现、集成、测试和部署各个阶段,负责在整个项目中对技术活动和技术说明进行指导和协调。包括确认需求、系统分解、技术选型和制定技术规格说

3、明,需求分析人员的工作是收集需求和分析需求,并与 最终用户、产品经理保持联系,完成系统总体结构、功能模块设计、接口设计、数据库设计等方面的概要和详细设计,使开发人员遵循设计规范完成编码。,编码,测试,项目团队中的角色,测试人员,开发人员,2019/5/2,例子: 1、微软 EXCHANGE 2000 SERVER 的开发: 项目经理:25人 开发人员:140人 测试人员:350人 2、WINDOWS 2000: 项目经理:250人 开发人员:1700人 测试人员:3200人,项目人员构成比例,2019/5/2,软件开发过程,“这次不能盲目开工,我们需要首先好好设计一下!” 构想 分析 设计 构

4、造 评估,软件的制作过程也非常相似,2019/5/2,软件开发过程,软件开发,可行性研究与计划,需求分析,设计,开发,评估/测试,维护,建造房屋,构想,分析,设计,构造,评估,维护,2019/5/2,软件开发生命周期,软件生命周期(SDLC)的六个阶段,问题的定义及规划,软件设计,程序编码,软件测试,运行维护,需求分析,软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性,对软件需要实现的各个功能进行详细分析,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。,在程序编码中必须要制定统一,符合标准的编

5、写规范。以保证程序的可读性,易维护性,提高程序的运行效率。,在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、集成测试以及系统测试三个阶段进行,软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。,2019/5/2,微软软件开发生命周期,软件生命周期(SDLC)的四个阶段,规划阶段,测试阶段(也叫稳定化阶段),产品发送/出品阶段,开发阶段(主要里程碑阶段),拟定基于客户数据的目标描述、

6、基于目标描述的规格/特性说明和基于规格说明和特性优先级制定的进度表。规划阶段中最重要的事情是让整个产品组的成员对共同的目标形成共同的认同。,微软的任何一个产品组在这个阶段都将根据特性将项目划分成若干个子项目,每一个子项目的完成就对应于一个里程碑。23个里程碑,测试人员对软件做各种各样的测试,其中开发和测试工作是始终并存进行的:测试人员发现Bug,开发人员解决Bug,测试人员再检测这个Bug是不是解决了。,产品有了稳定的版本就进入最后的阶段产品发送/出品阶段,2019/5/2,微软经典团队角色,产品规划 产品管理 程序经理 开发人员 测试人员 可用性测试员 Beta测试人员,本地化项目管理,用户

7、教育,售后支持等,2019/5/2,以你之前做过的项目为例,说说你的项目中缺少软件开发流程的哪些环节?,2019/5/2,软件开发过程模型,软件开发基本都需要经历软件开发过程中的几个步骤 但这几个步骤具体如何实施,根据具体项目不同,也有所区别 制作具体软件时,开发步骤的具体实施方法称为软件开发过程模型,软件开发过程模型,瀑布模型,螺旋模型,2019/5/2,瀑布模型(案例物流系统),瀑布模型也称为 “线性顺序模型” 将软件开发过程中每个阶段都清楚定义了起止点,并产生明确的交付成果以传递给下一阶段 每个阶段之间通过文档进行沟通 每个阶段都必需完成全部规定的任务(文档)后才能够进入下一个阶段,可行

8、性研究与计划,需求分析,设计,开发,测试,维护,可行性研究报告,需求说明书,设计文档,程序,测试报告,2019/5/2,可行性研究与计划阶段,确定项目目的 了解系统中客户的期望 确定系统的规模 论证项目可行性 技术可行性 经济可行性 操作可行性 社会可行性,2019/5/2,需求分析阶段,需求是产品的根源,需求工作的优劣对产品影响最大 获取需求 与用户交谈,向用户提问题。向用户群体发调查问卷 参观用户的工作流程,观察用户的操作 与同行、专家交谈,听取他们的意见 分析已经存在的同类软件产品,提取需求 从行业标准、规则中提取需求 从Internet上搜查相关资料 可能遇到的问题 用户说不清楚需求

9、误解需求 分析需求 功能需求记录在客户需求说明书中,2019/5/2,需求分析阶段,文档介绍,产品功能性需求,产品介绍,产品应当遵循的标准和规范,其他需求,需求说明书,产品非功能性需求,2019/5/2,需求分析阶段,2019/5/2,设计阶段,设计阶段的主要目的是根据用户的需要制定标准,划分并分配任务,设计GUI标准,设计数据库,设计过程模块,设计编码标准,构建原型,分配任务和监督任务,设计阶段涉及的活动,2019/5/2,开发阶段,开发阶段,对在原型创建阶段构建的用户界面进行最后的修改,构建数据库,通过添加代码使其具备功能,2019/5/2,评估/测试阶段,本阶段测试每个单元的功能。,测试

10、阶段涉及的活动,单元测试,数据验证测试,安全性测试,强度测试,集成测试,2019/5/2,维护阶段,本阶段为客户提供故障诊断支持 网络 电话 上门 本阶段还包括应用程序要求的任何软件升级 版本 补丁,2019/5/2,软件开发过程,比尔通过类似软件瀑布模型的方式成功了完成自己的建筑项目,2019/5/2,软件开发过程,这次将完成一栋更加复杂的建筑 因为有了以前的经验,比尔感到很有信心 就像我们的软件开始越来越庞大,由于成绩不错,比尔再次被通知,2019/5/2,?,软件开发过程,这次需要更多人,更复杂的分析、设计和建造过程,但在完成之前各种问题开始出现,2019/5/2,软件开发过程,之前设计

11、时犯下一个比较小的错误,在建造时才被发现,已经变成了一个严重的错误 必须停工回到设计阶段重新设计,重新建造 在已经将房间格局建造得差不多时,用户又突然提出更改某处的要求,导致工程再次从设计开始 虽然很努力工作,但还是 工程超时 房屋不能满足用户需要,2019/5/2,软件开发过程,工程失败的原因 前期错误往往只有到了项目后期才能够被发现 开始阶段的小错误被逐级放大,可能导致项目最终报废 开发进度往往会被意外发生的问题所打乱,需要进行返工或其他一些额外的开发周期,造成项目延期或费用超支 缺乏灵活性,不能适应用户需求的改变 返回上一级的开发需要十分高昂的代价 以上同样也是采用瀑布模型的软件项目的失

12、败原因,2019/5/2,软件开发过程,瀑布模型适合开发 规模比较小 需求非常明确且很少更改 瀑布模型是早期软件设计的主要手段,已经不太适合现在的项目 需求不清晰、不稳定的项目如何完成呢?,2019/5/2,原型模型,2019/5/2,原型模型,原型模型的优点 快速建模,减少由于需求调研不充分,需求表述不明确带来的开发风险 在需求阶段可以通过多次修改原型,得到明确的客户需求 原型可以作为DEMO,可以理解成为演示模型 原型模型的缺点 不宜利用原型系统作为最终产品。 采用原型模型开发系统,用户和开发者必须达成一致:原型被建造仅仅是用户用来定义需求,之后便部分或全部抛弃,最终的软件是要充分考虑了质

13、量和可维护性等方面之后才被开发。,2019/5/2,螺旋模型,需求分析,系统设计,开 发,测试和维护,最终产品,风险分析,开 始,2019/5/2,螺旋模型,每一圈是一个阶段,每个阶段就像一个小的瀑布模型,都要经历需求、分析、设计开发和测试 在每个阶段中添加了风险分析的步骤 每一圈都会产生一个可以发布的结果,作为这个产品最终产品的一个子集 每个发布的结果都会马上反馈给客户,听取客户意见,从而尽早发现避免软件中的风险,2019/5/2,螺旋模型,螺旋模型的优点 风险分析可使一些极端困难的问题和可能导致费用过高的问题被更改或取消 用户评价为需求的变更带来柔性 螺旋和瀑布的最大的差别就在于风险的暴露

14、时间上 螺旋模型的缺点 需要开发人员具有相当丰富的风险评估经验和专门知识 要求用户参与阶段评价,对用户来说比较困难,不易取得好的效果,2019/5/2,RUP模型,RUP(rational unified process)是有Rational公司开发并维护,与一系列软件开发工具紧密集成,以用例驱动,以体系结构为核心,迭代及增量的软件过程模型。,2019/5/2,RUP模型,2019/5/2,RUP模型,迭代模型的优点 针对大型的复杂的系统,逐步完善,降低了实施复杂度 用户可在开发早期提出变更并进行修复,从而有效控制变更风险和代价 可在早期增强用户的信心 迭代模型的缺点 要有专业的架构是,当模块

15、间耦合度高时不适用 已经确定的功能不允许做变更,不现实,2019/5/2,敏捷模型,敏捷开发是以人为核心,迭代,循序渐进的开发方法。 在敏捷开发中,软件项目的构建被切分为多个子项目,各子项目的输出都经过测试,具备可集成和可运行的特征。,2019/5/2,敏捷模型,敏捷模型的五个价值观: 沟通 简单 反馈 勇气 谦逊,2019/5/2,总结,软件项目组中的人员分工 软件开发过程 可行性研究与计划 需求分析 设计 开发 测试 维护 软件开发模型,2019/5/2,小试牛刀,案例分析:对程序的描述:一个程序从一个输入对话框中读取三个整数值。这三个整数值代表了三角形三边的长度。程序显示提示信息,指出该三角形的类型 不规则三角形 等腰三角形 等边三角形,按你的理解来测试一下上面的程序,并把具体步骤写下来,保存为word文档命名为“案例分析1-名字”发到我的邮箱。,2019/5/2,预习作业,1、了解了这么多软件测试方面的知识后,再次来归纳一下什么是软件测试? 2、你认为做好软件测试最关键的步骤(或者说重点)是什么? 3、预习软件测试基础知识:软件测试概念,测试原则,测试对象,测试级别,测试类型及测试方法。,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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