通用的测试管理过程主要可以分为三个部分:测试计划、测试监控和控制、测试完成。
从研发项目角度出发,测试管理过程可以用于不同级别的项目测试管理。
从测试阶段出发,测试管理过程可以用于不同测试阶段的测试管理,如集成测试、系统测试、验收测试等。
从测试类型出发,测试管理过程可以用于不同类型的测试管理,如功能测试、性能测试。
测试计划过程
测试计划过程用于制定测试计划。根据测试计划过程在项目中所处的位置不同,可以分为整体的测试计划(如系统测试计划),或某个类型的测试计划(如性能测试计划)。
创建一个测试计划,可以参考如下图1所示的过程。
图1 测试计划过程
上图中箭头文字表示的是每一个步骤的产出,如:通过“TP3:风险识别和分析”得到“风险清单”。
如上图所示,制定测试计划是一个迭代完善的过程,最明显的需要迭代的步骤即“TP3:风险识别和分析”、“TP4:分析风险缓解应对方法”、“TP5:设计测试策略”、“TP6:决定测试人员和测试时间表”。
例如,如果在测试计划最初可用之后,人们意识到新的风险威胁项目或可交付产品,或者现有风险的威胁已经改变,那么过程应该重新执行“TP3:风险识别和分析”。
测试计划过程的目的是什么?
制定测试计划的目的是同测试利益相关者(如项目经理、开发人员等)沟通测试范围或大纲,提早识别测试风险和测试需求资源,制定、记录、优化测试方案。
测试计划过程的产出物有哪些?
分析和了解测试项目的测试范围;
规划、确定并告知将参与测试的人员;
识别、分析和分类测试风险;
确定测试策略、测试环境、测试工具和测试数据需求;
计算估计数,并记录证明估计数的证据。
测试计划过程的具体活动有哪些?
1)TP1:理解上下文
如:理解软件需求和功能实现方法,及测试需求等。
2)TP3:风险识别和分析
已经识别出的风险需要进行评审,评估与待测内容(如某个需求)的相关性(分析是否波及待测内容)。
选取合适的分类方法对识别出的风险进行分类,并标注风险级别。
3)TP5:设计测试策略
测试策略包括测试阶段、测试类型、要测试的特性、测试设计等。
值得注意的是,测试策略的选择与风险类别和风险级别有关。
根据风险的优先级,设计测试活动的优先级,根据风险的类别选择不同的测试资源和测试方法。
测试监控和控制过程
测试控制过程详细检查了测试是否依据测试计划和组织测试规范执行,如果有重大偏离计划的进展、活动,或测试计划的其他方面,将被启动某些活动以纠正或补偿由此产生的结果差异。
这个过程可以应用于整个测试项目的管理(通常由许多测试组成)阶段和测试类型或对单个测试阶段(例如系统测试)或测试的类型(如性能测试)。
当作为一个完整项目测试的监控和控制的一部分应用时,它将直接与所使用的测试管理过程交互管理项目的单个测试阶段或测试类型。
如下图2所示为测试监控和控制过程。
图2 测试监控和控制过程
测试监控和控制的目的是什么?
测试监控和控制过程的目的是确定测试过程是否按照测试计划和组织测试规范(例如,组织测试策略)进行,在必要时启动控制动作,并识别必要的动作、更新测试计划(例如,修改完成标准或确定新的措施以补偿偏离测试计划的偏差)。
该过程还用于确定测试进程是否与更高级别的测试计划一致,例如项目测试计划,并管理在特定测试阶段(例如系统测试)进行的测试或用于特定的测试类型(例如性能测试)。
测试监控和控制的产出物有哪些?
由于测试监控流程的成功实施;
建立了收集适当措施以监控测试进度和变更风险的手段;
对测试计划的进度进行监控;
识别、分析新的和变更的与测试有关的风险,并采取必要的行动;
确定必要的控制措施。
测试监控和控制过程的具体活动有哪些?
TMC1:准备
实施准备工作或采取预备措施,开展监控活动,如监控测试状态或采集测试指标并上报。
注意:如果这些措施是针对测试计划监控进度的,那么应该确定这些措施尚未在测试计划或组织测试策略中定义。
TMC2:监控
收集测试指标并记录测试进度;
通过检查测试状态报告,分析测试指标;
识别与计划的测试活动的差异,并记录阻碍测试进展的因素;
确定和分析新风险,并确定需要通过测试缓解的风险和其他风险;
监测已知风险的变化,以确定需要通过测试缓解的变化和需要告知其他利益攸关方的变化。
TMC3:控制
测试计划中的活动都应被实施,如明确测试人员职责并实施;
分层次进行测试,如集成测试、系统测试;
测试过程中出现于测试计划中的偏差,采取必要的控制操作,这些控制操作可能需要对测试、测试计划、测试数据、测试环境和人员进行更改。
TMC4:报告
每个报告阶段,向相关利益者汇报测试过程中与测试计划中的偏差、新的风险或者发生变化的已知风险。
测试完成过程
测试完成过程是在测试活动已经完成的情况下执行的,如下图3所示。
图3 测试完成过程
测试完成过程的目的是什么?
测试完成过程的目的是为以后使用提供有用的测试资产(如测试计划、测试用例规格、测试脚本、测试工具、测试数据和测试环境基础设施等),恢复测试环境至初始状态,并记录测试结果并与相关人员沟通。
测试完成过程的产出物有哪些?
测试资产;
恢复测试环境处于其约定的状态(例如,可以用于下一个测试项目);
测试经验或教训,可输出经验文档;
完成《测试完结报告》。
测试完成过程的主要活动有哪些?
TC1:测试资产归档
那些可能在以后使用的测试资产应该被归档和保存,供后续测试活动参考。
要被重用的测试资产(例如,用于回归测试)在配置管理系统中被适当地标记出来。
那些可以在其他项目上重用的测试资产应该被识别并存档,如测试计划,手动和/或自动化测试过程,测试环境基础设施。
可重用测试资产的可用性应记录在《测试完成报告》中,并传达给相关干系人。
TC2:清理测试环境
恢复软件配置和硬件设置至测试初始状态。
TC3:识别获得的经验或教训
应记录项目执行过程中的经验教训。
注意,这些可以通过以下记录来实现:
在测试和相关活动中顺利进行的内容;
在测试和相关活动中失败的内容,如bug;
对测试和其他过程(如开发过程)提出改进建议。
TC4:报告测试完结
收集相关信息,并将收集到的信息应在试验完成报告中进行评估和总结。可以从以下文件但不限于:
测试计划(例如,项目测试计划、系统测试计划或性能测试计划);
测试结论;
测试状态报告;
各个测试阶段和测试类型的完结报告,及事件报告。
总结
测试管理过程是每个测试人员在测试活动中会遇到的,虽然可能不会完全按照本文所述的步骤执行测试管理,但其中涉及的步骤或多或少都会遇及。
了解测试管理过程,有助于我们更清晰地掌握和改进测试活动,提高测试人员在管理方面的素养。
作者:刘晓佳Rachel