穷尽测试不可能:我们该怎么办

发表于:2010-12-03 11:39

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:郑文强    来源:51Testing软件测试网采编

  即使是规模很小的软件或者软件产品,其逻辑路径和输入数据的组合也几乎是无穷的。假如测试人员想对测试对象进行完全的检查和覆盖,那基本上是不可能的,这就是ISTQB大纲中提出的一条测试基本原则:穷尽测试是不可能的。

  测试人员面临的测试时间和测试资源往往是非常有限的。多年的测试实践经验表明,测试团队往往很难获得测试计划中预留的测试时间,当软件开发和测试的时间发生冲突的时候,测试团队常常被要求压缩测试时间;同时,测试过程中的测试资源限制,例如:测试平台、测试人员的限制,使得测试团队只能在有限的条件下开展测试活动

  测试内容几乎是无穷的,而测试时间和测试资源非常有限,我们能做的就是采取合适的测试策略,在现有条件下如何做的更好。本文将主要从下面两个方面,阐述如何从策略层面解决两者之间的矛盾,从而不断改进测试效率和测试有效性[1][2]:

  ● 测试的尽早介入。集中精力在缺陷刚刚被引入的阶段就发现它,避免缺陷向后续阶段转移(不仅可以降低成本,同时也可避免缺陷的雪崩效应);

  ● 基于风险的测试。确保测试高优先级的关键的功能首先被测试,尽早和尽量多的发现严重程度的缺陷,而不是将有限的测试时间和资源浪费在无关紧要的地方;

  1)测试的尽早介入

  我们采用的第一个策略是“测试的尽早介入”。软件测试应该是贯穿于整个软件开发生命周期,这已经在测试人员当中有了较好的认识。测试的尽早介入主要表现在:在项目开发的早期,测试人员通过参与相关软件工作产品的评审,以达到尽早发现和修复缺陷的目的。

  测试人员的尽早介入,其主要优点表现在(也是软件测试的实践经验):

  ● 提高质量。缺陷存在放大效应(即缺陷的雪崩效应),简单的讲,在需求分析阶段引入10个缺陷,假如没有通过评审等静态测试手段发现和修复这些缺陷,那么在概要设计阶段就会变成15个,而在详细设计阶段可能就会变成25个(假设不同阶段的缺陷放大系数是1.5);假如在项目早期进行了静态测试,遗留的后续阶段的缺陷数目将可以大大降低,从而提高产品的质量;

  ● 降低成本。因为缺陷发现和修复的成本随着开发阶段的演进而快速的上升。假如在项目早期发现和修复缺陷,将可以大大的降低整个项目的成本;

  详细的关于测试的尽早介入是如何改进产品质量和降低成本的内容,可以参考博客中的另一篇文章“用数据说话:评审如何降低成本、提升质量和帮助过程改进”。

  2)基于风险的测试

  我们采用的第二个策略是“基于风险的测试”。在本文中,基于风险的测试主要工作是如何选择测试重点,将有限的测试时间和测试资源花费在关键的和高优先级的地方。下面通过一个简单的案例“基于潜在的风险列表选择测试重点”,阐述如何选择测试重点。

  基于潜在的风险列表选择测试重点,其核心思想是:针对测试对象的每个功能模块,根据罗列的潜在风险列表进行风险评估,然后将潜在的风险列表评估的数值进行相加,即可以得到该功能模块的风险级别;根据功能模块的不同风险级别,确定其测试重点,并选择合适的测试策略。具体步骤如下:

  ● 步骤1:测试人员检查风险列表中的每个风险,评估该风险对测试对象功能模块产生影响的可能性;

  ● 步骤2:将功能模块相关的风险的可能性相加,得到每个功能模块的风险级别;

  ● 步骤3:按照风险级别进行测试重点或者测试优先级的排列;

  [项目案例]

  某通讯产品在一轮测试中,主要覆盖4个功能模块。为了简单起见,分别以功能模块1到功能模块4表示。功能模块中潜在的风险列表如下:

  (1)功能模块将会被用户频繁的使用;

  (2)功能模块提供的功能非常复杂;

  (3)功能模块经常被修改或者升级;

  (4)功能要求具有很高的实用性;

  (5)功能要求保持一定的性能级别;

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号