测试管理的核心要素主要包括人员、过程和技术,其中技术包括了测试技术和测试工具。测试工作进行的过程也就是测试三要素人、过程、技术相互作用产生测试成果的过程。软件产品的质量在很大程度上受测试管理水平的影响,如下图所示。
人员、过程、技术的高效融合可以提高软件产品质量、也可以提高客户(内部和外部)的满意度,同时也可以降低成本,提升企业收益。在企业中与软件项目相关的员工需要不断培训学习,在技能和工作经验上获得成长。软件项目中员工投入到工作流程中,从而产出了符合客户要求的产品,为客户提供财务收益。
从管理的角度来说,企业的人力资源需要有效管理,企业的软件开发测试相关的知识资产需要积累和管理。从 CMMI 或 TMMI 角度,企业软件研发和测试的过程需要持续的改进,从而推动研发部门(测试部门)与客户关系的良性发展,降低整个企业的软件研发和测试成本。
测试管理要素一、人
测试团队中的人
测试团队中成员要有成长空间才能团队稳定。所以测试团队成员要成梯队,分角色。
测试团队组成
测试团队分成测试工程师、高级测试工程师、测试设计师、资深测试设计师、测试经理等。如下图所示:
技能区分
从技能上划分,可分为功能测试工程师、自动化测试工程师、性能测试工程师、安全测试工程师等。
测试团队建设
主要包括以下几项:
① 人员招聘:根据业务需要制定招聘计划。
② 技能培训:测试业务培训(如测试案例设计方法)、行业业务培训(如银行业务、债券)、技能培训(自动化测试、性能测试、安全测试等)。
③ 职业规划:资深功能测试人员转需求分析人员、转测试管理,自动化测试转测试架构师等。
④ 绩效考核:KPI 和360度考核?绩效考核不能打击团队的积极性,也不要造成团队成员的内部竞争增加成员之间的隔阂,抵消团队成员的协作和分享精神。绩效考核不仅是技术也是艺术。
测管管理要素二、过程
测试过程需要建立测试体系与规章制度、规划设计测试过程、评审监控测试过程、管理测试风险等。
测试过程可分为5个阶段,如下图所示:
① 测试准备
测试准备需要了解测试需求、协调测试资源、测试相关的业务学习等。测试资源包括测试环境、人员、工具、设备等等。
② 测试计划
制定测试策略、规划测试过程、制定时间计划、分配测试资源、预估测试风险提前预警应对。
③ 测试设计
分析并确定测试方法,设计测试大纲、测试用例,制作测试数据等。
④ 测试执行
执行测试用例,提交缺陷。如有需要测试执行过程中应补充测试用例。回归测试过程中应重点测试新增功能和缺陷修改相关的内容。
⑤ 测试总结
分析测试过程出现的问题,反思错误。将缺陷度量数据纳入度量数据库。总结测试经验和教训,完善测试标准和过程。
测试过程中的评审管理,主要包括以下几项:
① 评审准备
评审准备中需要做的事情包括:确定主评审员及评审组、明确评审职责、评审信息通知、分发评审资料等。
② 评审执行
评审过程中的工作包括:组织有效的交流、完整的过程记录、有效的解决方案(不合格项)。
③ 评审结果跟踪
评审结果需要持续跟踪,直至全部不合格项被适当处理并关闭。
测试管理要素三、技术
这里主要介绍用到的一些测试工具和平台。
自定义自动化工具:测试团队需要针对测试目标开发提高测试效率或降低测试复杂度的工具。例如,在债券等复杂金融产品测试时测试团队可以自己开发利率计算工具、费用计算工具等小工具等。
通用测试工具:自动化测试工具例如 Robot Framework、QTP 等自动化框架和工具。性能测试工具例如 Loadrunner、Jmeter 等。网络测试工具例如 SnifferPro。
测试管理平台:测试管理需要有工具平台支持包括需求管理、需求分析、案例管理、测试执行管理、缺陷管理以及报告报表等。