软件测试管理规范
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 测试总结报告 6缺陷度量分析 • 缺陷度量分析包括: • 缺陷数据统计 • 缺陷预防
让软件测试走向规范化 • 建立测试管理体系 • 测试规划 • 测试设计 • 测试实施 • 配置管理 • 测试管理 • 测试管理工具
软件测试 测试-基本概念 一、基本概念 1什么是测试 测试是为了发现程序中的缺陷而执行程序的过程; (缺陷是一种 泛指,可以是功能错误,也可以是性能低下、易用性差等错误); 测试也称调试,它包括模块测试(单调)、集成系统测试(分 调)、系统测试(联调); 测试是假定程序中存在错误,因而想通过测试来发现尽可能多的错 误。 2测试的目标 是为了尽可能多的发现程序中的缺陷。 3测试的真理 测试只能证明缺陷存在,而不能证明缺陷不存在; 成功的测试用例是发现了至今为止尚未发现的错误;
ຫໍສະໝຸດ Baidu
--grenford j myers 9测试的作用 1)测试是为了要找出缺陷,但同时,也可以通过对缺陷的度量和 统计,分析缺陷产生的原因和缺陷的分布特征,分析产品的质量、工作 效率、诊断开发过程中的问题,并通过改进各个开发过程提高过程能 力, 最终降低缺陷数量和缺陷密度。 2)没有发现错误的测试也是有价值的,完整的测试是评定测试质 量的一种方法。测试是不完全的( 测试不完全) 测试具有免疫性( 软件缺陷免疫性) 10测试的意义 迄今为止,软件质量仍然主要靠软件测试来验证和确认,而且由于 测试工作特别耗费资源,在软件开发的总成本中,用在测试上的开销要 占30%到50%。在极端的情况下,例如在关系到人的生命安全的软件中 (如飞机控制或核反应监控等软件),测试费用可能相当软件生存周期 所有其它阶段费用总和的三到五倍。此外,据美国工业界的统计,对商 品化的程序来说,测试在时间和费用两方面的花费都要占整个软件开发 周期总开销的50%左右。 但软件测试并不是质量保证的“安全网”。因此,我们应该从两个 方面来保证和提高软件质量:首先,应尽量在开发期间减少错误,通过 软件过程来建立软件质量;次之,应通过分析和测试来发现和修复软件 产品中残存的错误。 测试工程师的职责 二、测试人员的职责 测试软件产品 评估软件质量 度量质量等级 协助项目经理完成项目任务 测试人员的素质要求
三、对于测试人员的职业素质要求: 1)责任感 坚持原则、不放弃 有问题及时汇报 2)沟通能力 与用户、项目组的沟通 3)独立的判断和自学习能力 坚持观点,不随声附和 喜欢探寻、钻牛角尖不一定是坏事情 4)耐心、自我督促 5)团队精神 与开发组整体为一个目标开展活动,有时需要妥协 对测试人员的要求 四、测试人员的技术要求 业务流程 体系框架 分析模式 设计模式 代码规范 丰富的经验 出人意料的想法 怀疑一切的精神 测试人员与其他成员的关系 五、测试人员的角色 测试人员是程序员与客户的联系者 测试人员是程序员的建议者 测试人员是程序员的帮助者 测试人员不是程序员的对手
测试计划模板 1 概述 测试计划的概述部分要介绍测试项目,在概述中,要扼要地叙述目 标、方法和目的。 也可以阐述被测系统的体系结构,或者说明这个测试工作怎样适应 于其他可能已经执行、并发执行或将要执行的测试工作。 2 边界 测试计划的边界就是通过讨论要测试的或者不测试的内容、定义重 要术语和与计划只想测试相关的简称,以及决定在什么地方和什么背景 下进行相关的测试工作。 在测试计划边界中一般包括以下几个方面: 范围---在描述项目测试范围时,要很注意区分在项目过程中要处 理的和不需要处理的事情。 定义---测试术语及短语的定义,在测试计划定义表中可以帮助队 测试领域不熟悉的人弄清术语,并且有助于测试组每个人都以同样的定 义集合来操作。 部署---描述打算执行测试的地点以及与其它部门之间的协调办 法。 3 质量风险 如果项目计划中已经定义了质量风险,那么我们可以在测试计划中 归纳或引用这些风险。
测试人员不是程序员的上司 测试的误区 六、测试的误区 误区一: 忽视对正常输入的测试。 误区二: 忽视设计阶段的参与与评估 误区三: 忽视测试计划与测试文档的建立及维护。 误区四: 忽视缺陷的分析, 报告及跟踪。 误区五: 错误的测试目标及测试终止条件。 误区六: 不懂得合理调配使用测试人员的知识技能结构。 软件缺陷 七、软件缺陷 1 软件未达到客户需求的功能和性能; 2 软件超出客户需求的范围; 3 软件出现客户需求不能容忍的错误; 4 软件的使用未能符合客户的习惯和工作环境。 测试的步骤 八、测试的步骤 单元测试(模块测试) 集成测试 系统测试 调试 系统的转换与交付使用 测试-单元测试 ① 单元测试(模块测试) 1单元测试内容 模块接口 局部数据结构 重要的执行通路
4 里程碑的推荐进度 大多数测试计划中都包含了测试项目中主要里程碑的进度安排,我 们可以在项目工作分解结构中提取得到。 里程碑重点放在管理层可以看到的高级里程碑和交付产品上。 5 过渡 测试计划的这一部分指名了各个阶段开始和结束的必要标准,通常 包括以下几个标准:
进入标准---指允许系统进入到具体测试阶段需要满足的条件。 继续标准---定义了那些在测试过程中高效地继续测试,而必须满 足的条件和情况。 退出标准---退出标准解决如何决定什么时候完成测试的问题。 我们可以将每个标准按照典型的“绿”(完全满意)、“黄”(不 完全满意,但可能不是问题)、“红”(不满意且造成主要问题)来划 分等级,用数据来支持标记为“黄”、“红”的标准。 6 测试配置和环境 在测试计划的这个部分中记录用来执行测试的硬件、软件、网络等 环境。 测试硬件分配计划通常包括测试目的或方法、需要的系统(包括数 量及版本)、基础设施、时间范围、地点,以及特殊测试需要的其他硬 件。 7 测试开发 测试计划的这部分将确定测试项目中的开发工作,如编写测试用 例、开发测试工具、编写自动化测试脚本等。 在这里要描述测试组将如何创建这些对象,如果我们打算手工测 试,那怎样编写测试用例;如果使用现有的测试工具,那要描述为什么 选择该工具以及打算如何开发测试脚本;如果我们开发定制测试工具, 那要描述功能是什么,打算怎样使用它们。 在测试计划中要确定自动化测试及手工测试在各测试阶段所占的比 例。 8 测试执行 测试计划指出了影响测试执行的重要因素。 如果是资深测试小组测试一个运行良好的项目,那么在计划中一般 会把这一块的大部分内容留给测试人员自由决定;如果是初级测试人 员,特别是管理混乱的项目,在计划阶段了解得越深入,越能提前预料 和解决可能出现的问题。
决定并且选择自动化测试工具 明确测试目标 评审并制定测试策略 独立的测试团队参与测试策略的制定,但测试策略主要还是项目团 队制定 3测试计划 • 测试计划过程有以下几个主要任务 单元测试计划 集成测试计划 系统测试计划 验收测试计划 回顾测试策略 单元测试和集成测试由项目团队负责,验收测试由项目团队与客户 一起进行,单元测试、集成测试计划见“第一部分” 。独立的测试团 队只负责编写系统测试阶段的测试计划。 4测试设计 • 测试设计过程包括以下几个主要任务: • 测试场景/测试用例的设计 • 测试数据设计 • 测试设计是所有测试阶段的统一命名,但单元测试和 集成测试设计都是由项目团队负责,独立的测试团队 负责进行系统测试阶段的设计工作。 5测试执行及缺陷管理 主要包括以下几个主要任务: • 搭建测试环境 • 进行可测性评估 • 测试执行 • 缺陷统计及回归测试
“彻底测试”只是一种理想,在实践中测试要考虑时间、费用等限 制,不会允许无休止地测试;
软件的高质量是设计出来的,而不是靠测试修补出来的。 4α测试 公司内部对产品的测试,需要开发人员与独立的测试小组共同参 与。 5 β测试 软件产品正式发行前,在公司外部邀请一些用户对产品进行测试; 一般地,软件公司与β测试人员之间有一种互利的协议。即β测试 人员无偿地为软件公司作测试,定期递交测试报告,提出批评与建议。 而软件公司将向β测试人员免费赠送或者以很大的优惠价格发行软件的 正式版本。 6测试的原则 开发人员不应测试自己开发的程序; 设计测试用例时,不仅有确定的输入数据,还有确定的输出数据; 测试用例不仅有合理的,也要有非合理的; 除了检查程序是否做完了它应该做的事,还要检查它是否做了不应 该做的事; 保留全部测试用例,作为测试积累; 程序中存在错误的概率与在该段程序中已发现的错误数成正比。 7 测试的意义 测试是一种活动,用来对工作产品进行验证。 测试尚未形成完整的知识体系程序程序目标 8测试的目的 1测试是程序的执行过程,目的在于发现错误; 2一个好的测试用例在于能发现至今未发现的错误; 3一个成功的测试是发现了至今未发现的错误的测试。 --《the art of software testing》
测试计划的数量 假设你是测试负责人,负责单元测试、集成测试及系统测试阶段, 因此你有三个不同的测试子项目需要计划和管理,这时你是编写一个测 试计划,还是三个测试计划呢?这些子项目可能在以下这些方面有所区 别。 不同的时间阶段 不同的方法学 不同的目标 不同的听众
测试计划模板 我们常常要使用制定的测试模版,它不仅是可以让我们在很少的时 间内可以制定测试计划的工具,更重要的是它是一个主题的逻辑集合, 这些集合正是我们测试工作所需要的。 根据项目的实际需要,我们可以自由地增加或删除主题
测试计划中的执行包括以下方面: 关键参与者 测试用例和缺陷跟踪 错误隔离和分类 发布管理 测试循环 测试时间 9 风险参数和不测事件 在这部分,说明在测试计划中可能存在使测试计划很难或者不可能 执行的潜在的事件。例如,如果发现的BUG数量超常就需要开发人员的 支持。 严格地说,好的开发过程大多数主张对风险管理实行全局管理方 法,如果我们当前的项目拥有一个风险管理计划,那么可以在风险管理 计划中提供,此处可省略。 10 变更历史 这部分记录到此为止测试计划的变更和修订。 11 参考文档 一般来说,测试计划会参考其它文档,比如设计规格说明、需求、 测试包、任何质量风险分析文档,以及其他相关信息。 12 常见问题 在新手作为测试工程师和测试技术员的项目中,常见问题部分很有 用。其中很多问题都描述了逐步升级过程的重要性
测试总结报告 5缺陷度量分析 • 缺陷度量分析是每个项目的重要组成部分,它在早期阶段预防缺 陷起着非常重要的作用。 • 这个过程非常重要,并且应该在每个测试执行后都应该进行。 • 缺陷度量分析由以下任务构成: 缺陷数据统计 缺陷预防 二.第二部分(独立测试团队中的测试) • 这部分是独立的测试团队执行一系列的测试过程任务,这依赖于 测试团队与项目团队之间的交流。 • 各个任务将会以过程的形式组织,独立测试团队只负责进行系统 测试阶段的测试,单元测试和集成测试是由项目团队负责进行的。 • 测试工作框架由以下的测试过程组成: 1 测试需求管理 2 测试策略 3 测试计划 4 测试设计 5 测试执行及缺陷管理 6 缺陷度量分析 1 测试需求管理 • 测试需求管理有以下几个重要的任务: 明确团队的职责 收集测试需求 2测试策略 测试策略过程包含以下主要的任务: 明确测试因素 明确测试范围
系统集成项目管理控制规范
编写测试计划目的 预算、资源限制和时间进度确定后,你就能声称自己拥有测试计划 了吗?---------实际上还需要做更为细致的工作才能成功地管理测试 项目。 编写测试计划能让我们有机会收集想法、观点和记忆。编写详细的 测试计划能够使我们把知识转化为执行任务的具体方法。 编写计划也能增强我们与测试团队、开发团队及经理们进行交流。
测试规范流程与测试管理 测试过程模式
一.第一部分(项目组中的测试) 这一部分中是将测试过程作为项目组内部的活动 测试工作以过程的形式组织起来,这种测试框架由以下几个测试过 程组成:
1 测试策略 2 测试计划 3 测试设计 4 测试执行及缺陷管理 5 缺陷度量分析 1 测试策略 • 项目中的测试策略包含以下任务: 明确测试因素 明确测试范围 明确并选择自动化测试工具 明确项目的测试目标 评审并制定测试策略 2 测试计划 • 测试计划由以下几个过程构成: 单元测试计划 集成测试计划 系统测试计划 验收测试计划 回归测试策略(适用的) 3 测试设计 • 测试设计由以下任务构成: 测试场景/测试用例设计 测试数据设计 4 测试执行及缺陷管理 • 测试执行及缺陷管理过程由以下任务构成: 配置测试环境 测试执行 缺陷修改及回归测试