软件测试管理
软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。最近在高级测试群里和一些同行们讨论,提到了关于软件测试项目的质量,所以今天讨论一下测试项目的质量,而这也是软件测试的综合评定,所以显得尤其重要。下面我把其中的几个方面进行摘述一下,希望与各位共勉。
- 软件测试质量包括管理要素缺陷遗漏率、测试覆盖率、缺陷等级划分、缺陷原因分析、缺陷记录质量、进度计划以及监控、测试报告质量等等。
- 测试配置管理是通过技术手段或行政手段对测试过程及产品进行控制、规范的一系列措施。目的是记录和追踪测试全过程及每个阶段的产出物,保证测试人员在测试全过程的各个阶段都能获得有效的产品配置。测试配置管理的内容包括配置项标识、配置项控制、配置状态报告和配置审计。
- 质量管理是指测试过程中为保证测试质量所采取的控制手段和措施。测试质量管理包括两方面的内容:测试过程质量管理及产出物质量管理。测试过程质量管理是通过对测试效率及有效性的分析,加强质量控制手段并改进测试过程。测试产出物质量管理是通过对用例、缺陷的分析和维护,保证测试结果的正确性、准确性、一致性和完备性。
- 进度管理是通过对测试过程进行阶段划分,明确测试每个阶段的工作内容和分工,将项目总的实施进度细分为每个阶段的进度,通过控制每个阶段的进度,提供预防和纠偏措施,从而保证整个测试过程的进度。
- 成本管理是对于测试环境、时间、人力、软硬件等资源的管理和控制。一般说来,成本测试管理、配置管理、团队、管理、风险管理、成本管理、进度管理、质量管理和进度、质量的关系较密切,三者相互影响相互制约,测试管理的目的之一也是在三者中寻找平衡点。
- 风险管理是通过风险探测、分析和评估,减少或者回避测试过程中的风险因素。
- 团队管理是对测试过程中涉及的不同角色和人员的管理,包括组织架构、团队建设、测试培训和人员激励措施等。
- 软件质量是指软件产品的特性可以满足用户的功能、性能需求的能力,它是贯穿软件生命周期的一个极为重要的问题,是软件开发过程中所使用的各种开发技术和验证方法的最终体现,因此,在软件生命期中需要特别重视质量保证活动,以确保生成高质量的软件产品。
与传统意义上的质量概念相比,软件质量是针对软件的某些特性而言。一般认为软件质量由三部分构成:
(1)软件产品的质量,即满足使用要求的程度。
(2) 软件开发过程的质量,即能否满足开发所带来的成本、时间和风险等要求。 (3)软件在其商业环境中所表现的质量。
总体而言,高品质的软件应该是相对无缺陷或只有极少量缺陷的,它能够准时交付给客户,所花费用在预算内,满足客户需求,并且是可维护的。但是,有关质量好坏的最终评价依赖于用户的反馈。软件质量保证就是为了确定、达到和维护需要的软件质量而进行的、所有有计划、有系统的管理活动。
软件测试项目的质量保证过程概要图
软件质量保证的活动主要包括:制定软件质量要求、组织正式审查、软件测试管理、对软件的变更进行控制、对软件质量进行度量、对软件质量情况及时记录和报告。软件质量保证的职能是向管理层提供正确的可行信息,从而促进和辅助设计流程的改进。软件质量保证的职能还包括监督测试流程,这样测试工作就可以被客观地审查和评估,同时也有助于测试流程的改进。
第三方软件测试机构的测试项目大多是客户在完成软件编制之后,以委托的方式交由测评机构进行测试,测试类型多为验收测试和确认测试。而这类软件测试项目的流程主要包括:分析测试需求、制定测试计划、测试设计、实施测试、建立和更新测试文档。软件测试项目的质量保证则是针对软件测试的过程和产品开展质量保证活动。一般建议每个软件测试项目组分配一名项目级的质量保证工程(也成为QA工程师),从事质量保证活动。项目的质量保证工程师向项目负责人和技术总监负责。下图为第三方软件测评机构软件测试项目的质量保证过程概要图。
关于软件测试质量管理的几个误区:
第一个误区:出厂产品与公司质量标准不符
第二个误区:未有效设定工作的评核标准或质量的定义,造成员工各行其是
第三个误区:质量有经济成本的
第四个误区:质量问题都是实际在线上作业的人造成的
第五个误区:质量是品控部所该做的事
以上是关于软件测试质量管理的一些知识和讨论的总结概述,希望大家能够批评指正。