1、让测试管理变轻松让测试管理变轻松上海泽众软件上海泽众软件2008年年9月月 软件测试管理软件测试管理 自动化测试工具选用自动化测试工具选用 自动化测试工具演示与实践自动化测试工具演示与实践让测试管理变轻松让测试管理变轻松 软件测试过程管理软件测试过程管理 缺陷跟踪与管理缺陷跟踪与管理软件测试管理软件测试管理 软件测试过程管理软件测试过程管理 缺陷跟踪与管理缺陷跟踪与管理软件测试管理软件测试管理 测试工作目的测试工作目的 测试过程设计测试过程设计 如何规划测试如何规划测试 测试策略测试策略软件测试过程管理软件测试过程管理在测试技术兴起的早期,测试的目的主在测试技术兴起的早期,测试的目的主要有两个
2、:证明系统可用,满足了需要有两个:证明系统可用,满足了需求;发现系统中的错误。求;发现系统中的错误。随着软件技术的成熟,人们发现大量错随着软件技术的成熟,人们发现大量错误的根源在于需求和设计,因此现代误的根源在于需求和设计,因此现代测试的目的在于:证明系统可用,满测试的目的在于:证明系统可用,满足了需求;发现系统中的错误;足了需求;发现系统中的错误;避免错误的发生避免错误的发生。软件测试工作目的软件测试工作目的缺陷产生的原因缺陷产生的原因测试工作的目的测试工作的目的 测试工作目的测试工作目的 测试过程设计测试过程设计 如何规划测试如何规划测试 测试策略测试策略软件测试过程管理软件测试过程管理项
3、目过程流图测试预算测试团队测试计划测试需求测试用例设计测试执行,缺陷管理测试执行,缺陷管理软件测试过程设计软件测试过程设计测试过程模型测试过程模型测试计划和实施的原则测试计划和实施的原则(一一)穷尽测试是不可能的穷尽测试是不可能的 测试工作具有创造性和挑战性测试工作具有创造性和挑战性 测试是有风险的测试是有风险的 测试分析、计划和设计是非常重要的测试分析、计划和设计是非常重要的测试计划和实施的原则测试计划和实施的原则(二二)测试者的工作态度非常重要测试者的工作态度非常重要 时间和资源非常重要时间和资源非常重要 测试准备和时间表的重要性测试准备和时间表的重要性 必须度量和跟踪测试覆盖度必须度量和
4、跟踪测试覆盖度 测试工作目的测试工作目的 测试过程设计测试过程设计 如何规划测试如何规划测试 测试策略测试策略软件测试过程管理软件测试过程管理如何规划测试如何规划测试 测试对象测试对象 测试工作范围测试工作范围 项目限制项目限制 制定测试策略制定测试策略 测试资源和获取测试资源和获取如何规划测试如何规划测试 测试作为一个子项目来规划测试作为一个子项目来规划测试对象测试对象 被测对象的特性基线被测对象的特性基线 被测对象的版本被测对象的版本 如何评价被测对象的质量?各个质量指如何评价被测对象的质量?各个质量指标的优先级是什麽?标的优先级是什麽?测试需求?测试工作范围测试工作范围 确定测试工作范围
5、确定测试工作范围 单元测试?单元测试?集成测试?集成测试?系统测试?系统测试?项目限制项目限制 项目进度限制项目进度限制 项目的成本限制项目的成本限制 资源的限制资源的限制制定测试策略制定测试策略 技术方法和工具技术方法和工具 测试资源的估计和获取(人力、设备、软件工测试资源的估计和获取(人力、设备、软件工具)具)测试进度安排测试进度安排 测试人员分工测试人员分工 测试启动准则测试启动准则 测试结束准则测试结束准则 与其他组的协同与其他组的协同测试资源和获取测试资源和获取 测试资源:测试资源:人力人力 设备设备 软件工具软件工具 资源获取方式:资源获取方式:人力人力 设备和软件工具设备和软件工
6、具 测试工作目的测试工作目的 测试过程设计测试过程设计 如何规划测试如何规划测试 测试策略测试策略软件测试过程管理软件测试过程管理 技术方法和工具技术方法和工具 测试进度安排测试进度安排 测试人员的分工测试人员的分工 测试的启动准则测试的启动准则 测试结束准则测试结束准则 与其他组的协同与其他组的协同 测试跟踪测试跟踪测试策略测试策略技术方法和工具技术方法和工具 测试环境测试环境 测试方法测试方法 测试程序测试程序 测试例设计方法测试例设计方法测试进度安排测试进度安排 测试工作阶段的划分:测试工作阶段的划分:计划计划 设计设计 检查检查 执行执行 报告分析报告分析 如何保证测试计划、设计、实现
7、与开发如何保证测试计划、设计、实现与开发任务的并行?任务的并行?测试人员的分工测试人员的分工 测试任务分类测试任务分类 测试管理测试管理 测试设计测试设计 测试实现测试实现 测试执行测试执行 测试报告测试报告测试的启动准则测试的启动准则 何时可以开始测试?何时可以开始测试?在测试计划阶段就必须明确,而且是在整个在测试计划阶段就必须明确,而且是在整个项目组达成一致。项目组达成一致。可参考的准则:可参考的准则:完成单元测试,单元测试符合结束准则完成单元测试,单元测试符合结束准则 建立代码基线建立代码基线 发布了测试版本发布了测试版本 通过版本基本验证项通过版本基本验证项测试结束准则测试结束准则 项
8、目有预先定义的结束时间,因此测试项目有预先定义的结束时间,因此测试工作也不可能无休止的进行。工作也不可能无休止的进行。可参考的测试结束准则:可参考的测试结束准则:所有需求都进行了验证所有需求都进行了验证 通过所有功能验证通过所有功能验证 无致命和严重的问题无致命和严重的问题与其他组的协同与其他组的协同 与开发组的协同与开发组的协同 与配置组的协同与配置组的协同 与质量经理的协同与质量经理的协同 与项目各级管理者的与项目各级管理者的协同协同组间协同组间协同-与开发组与开发组测试组与开发组共同确认测测试组与开发组共同确认测试的范围试的范围开发组为测试方案提供建议开发组为测试方案提供建议测试组借鉴开
9、发组的程序开测试组借鉴开发组的程序开发测试程序发测试程序测试组与开发组共同确认测测试组与开发组共同确认测试开始和启动准则试开始和启动准则测试组向开发组通报测试结测试组向开发组通报测试结果和分析果和分析测试组和开发组之前的版本测试组和开发组之前的版本传递经配置组完成。传递经配置组完成。组间协同组间协同-配置组配置组 所有测试记录提交配所有测试记录提交配置组管理置组管理 所有测试版本由配置所有测试版本由配置组负责合成和发布组负责合成和发布组间协同组间协同-质量经理质量经理 与质量经理一起制定与质量经理一起制定测试流程和规范测试流程和规范 质量经理审计测试的质量经理审计测试的进行状况进行状况组间协同
10、组间协同-各级管理者各级管理者 测试组与各级管理者共测试组与各级管理者共同确认测试的范围同确认测试的范围 各级管理者为测试方案各级管理者为测试方案提供建议提供建议 测试组与各级管理者共测试组与各级管理者共同确认测试开始和启动同确认测试开始和启动准则准则 测试组向各级管理者通测试组向各级管理者通报测试结果和分析报测试结果和分析 各级管理者监控测试执各级管理者监控测试执行进度和结果行进度和结果 你计划运行多少个测试用例?你计划运行多少个测试用例?你实际运行了多少个测试用例?你实际运行了多少个测试用例?有多少个测试用例失败了,在这些失败的测试用例中,有多少个测试用例失败了,在这些失败的测试用例中,有
11、多少个在错误得到修改后最终运行成功了?有多少个在错误得到修改后最终运行成功了?这些测试平均占用的运行时间比你预期的长还是短?这些测试平均占用的运行时间比你预期的长还是短?你有没有跳过一些测试?如果有的话,为什么?你有没有跳过一些测试?如果有的话,为什么?你的测试涵盖了所有影响系统性能的重要事件吗?你的测试涵盖了所有影响系统性能的重要事件吗?你的测试小组是否要求提交一份关于所有测试结果你的测试小组是否要求提交一份关于所有测试结果(成功和失败的)累计报告呢?如果是的话,你是否(成功和失败的)累计报告呢?如果是的话,你是否提交了这样一份精确的报告呢?提交了这样一份精确的报告呢?测试用例工作表测试用例
12、工作表项目名称测试包/用例状态系统配置缺陷ID执行人备注TFP功能测试功能测试内资企业开内资企业开业业PassA,B017Jack101包汇总包汇总817T:测试用例数量;F:失败数量;P:成功数量系统配置子表系统配置子表系统配置ID硬件信息操作系统软件信息备注ACPU=6个个内存内存=6G硬盘硬盘=100GHP UNIXWeblogic 6.0BCPU=4个个内存内存=4G硬盘硬盘=100GWindows NTOracle 817测试包工作表测试包工作表项目名称测试包用例总数FailPass等待功能测试功能测试500104900性能测试性能测试10073总计总计1000100800100百分
13、比百分比10%80%10%扩展的测试用例工作表扩展的测试用例工作表项目名称负责人ID测试包/用例状态系统配置缺陷ID负责人计划日期实际日期计划时长实际时长备注TFPJack2.000功能测试功能测试2.001内资企业内资企业开业开业PassA,B017Jack13/714/723101包汇总包汇总817 软件测试过程管理软件测试过程管理 缺陷跟踪与管理缺陷跟踪与管理软件测试管理软件测试管理 缺陷生命周期缺陷生命周期 如何收集缺陷如何收集缺陷 缺陷的优先级缺陷的优先级 缺陷的状态缺陷的状态 缺陷的严重程度缺陷的严重程度 缺陷的类型缺陷的类型 缺陷报告缺陷报告 缺陷趋势缺陷趋势 缺陷统计缺陷统计缺
14、陷跟踪与管理缺陷跟踪与管理缺陷生命周期缺陷生命周期缺陷生命周期缺陷生命周期 缺陷既指程序中存在的错误,例如语法错误、缺陷既指程序中存在的错误,例如语法错误、拼写错误或者是一个不正确的程序语句,缺陷拼写错误或者是一个不正确的程序语句,缺陷也指可能出现在设计中,甚至在需求、规格说也指可能出现在设计中,甚至在需求、规格说明或其他的文档中的种种错误。明或其他的文档中的种种错误。为了对缺陷进行管理,首先应对缺陷进行分类,为了对缺陷进行管理,首先应对缺陷进行分类,通过对缺陷进行分类,可以迅速找出哪一类缺通过对缺陷进行分类,可以迅速找出哪一类缺陷的问题最大,然后集中精力预防和排除这一陷的问题最大,然后集中精
15、力预防和排除这一类缺陷。类缺陷。这正是缺陷管理的关键,一旦这几类缺陷得到这正是缺陷管理的关键,一旦这几类缺陷得到控制,再进一步找到新的容易引起问题的几类控制,再进一步找到新的容易引起问题的几类缺陷上。缺陷上。如何收集缺陷如何收集缺陷缺陷的优先级缺陷的优先级代码解决优先级描述1立即解决Resolve Immediately缺陷必须被立即解决2正常排队Normal Queue缺陷需要正常排队等待修复或列入软件发布清单3不紧急Not Urgent缺陷可以在有时间允许时被纠正缺陷的状态缺陷的状态代码缺陷状态描述1已提交Submitted已提交的缺陷2已打开Opened已确认的缺陷,等待修复3已拒绝Re
16、jected拒绝提交的缺陷,不需要修复或不是缺陷4已解决Resolved缺陷已被修复5已关闭Closed被修复的缺陷被确认,将其关闭缺陷的严重程度缺陷的严重程度代码缺陷严重等级描述1致命缺陷Critical不能执行正常工作功能或重要功能危及生命或财产2严重缺陷Major严重影响系统要求或基本功能的实现且没有办法更正3普通缺陷Minor影响系统要求或基本功能的实现但有办法更正4轻微缺陷Cosmetic是操作者遇到麻烦或不方便,但不影响执行功能5其他缺陷Other其它错误,例如文字错误、布局不合理等按错误的影响和后果分类按错误的影响和后果分类按错误的性质和范围分类按错误的性质和范围分类缺陷的类型缺
17、陷的类型按错误的影响和后果分类按错误的影响和后果分类 其他错误其他错误 轻微错误轻微错误 普通错误普通错误 严重错误严重错误 非常严重的错误非常严重的错误 致命错误致命错误按错误的性质和范围分类按错误的性质和范围分类 功能错误功能错误 系统错误系统错误 加工错误加工错误 数据错误数据错误 代码错误代码错误功能错误功能错误 规格说明错误规格说明错误 功能错误功能错误 测试错误测试错误 测试标准引起的错误测试标准引起的错误 外部接口错误外部接口错误 内部接口错误内部接口错误 硬件结构错误硬件结构错误 操作系统错误操作系统错误 软件结构错误软件结构错误 控制与顺序错误控制与顺序错误 资源管理错误资源
18、管理错误系统错误系统错误 算术与操作错误算术与操作错误 初始化错误初始化错误 控制和次序错误控制和次序错误 静态逻辑错误静态逻辑错误加工错误加工错误 动态数据错误动态数据错误 静态数据错误静态数据错误 数据内容错误数据内容错误 数据结构错误数据结构错误 数据属性错误数据属性错误数据错误数据错误 语法错误语法错误 打字错误打字错误 对语句或指令不正确理解所产生的错误对语句或指令不正确理解所产生的错误 代码错误代码错误按软件生存期阶段分类按软件生存期阶段分类 问题定义(需求分析)错误问题定义(需求分析)错误 规格说明错误规格说明错误 设计错误设计错误 编码错误编码错误问题定义(需求分析)错误问题定
19、义(需求分析)错误 它们是在软件定义阶段,分析员研究用它们是在软件定义阶段,分析员研究用户的要求后所编写的文档中出现的错误。户的要求后所编写的文档中出现的错误。换句话说,这类错误是由于问题定义不换句话说,这类错误是由于问题定义不满足用户的要求而导致的错误。满足用户的要求而导致的错误。不一致性错误不一致性错误 冗余性错误冗余性错误 不完整性错误不完整性错误 不可行错误不可行错误 不可测试错误不可测试错误规格说明错误规格说明错误 设计不完全错误设计不完全错误 算法错误算法错误 模块接口错误模块接口错误 控制逻辑错误控制逻辑错误 数据结构错误数据结构错误设计错误设计错误 编码过程中的错误是多种多样的
20、,大体可归编码过程中的错误是多种多样的,大体可归为以下几种:数据说明错、数据使用错、计为以下几种:数据说明错、数据使用错、计算错、比较错、控制流错、界面错、输入算错、比较错、控制流错、界面错、输入输出错,及其它的错误。输出错,及其它的错误。编码错误编码错误 缺陷报告的目的缺陷报告的目的 摘要摘要 语言语言 可重现的步骤可重现的步骤 测试数据测试数据 截屏截屏 严重程序严重程序/优先级别优先级别 日志日志 其他信息其他信息缺陷报告缺陷报告缺陷趋势缺陷趋势 Open&Close图形图形 缺陷遗漏图形缺陷遗漏图形 全部解决图形全部解决图形 缺陷发现趋势图形缺陷发现趋势图形Open&Close图形图形
21、理想理想Open&Close图形图形无休止的无休止的Open&Close图形图形缺陷遗漏图形缺陷遗漏图形全部解决图形全部解决图形缺陷发现趋势图形缺陷发现趋势图形缺陷统计缺陷统计缺陷严重程度分布统计缺陷严重程度分布统计模块模块-开发员开发员-测试员测试员-缺陷统计缺陷统计模块缺陷率统计模块缺陷率统计项目缺陷率统计项目缺陷率统计缺陷严重程度分布统计缺陷严重程度分布统计模块模块-开发员开发员-测试员测试员-缺陷统计缺陷统计模块代号缺陷数N(KLOC)M 1001165M 10021912M 1003307M 10046220M 1005211M 1006143M 100762缺陷数/KLOC3.21
22、.64.23.1214.735年以下的工程师:缺陷数/KLOC1212年以下的工程师:缺陷数/KLOC6模块缺陷率统计模块缺陷率统计项目缺陷率统计项目缺陷率统计 自动化测试工具优缺点自动化测试工具优缺点 自动化测试工具选取自动化测试工具选取自动化测试工具选用自动化测试工具选用 缩短软件开发测试周期缩短软件开发测试周期 测试效率高,充分利用硬件资源测试效率高,充分利用硬件资源 节省人力资源,降低测试成本节省人力资源,降低测试成本 增强测试的稳定性和可靠性增强测试的稳定性和可靠性 提高软件测试的准确度和精确度提高软件测试的准确度和精确度 在回归测试阶段,使用自动化工具可大在回归测试阶段,使用自动化
23、工具可大大提高测试的可靠性与客观性大提高测试的可靠性与客观性自动化测试工具优点自动化测试工具优点 不适合开发周期很短、一次性、不稳定不适合开发周期很短、一次性、不稳定的软件测试的软件测试 不适合易用性、适用性、功能逻辑、物不适合易用性、适用性、功能逻辑、物理交互性测试理交互性测试 无法替代手工测试无法替代手工测试 工具本身没有想象力和灵活性工具本身没有想象力和灵活性自动化测试工具缺点自动化测试工具缺点 自动化测试工具优缺点自动化测试工具优缺点 自动化测试工具选取自动化测试工具选取自动化测试工具选用自动化测试工具选用 考虑公司实际情况考虑公司实际情况 分析测试需求分析测试需求 考虑测试周期考虑测
24、试周期 功能问题功能问题 考虑成本考虑成本自动化测试工具选取方法自动化测试工具选取方法 测试管理工具测试管理工具TestCenter演示演示 自动化测试工具自动化测试工具AutoRunner For Terminal演示演示 自动化测试工具自动化测试工具AutoRunner For Application演示演示 自动化测试工具实践自动化测试工具实践自动化测试工具演示自动化测试工具演示我们的优势我们的优势泽众公司产品的优势泽众公司产品的优势1.正版软件免费升级服务正版软件免费升级服务2.提供技术支持提供技术支持3.价格优势价格优势4.操作简便,功能强大操作简便,功能强大5.客户化,更适合企业发展客户化,更适合企业发展谢 谢!