高软之十三:测试管理与成熟度模型

时间:2021-6-12 作者:qvyue

项目测试是正式上线的前提,是评价一个软件开发质量的重要环节。测试不通过,需对测试问题进行整改闭环。本文是高软涉及的管理科学的最后一节,即将完结,胜利就在前方。

一、综合测试与管理

1、测试基础:主要介绍几个常用的测试模型

①V模型:对应开发的V模型,一个测试对应一个需求分析,反映了测试与分析和设计的关系:编码→单元测试,详细设计→功能测试,概要设计→系统测试、需求分析→验收测试;缺点是需求分析或设计阶段隐藏的问题一直到后期的验收测试才被发现。修正会导致成本增加,甚至项目失败。

②W模型:开发编码完成后才介入测试工作,同样导致一些在需求和设计中的问题在后期验收阶段才能发现。根据“尽早地和不断地进行软件测试”的基本原则,测试应该对应软件开发的各个环节,由此演化出“W模型”。

W模型是一个开发V和测试V,2个V并列,同步进行,测试在一定程度上随着开发的进展不断向前进行。需求分析→需求测试,概要设计→概要设计测试,详细设计→详细设计测试,编码实现→单元测试,模块集成→集成测试,系统构建→系统测试,系统安装→验收测试。

③H模型:将测试活动完全独立出来,形成一个完整的流程,将测试准备与测试执行清晰地展现出来。仅演示在整个生命周期中某个层次上的一次“测试循环”。只要测试条件成熟,测试准备活动完成,测试执行活动就可以进行。其缺点是独立的测试组对系统认识不够深入,影响测试质量和测试效率;

④X模型:对V模型的改进,针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接和集成最终合成为可执行的程序。左边描述的是针对单独程序片段进行的相互分离的编码和测试,通过集成最终成为可执行的程序,然后再对这些可执行程序进行测试,最后封装、交付给用户。其缺点是只强调测试过程中的部分内容,没有针对需求测试、验收测试等内容进行说明;

⑤前置测试模型:将测试与开发紧密结合,将开发和测试的生命周期整合在一起,标识了项目生命周期从开始到结束之间的关键行为。并在开发阶段以“编码→测试→编码→测试”的方式来体现。当程序片段编写完成,就立即进行测试。一般情况下,先进行的测试为单元测试。

测试验收中包含3个要素:基于测试的需求,验收标准和验收测试计划。前置测试模型用较低的成本来及早发现错误,并充分强调测试对确保系统的高质量的重要意义。

2、测试软件类型

①按开发阶段划分

a、单元测试:模块测试,对软件最小单元进行正确性检验;

b、集成测试:组装、联合、子系统或部件测试,在单元测试基础上讲所有模块按设计要求组装成子系统或系统进行测试;

c、系统测试:对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求;

d、验收测试:产品发布之前说进行的软件测试,是技术测试的最后一个阶段,也称交付测试、发布测试或确认测试。

②按实施组织划分:开发方测试(乙方、α测试)、用户测试(甲方、β测试)、第三方测试(独立测试)

③按照测试技术

a、黑盒测试:功能测试,通过测试来检测每个功能是否都能正常使用。注重测试软件的功能需求(功能不正确或者遗漏、界面错误、输入或输出错误、数据库访问错误额、性能错误、初始化和终止错误等);

b、白盒测试:结构测试,把程序看成装在一个透明的白盒子里,清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明书的规定进行正常(内存的泄露、异常处理分支语句是否正确、执行了多少逻辑,可以作为衡量测试是否完整的一个指标);

白盒测试验证单元的基本功能,黑盒测试的思考方式是设计测试用例;白盒测试需要对程序的内部实现十分熟悉,黑盒测试完全基于系统需求的了解。

c、灰盒测试:黑盒测试中使用白盒测试的手段,介于白盒测试与黑盒之间,关注输出对于输入的正确性,同时也关注内部表现(不同于白盒测试的详细、完整),只是通过一些表征的现象、事件、标志来判断内部的运行状态。

