软件测试工程师章节之一之测试理论(软件研发流程)_第1页
软件测试工程师章节之一之测试理论(软件研发流程)_第2页
软件测试工程师章节之一之测试理论(软件研发流程)_第3页
软件测试工程师章节之一之测试理论(软件研发流程)_第4页
软件测试工程师章节之一之测试理论(软件研发流程)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二章 软件研发流程 简介 Raymond Sir第一节第一节 软件研发流程软件研发流程 基础篇基础篇1.熟悉软件产品构成的主要部分2.熟悉 软件产品如何从一个构想最终成为产品。3.熟悉 软件产品中包含了哪些人的劳动和技术。4.熟悉 软件工程的意义5.抓住软件研发过程的关键要素,但暂时先不关注具体详细的内容6.为后续第一阶段的演练打好基础23大多数人认为,软件产品仅仅是从互联网上下载或者从光盘上安装到计算机上的程序。 早期人们认为程序就是软件,一个现实世界不存在,同时也比较抽象,因此早期人们的观点停留在软件就是程序,但是随着IT行业的不断发展,程序并不能是软件的全部。软件是由一系列“程序、数据

2、、文档”组成的有序集合。所以说,许多“藏在背后”的东西通常被遗忘或忽视。作为软件测试人员,要记得所有的这些都是可能含有缺陷的,都是我们要测试的对象。什么是软件产品?什么是软件产品?4客户需求客户需求需求规格需求规格概要设计概要设计项目计划项目计划测试计划测试计划版本计划版本计划测试方案测试方案测试用例测试用例详细设计详细设计测试报告测试报告缺陷跟踪单缺陷跟踪单技术选型报告技术选型报告竞争对手调研报告竞争对手调研报告产品需求产品需求5项目经理项目经理驱动整个项目的运转,负责制定计划,安排人力,管理进驱动整个项目的运转,负责制定计划,安排人力,管理进度,协调团队,进行重大决策。度,协调团队,进行重

3、大决策。架构师架构师 / / 系统工程师系统工程师技术专家,经验丰富,负责整个系统的体系架构的设计以技术专家,经验丰富,负责整个系统的体系架构的设计以及关键模块的设计。及关键模块的设计。程序员程序员 / / 开发人员开发人员设计、编写软件,并修复软件中的缺陷。设计、编写软件,并修复软件中的缺陷。测试工程师测试工程师负责找出软件产品存在的负责找出软件产品存在的bugbug并并提交提交报告。报告。资料工程师资料工程师负责编写软件产品附带的文件和联机帮助文档负责编写软件产品附带的文件和联机帮助文档配置管理员配置管理员负责管理程序员写的代码和资料工程师写的文档资料,并负责管理程序员写的代码和资料工程师

4、写的文档资料,并组合成一个软件包组合成一个软件包公司项目的成员公司项目的成员6软件产生初期软件产生初期灵光一闪灵光一闪 - - 写代码写代码 - - 程序诞生程序诞生后来后来学习的人越来越多、程序增大学习的人越来越多、程序增大程序错误程序错误频繁频繁问题问题出现出现程序藕和程序藕和困难频发困难频发熬夜通宵赶熬夜通宵赶进度不是长进度不是长久之计久之计再后来再后来开始有人为软件开发订立规章制度,经开始有人为软件开发订立规章制度,经过不断改进,软件工程诞生了!过不断改进,软件工程诞生了!需要一种理论和规范需要一种理论和规范7软件工程的几个定义:软件工程的几个定义:19831983年年IEEEIEEE

5、给软件工程下的定义是:给软件工程下的定义是:“软件工程是开发、运行、维护和修复软软件工程是开发、运行、维护和修复软件的系统方法。件的系统方法。”这个定义相当概括,它主要强调软件工程是系统方法而不是这个定义相当概括,它主要强调软件工程是系统方法而不是某种神秘的个人技巧。某种神秘的个人技巧。 “软件工程学是为了在成本限额以内按时完成开发和修改软件产品所需要的系软件工程学是为了在成本限额以内按时完成开发和修改软件产品所需要的系统生产和维护技术及管理学科。统生产和维护技术及管理学科。”这个定义明确指出了软件工程的目标是在成这个定义明确指出了软件工程的目标是在成本限额内按时完成开发和修改软件的工作,同时

