软件测试的组织和管理

上传人:飞*** 文档编号:52248119 上传时间:2018-08-19 格式:PPT 页数:59 大小:177KB
返回 下载 相关 举报
软件测试的组织和管理_第1页
第1页 / 共59页
软件测试的组织和管理_第2页
第2页 / 共59页
软件测试的组织和管理_第3页
第3页 / 共59页
软件测试的组织和管理_第4页
第4页 / 共59页
软件测试的组织和管理_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《软件测试的组织和管理》由会员分享,可在线阅读,更多相关《软件测试的组织和管理(59页珍藏版)》请在金锄头文库上搜索。

1、软件测试的组织和管理山东省软件评测中心 韩庆良目标 与软件企业项目管理人员、测试管理人员 对测试管理进行交流。 提高对测试工作、测试管理的重要性的认 识,以改进我们的测试过程。 从理论角度来认识软件测试和测试管理。主要内容 团队建设(组织结构、人员组成、规模、 人员培训) 过程规划(软件过程、测试过程、测试的 阶段、规划自己的过程) 测试过程实施(计划、设计、实施、执行 、评估、缺陷跟踪) 过程改进(成熟度模型、改进) 测试工具(一)团队建设 测试部门的组织形式 测试组的人员组成 测试组的规模 测试人员的培训组织形式测试人员的位置一个好的组织结构,可以更好的发挥人员的 能动性,使工作更有效率,

2、也使工作的质量 更高。 在一个单位内测试人员处于什么位置?属于 那个部门? 质量管理? 开发组? 测试组? 适用的就是最好的。组织形式常见测试组组织结构 烟囱测试组(小型) 烟囱测试组(大型) 集中测试组 IV&V(独立验证与确认)测试组 SMT(系统方法与测试)组组织形式烟囱测试组 测试人员由临时人员组成,通常有2-5人组 成,直接向项目经理负责。大型的组可以 划分为几个小组,设测试经理。项目经理 负责制定测试计划文档。企业没有正规的 方法将测试程序、方法、相关的知识经验 传递下去,测试质量难以保证。优点是成 本低,不需要对测试人员提供培训、生活 保障等服务。组织形式集中测试组 企业成立专职

3、、独立的测试部门,通常由 1030人组成。集中测试组为每个项目配 备几个全职的测试人员。部分企业中可能 还负责执行项目中软件质量管理和性能规 范制定的工作。可以将相关的知识、经验 传递下去。IV&V组组织形式 通常由软件开发组织之外的人员或其中的 独立人员组成,如转包商。其参与检查、 验证是否遵循标准、进行软件文档的质量 保证检测,主要完成系统测试。可以将其 看作一个最苛求的用户。组织形式SMT组 通常作为企业的内部顾问组的方式存在。 主要负责方法及标准的知识交流、编制开 发和测试指南、开发测试方法、测试工具 评估与培训,其同不同的项目组进行协作 ,对其进行指导。通常不负责具体测试工 作的执行

4、。由软件专家组成。组织形式企业或项目组织结构样例 微软的项目组织产品组经理项目经理开发经理质量保证经理开发工程师测试人员流程经理设计经理组织形式企业或项目组织结构样例 一种常见的组织软件开发组织客户服务项目管理质量管理开发规范、CMM、质量保证测试组织形式企业或项目组织结构样例 又一软件开发组织客户服务项目管理质量管理开发规范、CMM、质量保证测试人员组成成功测试组的10大因素 业务知识:测试工程师应具备业务知识,并和用户紧密接 触。 技术知识:熟悉所测试的产品用到的技术,并掌握测试工 具、方法等相关技术。 任务划分:将业务任务和技术任务相互独立。 资源管理:业务资源和技术资源相互结合。 与开

5、发组的关系:同开发人员协同工作。 生存周期早期介入:测试应在开发周期的早期介入。 测试过程:有成熟的测试过程管理规范。 灵活性/适应性:能够适应不同的测试项目。 度量:掌握度量的方法,以改进工作。 过程改进:应致力于工作的不断改进。人员组成测试组组成 测试经理:负责测试流程、沟通、测试工 具的引入、人员管理、测试计划/设计/开发 及执行。 测试组长:沟通、测试工具引入、人员管 理、费用/过程状态报告、测试计划/设计/开 发及执行。 测试工程师:执行测试计划,进行设计/开 发及执行。测试组规模影响因素 企业文化或测试成熟度 测试需求范围 工程师技能水平 测试工具及应用水平 业务知识 组织形式 测

