收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
软件测试 > 其它管理相关 > 正文

首页 | 领域细分: 游戏测试 安全测试 手机测试 Web测试 | 技术研究: 单元测试 入门教程 用例设计 性能测试 功能测试 | 测试职场: 面试精选 职场发展 面试试题

测试管理: 配置及流程 - 需求管理 - 质量验收 - 缺陷管理 - 其它管理相关 | 开发语言: PHP技巧 - PHP基础 - PHP实例 - PHP错误代码

测试工具: LoadRunner JiRa QuickTestPro RoBot WinRunner TestDirector 其它测试工具 | 数据库: Mysql数据库 Oracle数据库 CSS/DIV基础 HTML基础

测试估算系列11:测试估算的偏差来自哪里?

来源:互联网 日期:2014-03-09 11:30

  [概述]

  准确的测试估算很难获得,那么,哪些因素会导致测试估算的偏差?

  [正文]

  测试估算是进行测试计划的基础,而获得准确的测试估算很难。那么,在测试过程中哪些因素会导致测试估算的偏差?本文将从下面几个方面阐述测试估算中存在的典型问题:

  测试对象因素;

  估算过程因素;

  1)测试对象因素

  系统测试的测试工作量需要多少?这依赖于测试对象本身;就如建一栋摩天大楼需要多少钱一样,它依赖于摩天大楼本身。假如测试对象的各种信息,例如:需要实现的功能、具体的需求和要求等都没有详细定义,此时得到准确的估算结果是非常困难的。

  首先,测试过程中测试人员对测试对象的了解是一个逐步深入的过程。在项目的初期测试人员只对测试对象的概念有所了解,比如:开发的是什么类型的产品,它提供的主要功能是什么;随着时间的推移,测试人员逐步知道具体的产品功能列表、具体的需求、系统的概要架构和设计、详细设计等;测试估算的准确程度也会随着对测试对象的了解程度的提高而不断提高。图1是测试估算的准确度在不同测试阶段的分布:

图1 测试估算精度的演变过程

  图1显示了由于测试人员对测试对象的逐步了解深入,得到的测试估算不断提高的过程,即测试对象在不同测试阶段,由于相关的信息的不全或者存在不确定性而导致的测试估算偏差。不管是什么类型的测试对象,随着时间的推移都有上图的测试估算准确性的收敛过程。

  其次,导致测试估算出现偏差的另一个重要原因是不稳定的需求,它是整个测试活动的最重要输入之一。需求变更是导致测试估算不正确的最常见的原因之一,它主要从两个方面影响测试估算:

  首先,由于需求的不稳定,会导致整个项目开发处于混乱状态,同样也影响测试活动的无序。假如需求无法相对固定下来,那么图1中的测试估算收敛状态是很难实现的;

  其次,在软件开发管理过程中经常会忽视对需求变更的跟踪和监控,从而忽略了在需求变更发生的时候重新估算测试对象。

  不稳定的需求导致的测试估算问题,这不是一个纯粹的测试估算的技术问题,单单选择合适的测试估算技术并不能解决这个问题,更多的是需要测试经理和测试团队更快更好的响应需求变更,即更多的测试监控响应,而不仅仅是测试估算的响应。

  第三,测试执行通常处于整个软件测试生命周期的关键路径上,测试执行不仅占有较大的测试估算的比重,同时它也是存在不确定性最大的测试活动。其中的不确定性主要表现在:

  测试对象的质量直接会影响测试估算的结果,例如:在估算过程中很难确定测试对象中有多少缺陷,或者说不知道能够发现多少缺陷?而测试过程中发现的缺陷数目,直接决定了测试人员在后续中需要进行多少的确认测试(重新运行发现缺陷的测试用例,以判断开发人员是否成功修改了缺陷),以及多少的的回归测试(测试和缺陷修改有关联的系统其他部分,以确定缺陷的修改并没有引入新的缺陷)。

  测试用例可能需要在不同的测试平台运行,假如在测试估算中遗漏了某些平台的测试,那么在测试执行过程中将会发现需要额外的测试工作量来覆盖这些工作。例如:以太网卡需要支持某个功能,而测试估算的过程中可能仅仅只考虑了某类型的以太网卡。在测试执行中发现这样的问题,就会产品测试估算的偏差。

  2)估算过程因素

  良好的测试估算过程,应该是在项目初期就进行测试估算,在需求发生变更,例如:增加新的功能或者删除某些功能的时候重新进行估算;或者在估算过程中所做的一些假设和前提条件发生变化的时候进行重新估算。而现实情况是测试经理常常容易忽视需求变更或者假设条件等的变化,没有对测试估算的结果进行修正。因此,即使原来的测试估算是正确的,由于需求的变更或者前提条件等的变化,也会使得最后的结果无法符合最初的测试估算,从而导致测试的延期,成本的增加,并最终影响测试的质量。

  首先,测试估算过程中经常容易遗漏某些测试活动或者测试任务,从而导致测试估算出现偏差。遗漏的测试活动或者测试任务主要可以分为3类:

  由于需求的缺失或者不全而导致的测试估算偏差,例如:需求中通常会将更多的关注点放在功能上,而对有的非功能需求没有详细的阐述。非功能的测试不仅费时费力,同时也是客户最关心且容易出错的地方;

  遗漏某些测试活动,例如:在估算过程中容易遗漏由于缺陷的修改,需要进行的确认测试和回归测试,特别是在测试的后期,这部分的测试工作将占有非常大的比重;

  测试估算中容易忽视测试文档编写需要花费的时间和工作量,例如:测试总结报告等;

  其次,测试人员在测试估算过程中容易出现过于乐观的心态。不仅测试人员如此,项目管理层同样也存在这个问题。乐观的心态主要表现在:

  和上个项目的测试相比,我们可以有更高的生产率;

  上个项目测试过程中出现了较多的差错,在这个项目中我们将可以避免这些问题;

  我们在上个项目的测试经验教训会议上得到了很多的经验和教训,我们可以将这些收获应用与本项目的测试,因此可以更快的完成本项目的测试;

  第三,在有的场合下,测试人员容易给出即兴得到的估算结果,即没有仔细考虑就给出一个估算结果。例如:测试经理问你这样的一个功能模块测试需要花费多少时间?你可能会说:“我不知道,但是我想应该2个星期差不多。”然后你回到座位上查看功能的一些信息,发现在给测试经理的估算中遗漏了某些测试要点。根据更加详细的功能资料,你认为该功能的测试大概需要5个星期。这时候问题就来了,测试经理可能已经将你前面说的2个星期作为你的估算结果,并可能上报的项目计划中,甚至作为输入提交给项目高层。因此,我们在估算过程中要避免即兴得到的估算结果,哪怕是静下来思考15分钟。

相关链接:

测试估算系列之一:测试估算是什么

测试估算系列之二:测试估算过程

测试估算系列之三:测试估算与测试过程的集成

测试估算系列之四:基于单个专家的测试估算

测试估算系列之五:基于专家团队的测试估算

测试估算系列之六:基于类似项目的测试估算

测试估算系列之七:基于测试规模的测试估算

测试估算系列之八:测试时间进度估算

测试估算系列之九:什么是好的测试估算

测试估算系列10:偏高的测试估算vs偏低的测试估算

本周排行

别人正在浏览

强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号