6、也指出了软件工程包含技术和本限额内按时完成开发和修改软件的工作,同时也指出了软件工程包含技术和管理两方面的内容。管理两方面的内容。 “软件工程是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而软件工程是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用的完善的工程化原则。建立和使用的完善的工程化原则。”这个定义不仅指出软件工程的目标是经济这个定义不仅指出软件工程的目标是经济地开发出高质量的软件,而且强调了软件工程是一门工程学科,它应该建立并地开发出高质量的软件,而且强调了软件工程是一门工程学科,它应该建立并使用完善的工程化原则。使用完善的工程化原则。 19931993年

7、年IEEEIEEE进一步给出了一个更全面的定义。进一步给出了一个更全面的定义。 软件工程是:软件工程是: 把系统化的、规范的、可度量的途径应用于软件开发、运把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程也就是把工程化应用于软件中;行和维护的过程也就是把工程化应用于软件中; 研究中提到的途径。研究中提到的途径。 什么是软件工程?什么是软件工程?系统化系统化规范化规范化可管理可管理将软件开发变成一项工程将软件开发变成一项工程8软件产品从最初构思到公开发行的过程,称为软软件产品从最初构思到公开发行的过程,称为软件开发过程。件开发过程。开发过程有各种不同的方法,没有所谓最好的模开发过

8、程有各种不同的方法,没有所谓最好的模式。式。最常见的最常见的4 4种:种: 大爆炸模型大爆炸模型 边写边改模型边写边改模型 瀑布模型瀑布模型 螺旋模型螺旋模型 V V、WW、X X、H H模型模型软件开发过程是什么?软件开发过程是什么?9简单;没有计划;没有规范的过程。简单;没有计划;没有规范的过程。主要精力就是用于编写程序。主要精力就是用于编写程序。客户直到最后才直到自己会拿到一个什么样的软件。客户直到最后才直到自己会拿到一个什么样的软件。基本无法安排测试工作。基本无法安排测试工作。大爆炸模式大爆炸模式BOOM!BOOM!10比起大爆炸,至少有了一个软件需求。比起大爆炸,至少有了一个软件需求

9、。因为不需要定计划和编写文档,因此成果立竿见影。因为不需要定计划和编写文档,因此成果立竿见影。测试工作在编码和修改阶段显得很重要。测试工作在编码和修改阶段显得很重要。开发工程师和测试工程师都将在这个模式中陷入无尽的恶梦。开发工程师和测试工程师都将在这个模式中陷入无尽的恶梦。当某天似乎所有功能都实现了,并且缺陷越来越少,某个管理当某天似乎所有功能都实现了,并且缺陷越来越少,某个管理者(或者时间进度的原因)决定发布软件。者(或者时间进度的原因)决定发布软件。适合要求快速交付和用完就扔的小项目。适合要求快速交付和用完就扔的小项目。这种模式是软件开发的入门,是规范的软件开发过程从无到有这种模式是软件开

10、发的入门,是规范的软件开发过程从无到有的一个发展阶段。的一个发展阶段。边写边改模型边写边改模型编码,修改,一直到某个时候编码,修改,一直到某个时候非正规的需求非正规的需求11原始的瀑布模式:原始的瀑布模式:各步骤分立,没有交叉。各步骤分立,没有交叉。步骤无法回溯,从上向下逐步完成。步骤无法回溯,从上向下逐步完成。适合适合 产品定义明确清晰,开发人员训练有素产品定义明确清晰,开发人员训练有素的项目。的项目。在开发之前,应该解决所有的未知问题,明确在开发之前,应该解决所有的未知问题,明确所有的细节。所有的细节。对于测试工作而言,瀑布模式要求一切都有细对于测试工作而言,瀑布模式要求一切都有细致完整的