6、试工作介入时间测试组规模确定方法(一) 开发比例法:根据开发人员数量按照一定比例来确 定测试工程师的数量。开发人员指进行设计、开发、 编译以及进行单元测试的人员。 开发类发类 型开发发人 员员比例测试组规测试组规 模商业产 品(大型市场)30人3:220 商业产 品(小型市场)30人3:110 单个客户端的应用开发30人6:15 单个客户端开发并与系统集 成30人4:17政府部门应 用开发(内部)30人5:16公司应用开发(内部)30人4:17测试组规模确定方法(二) 百分比法:根据测试人员应该占到项目组中人员的 百分比数量。开发类发类 型项项目人 员员数量测试组测试组 规规模比例测试组规测试

7、组规 模商业产 品(大型市场)50人2713 商业产 品(小型市场)50人168 单个客户端的应用开发50人105 单个客户端开发并与系统集 成50人147政府部门应 用开发(内部)50人115公司应用开发(内部)50人147测试组规模确定方法(三) 测试程序法:根据测试程序数量,以及每个程序可 能的执行时间,计算出人小时,再根据完成周期计算 测试组规模。测试过测试过 程数目计计算因子人小时时完成周期测试组测试组 规规模 历史记录8606.1653009个月3.4新项目评估 11206.16690012个月3.3测试组规模确定方法(四) 任务计划法:根据历史记录中类似项目工作量,比 较新项目同

8、历史项目的工作量,历史项目乘以相应的 因子。 步骤:先将任务分解,根据历史记录乘以一个因子 ,计算出新项目的所以任务工作量。再根据该工作量 和完成周期计算测试组规模。人员培养人员要求 适应各种环境的知识背景 学习速度快 组织能力 解决问题的能力 创造性 分析/编程能力 业务领域的知识 交流与协调能力 测试经验 关注细节 书写与语法技能一个好的测试人员 更难得人员培养成长的路径 初级测试工程师测试工程师高级测试工程师 测试组负责人测试负责人测试经理产品/ 业务经理。 技术技能:测试工具测试自动化编程编程语言操作系统 网络、数据库测试生存周期 (1-2年) 测试过程:评审、制订和改进过程,指导初级

9、工程师工作 ,了解业务领域。 (3-4年) 测试组工作:任务安排、跟踪和报告,监管测试工程师, 掌握测试周期支持工具。(4-6年) 项目管理:管理项目,与客户交流,管理测试人员。(6- 12年) 产品管理:项目或产品研发指导、促进产品销售、确定业 务机会、承担盈亏责任。(12年以上)(二)测试过程规划 软件过程 测试过程 测试的阶段 规划测试过程软件过程定义 目的:测试过程是软件过程的组成部分,明确自 己的软件过程,才能明确自己的测试过程。 软件生存周期指软件从出现一个构思之日起,直 到最后决定停止使 用之时止。包括可行性与计划 研究、需求分析、设计 、实现 、测试、运行与维 护等阶段。 软件

10、过程是指开发和维护软件及相关产品(如项 目计划、文档、代码、手册等)的一套行为、方 法、实践及变换过程。软件过程是软件生存周期 的框架。软件过程常见软件过程与模型(一) 瀑布模型、原型模型、演化模型、增量模 型、螺旋模型、喷泉模型等等。 敏捷方法(如XP、功能驱动等) 统一过程(RUP) GB/T 8566-2001 信息技术 软件生存周 期过程 过程裁减软件过程常见软件过程与模型(二) 敏捷方法中的测试:在极限编程中提出测试驱动 开发。提倡在开发前,先考虑测试,先完成测试 用来和代码。 统一过程中的测试:测试是其核心工作流程之一 GB/T 8566-2001标准中的测试(如下图): 没有单独