④按测试执行的方式划分

a、静态测试:不运行程序,通过人工对程序和文档进行分析和检查,包括代码检查、静态结构分析、代码质量度量等;

b、动态测试:通过人工或使用工具运行程序进行检查、分析程序的执行状态和程序的外部表现。

⑤按测试对象分类:功能测试(功能是否实现软件功能说明书)、界面测试(对用户界面进行测试,美观度、统一性、易用性)、流程测试(按操作流程进行测试,业务流程、数据流程、逻辑流程)、接口测试(测试系统组件间的接口,主要用于检测外部系统与系统之间以及内部各子系统之间的交互点,检查数据的交换、传递和控制管理)、安装测试(测试安装代码及安装手册)、文档测试(读者群、术语、正确性、完整性、一致性、易用性等)、源代码测试(源代码的安全漏洞,提高系统安全性)、数据库测试(数据的完整性、有效性及数据操作和更新)、网络测试(链路连接情况、错包率、连通性、网络质量、路由策略、备份路由、网管等)、性能测试(负载测试-强度,通过逐步增加系统负载,测试系统性能的变化;压力测试-并发、大数据量、稳定性测试)。

⑥按测试质量属性划分:容错性测试、兼容性测试、安全性测试、可靠性测试、可用性测试、维护性测试、可移植性测试、易用性测试;

⑦按测试地域划分:本地化测试、国际化测试。

3、软件测试技术:

①黑盒法:测试区域确定法(等价类划分法、边界值分析法)、组合覆盖法(全组合、成对组合覆盖、正交实验设计、设计覆盖法)、逻辑推断法(因果图法、判定表法、大纲法)、业务路径覆盖法(场景分析法、功能图法);

②白盒法:静态白盒法(代码检查、静态结构分析)、动态白盒法(覆盖测试、控制结构测试、程序插桩、程序变异测试)。

4、测试管理:实现测试工作预期目标,以测试人员为中心,对测试生命周期及其所涉及的相应资源进行有效的计划、组织、领导和控制的协调活动。主要因素包括:测试策略的制定、测试项目进度的跟进、项目风险的评估、测试文档的评审、测试内部和外部的协调沟通、测试人员的培养等。

①测试管理的内容:测试部门管理(部门日常事务、人员、资产等)、测试项目管理(测试人员管理、测试计划及测试策略的编写、测试评审的组织、测试过程的跟进、测试内部和外部的协调沟通、缺陷跟踪等);

②测试监控管理:测试用例的执行进度(已执行数/总数)、缺陷的存活时间(缺陷从开始到结束的时间)、缺陷的趋势分析(按时间顺序的缺陷数量分布情况)、缺陷的分布密度(某一项需求的总缺陷数/改需求的测试用例总数)、缺陷修改质量(每次修改后发现的缺陷数量);

③测试风险管理:需求风险、测试用例风险、缺陷风险、代码质量风险、测试环境风险、测试技术风险、回归测试风险、沟通协调风险、其它不可预计风险。

④测试人员绩效-工作效率与质量考核:

a、工作效率(文档产出率、用例产出率);

b、工作质量(需求覆盖率、文档质量-缺陷数(评审和同行评审)/测试用例文档页数、文档有效性-缺陷数(系统测试)/测试用例文档页数、用例有效性-缺陷数/测试用例数、评审问题数);

c、测试执行工作效率(执行效率、进度偏离度、缺陷发现率);

d、测试执行工作质量(缺陷数、有效缺陷数/率、严重缺陷率、模块缺陷率、遗漏缺陷率、Bug发现的时间点、缺陷定位和可读性)。

⑤测试管理的度量:计划质量、成本质量。

二、项目管理成熟度模型

表达的是一个组织具有的按照预定目标和条件成功地、可靠地实施项目的能力,指项目管理过程的成熟度。在基于项目管理过程的基础上把企业项目管理水平从混乱到规范再到优化的进行过程分成有序的多个等级,形成一个逐步升级的平台。