11、说明,当进入测试阶段时,软件已经致完整的说明,当进入测试阶段时,软件已经实现,说明文档已经具备,因此测试工作进度实现,说明文档已经具备,因此测试工作进度可控,不确定性减少。可控,不确定性减少。因为测试是最后一步,因此早期阶段中的缺陷因为测试是最后一步,因此早期阶段中的缺陷将在最后的时刻才发现,并导致巨大的修复代将在最后的时刻才发现,并导致巨大的修复代价价瀑布模型瀑布模型瀑布模式的变型:瀑布模式的变型:V V,WW步骤允许交叉。步骤允许交叉。步骤允许回溯。步骤允许回溯。测试贯穿全过程,减少缺陷修测试贯穿全过程,减少缺陷修复成本,降低项目进度风险。复成本,降低项目进度风险。构思构思分析分析设计设计

12、开发开发测试测试最终最终产品产品12V模型模型 瀑布模型的变型瀑布模型的变型1111111113W模型模型 V模型的升级版模型的升级版14螺旋模型螺旋模型确定目标、确定目标、方案和限方案和限制条件制条件明确风险,明确风险,化解风险化解风险评估可选评估可选方案方案开发和测开发和测试试计划下一阶段计划下一阶段确定进入下一确定进入下一阶段的条件阶段的条件15X模型模型X X模型的模型的左边左边描述的是针对单独程序片段所进行的相互分离的编码和测试,描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终合成为可执行的程序。此后将进行频繁的交接,通过集成最终合成为可执行的

13、程序。( (右上半部右上半部分分),这些可执行程序还需要进行测试。已通过集成测试的成品可以进行),这些可执行程序还需要进行测试。已通过集成测试的成品可以进行封版并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并封版并提交给用户,也可以作为更大规模和范围内集成的一部分。多根并行的曲线表示变更可以在各个部分发生。行的曲线表示变更可以在各个部分发生。16H模型模型图中标注的其他流程可以是任意的开发流程。例如,设计流程或编码流程。也图中标注的其他流程可以是任意的开发流程。例如,设计流程或编码流程。也就是说,只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以就是说,只要测试条件成熟了,

14、测试准备活动完成了,测试执行活动就可以(或者说需要)进行了。(或者说需要)进行了。H H模型揭示了一个原理:模型揭示了一个原理:“软件测试是一个独立的流程,贯穿产品整个生命周软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行期,与其他流程并发地进行”。H H模型指出模型指出“软件测试要尽早准备,尽早执行。软件测试要尽早准备,尽早执行。不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某不同的测试活动可以是按照某个次序先后进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展个测试达到准备就绪点,测试执行活动就可以开展”。17软件研发的核心

15、活动软件研发的核心活动软件研软件研发过程发过程软件生命周期软件生命周期18软件开发过程模型的根本目的软件开发过程模型的根本目的 保证最终产品满足用户需求保证最终产品满足用户需求 提高产品质量,降低产品开发成本提高产品质量,降低产品开发成本 保证项目可管理,进度可控制保证项目可管理,进度可控制 作为测试人员的职责,是在所处项目的作为测试人员的职责,是在所处项目的开发模式中,尽量运用自身的知识和技开发模式中,尽量运用自身的知识和技能,创造出尽量完善的软件。能,创造出尽量完善的软件。19第二节第二节 软件研发流程软件研发流程 之之 提高篇提高篇 进一步熟悉软件研发流程的细节进一步熟悉软件研发流程的细