11、的测试过程。 测试开始于编码。 不足以指导测试工作。测试过程测试生命周期开发生命周期开发生命周期维护 需求定义应用定义应用开发修订建立 建立测试生命周期测试生命周期执行. 执行执行.测试计划缺陷跟踪测试开发测试设计评估测试过程几个亮点 测试工作开始于需求分析之后。 测试经过评估后,达到了结束的标准后才 能结束。 测试也是迭代过程。 测试需求来自于软件需求。测试过程活动 计划 设计 准备 执行 评估 缺陷跟踪测试过程与开发过程的关系 都是软件过程的有机组成部分。 与开发过程同步进行。 与开发过程相互依赖,又相互独立。 开发过程、测试过程、项目管理过程以及 其他支撑过程相互交织共同组成了软件过 程

12、。测试阶段V模型测试阶段四个阶段 清晰直观 阶段划分 单元测试 集成测试 系统测试 验收测试 同开发的对应关系测试阶段甄别 开发和测试并不是线性关系。 测试工作不是开始于代码完成之后。 测试具有阶段性,但各阶段之间没有鸿沟 。尤其是单元测试和集成测试。规划测试过程 分析项目总体需求(概览) 分析项目特点(如类型、规模、人员、客 户、风险、进度、成本等等) 确定自己的软件过程 确定自己的开发方法和模型 规划测试阶段 构建测试过程(三)测试过程实施 制订测试计划 设计测试 测试准备 执行测试 评估测试结果 缺陷跟踪制订测试计划定义 什么是测试计划:测试计划包含项目范围 内的测试目的和测试目标的有关

13、信息。此 外,测试计划还将确定实施和执行测试时 所使用的策略以及所需资源。测试计划包 括测试主计划和阶段计划。 项目开始时制订测试主计划。根据开发的 迭代过程和测试主计划对测试计划进行细 化,制订各个阶段的测试计划。 制订测试计划内容 1. 简介(目的、背景、范围、使用的文档) 2. 测试需求(确定被测试的对象、内容和范围,来源 于用户需求,包括功能性需求和非功能性需求。) 3. 测试策略 测试的项目、测试的主要方法、完成标准、使用的工 具、特殊事项等) 4. 资源(人员组成、任务和职责、环境、人员培训等 ) 5. 项目进度表(阶段) 6. 可交付工件(测试模型、测试记录、缺陷报告等等 ) 7

14、. 附录 A:项目任务制订测试计划步骤(一) 确定测试需求:确定测试对象以及测试工 作的范围和内容。测试需求应是可核实的 。测试需求可来源于软件需求列表、用例 、用例模型、用例实现、补充规约、设计 需求、商业理由、法规、标准、最终用户 访谈以及对现有系统的复审。 被确定的测试需求项必须是可核实的。即 ,它们必须有一个可观察、可评测的结果 。无法核实的需求不是测试需求。 制订测试计划步骤(二) 评估风险:测试工作需要平衡资源约束和 风险,以确定测试的优先级。从三个方面 分析: 影响:失效后将造成的影响或后果 原因:失效所导致的非预期结果 可能性:用例失效的可能性 根据风险分析情况,确定测试执行的

15、优先 级。通常分为高、中、低三种。进而安排 测试的先后顺序。制订测试计划步骤(三) 制定测试策略:描述测试活动的一般方法和目标 。包括测试的阶段、类型、技术、测试完成的标 准、特殊要求、可能存在的影响等。 确定资源 人力资源(人员数量和技能) 测试环境(包括硬件和软件) 工具 数据 创建时间表:估计测试工作,制订时间进度。参 考软件开发进度、项目工作计划等。 生成测试计划 :复审相关材料,确定交付的内容 ,将计划提交相关的人员。制订测试计划主计划和阶段计划 阶段计划的测试需求应是对主计划中的测 试需求的分解。 阶段计划的工作进度安排应尽可能同主计 划相一致。 阶段计划的制订应能保证主计划能够完满 执行。测试设计(一) 分析程序工作流程。目的在于确定并说明 系统与外部交互时的操作和步骤。以进一 步用于确定与描述测试用例。 确定并说明测试用例 详细分析应用程序工作流程与操作步骤。 确定并说明测试用例 确定测试用例数据测试设计(二) 确立并结构化测试执行过程 确定本测试执行过程与其他测试执行过程( 或生成的测试脚本之间)的关系或顺序。 确定本测试执

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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