1、项目管理成熟度模型的要素:改进的内容和改进的步骤,包含3个基本组成部分:组织项目管理的能力和相应的结果、提升能力的顺序、评估能力的方法。

2、成熟度模型的分类:CMM模型、PMI、OPM3、K-PMMM和FMsolution,其中K-PMMM将成熟度模型分为5个梯级(通用术语、通用过程、单一方法、基准比较、持续改进)。

3、OPM3:描述了组织级项目管理成熟度模型中的主要组件,并阐明了怎样应用最佳实践帮助实现组织改进。有助于组织达到实现一定水平的绩效和效益,或者持续提高组织竞争力和盈利能力的这样的目标。

4、组织级项目管理OPM3致力于集成如下内容:知识、组织战略、人、过程。

5、组织级项目管理是一个战略执行框架,利用项目组合、项目集和项目管理及组织运行潜能时间,自始至终地、可预测地交付组织战略,以引导实现更好的绩效、更好的结果和可持续的竞争优势。

6、OPM3的层次域:项目组合、项目集和项目。其改进组件包括:层次域、过程改进阶段、最佳实践、能力和结果。

7、OPM3的过程改进:标准化(工具)、度量、控制、改进。

8、OPM3运作周期的管理改进步骤:获取知识(准备评估)、实施评估、管理改进(制订改进计划)、管理改进(实施改进)、管理改进(重复此过程)。

9、组织运行潜能:是架构、文化、技术和人力资源实践,它们能成为支持和持续实施项目组合、项目集和项目中最佳实践的杠杆。

10、CMM,包括CMMI,都是对现实世界的简化表述,CMMI过程域包括:

①过程域组件:必需的组件、期望的组件、说明性的组件;

②过程域分类:项目管理、过程管理、工程和支持,包含跨项目的活动,这些活动与过程的定义、计划、部署、实施、监督、控制、评估、度量及改进相关。

7个项目管理类过程域:集成项目管理、项目监督与控制、项目计划、量化的项目管理、需求管理、风险管理、供方协议管理);

5个过程管理类过程域:组织级过程定义、组织级过程关注、组织级绩效管理、组织级过程性能、组织级培训;

5个过程类过程域:产品集成、需求开发、技术解决方案、确认、验证;

5个支持类过程域:原因分析与解决、配置管理、决策分析与解决、度量与分析、过程与产品质量保证。

11、CMMI表示法与级别:支持两种使用级别的改进路径:一条路径使组织能够逐步改进其选定的单个过程域所应对的过程;另一条路径使组织能够以增量的方式应对层次相继的过程域集合来改进相关的过程集。

12、CMMI改进路径与两种类型的级别相关联:能力等级和成熟度级别。

①能力等级:连续式,适用于单个过程域的过程改进,分为4级:

0级:不完整级(没有得到执行或部分得到执行);

1级:已执行级(完成所需工作而产生工作产品的过程,如果未得到制度化,那些改进经过一段时间后可能会丢失);

2级:已管理级(按照方针得到计划和执行,过程规范有助于确保现有实践在有压力的情况下得以保留);

3级:已定义级(具有受维护的过程描述,并且将过程相关经验贡献给组织级过程资产)。

②成熟度级别:阶段式,适用于组织内横跨多个过程域的过程改进达成情况,描述组织总体状态的特征,分为5级:

1级:初始级(过程随意且混乱,组织往往不能提供一个稳定的环境来支持过程);

2级:已管理级(项目确保其过程按照方针得到计划与执行);

3级:已定义级(过程得到清晰的说明与理解,并以标准、规程、工具或方法的形式进行描述);

4级:已量化管理级(组织与项目建立了质量与过程新能的量化目标并将其用作管理项目的准则);

5级:优化级(组织基于对其业务目标与绩效需要的量化理解,不断改进其过程)。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。