16、节 了解一个简洁的软件测试流程大体情况了解一个简洁的软件测试流程大体情况 建立起一个更加清晰的测试全流程概念,为建立起一个更加清晰的测试全流程概念,为后续的演练打好基础后续的演练打好基础课程目的课程目的20不看不知道不看不知道 一看吓一跳一看吓一跳先来看看一个正规大企业的流程吧。复杂程度惊人!先来看看一个正规大企业的流程吧。复杂程度惊人!21华为集成产品开发流程华为集成产品开发流程制 定初 始的 市场 计划 选 择一 个概 念阶 段概 念计 划开 发验 证华为集成产品开发(IPD)流程V3.1硬 件开发技 术支 持软 件开发销 售IPMT/PDT 决策 评审 点 & 主要 里程 碑 财

17、 务可 获得 性生 命 周期交 付 / 更 新 决 策检 查点 制 造市场 管 理输 出发 布概 念计 划市 场里 程碑 制 定 业务 计划优 化业 务计 划初 步财 务评 估合同优 化财 务评 估生 命周 期目 标成 本管 理结 构开 发制 定客 户 服务 支持策 略任 务书验 证市 场需 求制 定 制造 策略制 定订 单 履行 策略制 定 客户 服务 支持计 划更 新 供应 商&物料 选择计 划采 购制 定初 始供 应商 &物料选 择 计划硬 件概 要设 计软 件概 要设 计结构 概 要设 计制 定市 场 、价 格和 ESP策 略明 确可 服 务性需 求更 新市 场计 划硬

18、 件详 细设 计软 件详细 设计SDV开 发 &测 试硬 件单 元制造 工 艺开 发提 供持 续的 客 户支 持产量 逐 步提 升开发 和 测试结 构单 元开 始 销售发布接 受培 训和 准备 销售 力 量准 备客 户服 务&支持切换 到 制造 操作订 单履 行准 备 发布 / 局部 公 开/培训制 定客 户 迁移 计划制 定订 单 履行 计划执 行客 户迁 移活 动监 控销 售 &客 户销 量承 诺停 止销 售选 择供 应商采购 生 产器 件监 控供 应商 表 现损 益评 估监 控生 产管 理供 应/需 求月 度 预测停 止支 持终 止生 产产 品包 促 销发 布产

19、品包订 单履 行活 动制 定项 目计 划( WBS1/2级)监控 和 管理 项目系 统工 程营销PDT制 定业 务方 案项 目管 理功能领域流程GA组 建PDT准 备 EO MIPD-ghh-20041220制 定 项目 计划( WBS 3/4级)需 求更 改受 控配 置更 改受 控规 格更 改受 改EC发布 管理开始准 备项 目任 务书开发 &测 试软 件单 元结 构详 细设 计生 产初 始产 品SIT评 估发 布 准备 就绪 情 况设 置订 单处 理环 境装 填 渠道可 获 得性 DCP材 料业务流程明 确 可制 造性 需求研 发制定 制 造计 划设计 制 造流 程支 持 Beta

20、 测试工业 设计提 供技 术备选方 案和寻 求替 代概念打 印、 装运 、 存储 资料工 业 & 人 机工 程设 计开 发“ 制造 ” 测试 装备准 备 ESP客户 支持支 持销 量 预测经验 教 训总 结材 料采 取价 格调 整 行动翻 译资 料开 发 制定 资 料开 发和 翻译 计划翻 译 验证 测试分割 和 分配 需求支 持定 义 市场需 求监 控和 管理 需 求、 规格 和配 置系 统设 计和规 格制 定发 运ESP产 品制 造操 作,试 生产 及高 级制 造工 程技 术支 持采 购知 识产 权 /资 产分 析概 念 性工 业设 计确 定 产 品包 需 求SVT和内 部认证 /

21、标杆 测 试详 细设 计和 用户 评估优 化 财务 评估技 术 评审 3技 术评 审 5技术 评 审4技 术 评审 6技 术评 审1技 术评 审 2技 术 评审 4A制定 标 准计划进 行设 计检 查制 定企 业 标准 和内 控标 准支 持ESP客 户进 行 安装 和可 服务 性测 试支 持ESP客 户装 备总 体 方案 和工 艺总 体 方案 设计准备 生 产初 始产 品执 行 ESP活动确定 BATA和ESP客 户提 前采 购决策采 购原 型机 物 料采 购 初始 产品 物料采购 RAMP UP物料支持 Beta 测 试制 造系 统 验证向定 单 履行最终 提 供配置制 定销 售预 测验 证

22、市 场需求验 证/更新 /销 售预 测进 行 竞争 分析优 化市 场计 划向 PDT和 销售 人员 发布 价 格ESP外部 系统认证 测试 &标杆测 试测 试开 发“ 开发 ” 测 试 装备 设 计 和开 发资 料Beta 测试 构 建模 块功 能 验证 (BBFV) 标准 &现有 单元 新单 元制 定系 统测 试 &认 证计 划确 定可 测试 性需求SVT2EOPEOMEOS管理 EOP管理 EOM管理 EOS产 品工 程支 持 ( 维护 和改进)GA后 的 EC管 理问 题管 理EC 管 理发 布 EO MUCD( 以用 户为 中心 的设 计)PQA监 控产品 质量

23、 目标和 计划任 务分 析和 竞争 对手 评估 概念 设 计和 设计 演练设 定目 标成 本分 解目 标成本跟 踪 目标 成本启 动 供应 商认 证流 程制 定 产品 质量 目 标和 计 划优 化产 品 质量 目 标和 计 划制 定发 布策 略制 定发 布计 划22大家只是看到框架罢了大家只是看到框架罢了 一个完整的流程,主要包括以下部分:一个完整的流程,主要包括以下部分: 流程图流程图 流程运行的规则流程运行的规则 流程中各个环节使用的模板流程中各个环节使用的模板 这么复杂,我能学得会吗?如何学习呢?这么复杂,我能学得会吗?如何学习呢? 所有流程,其目的是为了规范工作,安排正确的人在正确的所

24、有流程,其目的是为了规范工作,安排正确的人在正确的时间以正确的方法去做正确的事情,从而得到优质的结果。时间以正确的方法去做正确的事情,从而得到优质的结果。 换句话说,流程在每个公司都不同,并且会显得复杂,但是换句话说,流程在每个公司都不同,并且会显得复杂,但是我们可以从复杂之中提取简单,从里面找出最本质的、最核我们可以从复杂之中提取简单,从里面找出最本质的、最核心的东西来。心的东西来。 我们当前的目标不是成为流程专家,也不是成为整个项目的我们当前的目标不是成为流程专家,也不是成为整个项目的管理者,而是成为一名懂流程的测试工程师,因此我们当前管理者,而是成为一名懂流程的测试工程师,因此我们当前只

25、需要重点关注与产品测试相关的那一部分流程。只需要重点关注与产品测试相关的那一部分流程。 因此,我们接下来的学习内容将会简单不少。因此,我们接下来的学习内容将会简单不少。2323流程流程 需求分析阶段需求分析阶段2022-3-42022-3-4产产品品需需求求设设 计计开发组开发组测试经理测试经理测试组长测试组长测试工程测试工程师师客户原客户原始需求始需求设计需设计需求求测测试试需需求求分分析析软件软件需求需求规格规格测试需测试需求分析求分析报告报告及及测试测试规格规格测试计划测试计划开发计划开发计划测试测试特性特性及及测试测试方案方案写作写作任务任务需需求求评评审审需求与分析需求与分析2424流程流程 设计阶段设计阶段2022-3-42022-3-4需求与分析需求与分析编码编码开发组开发组测试经理测试经理测试组长测试组长测试工程测试工程师师测试测试方案方案设计设计软件软件需求需求规格规格概要概要设计设计评审评审测试测试特性特性及及测试测试方案方案写作写作任务任务软件软件模块模块设计设计任务任务系统系统架构架构设计设计概要概要设计设计测试测试方案方案及及测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论