新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 使用McCabe IQ提高测试质量的研究

使用McCabe IQ提高测试质量的研究

作者:时间:2013-11-29来源:网络收藏

随着软件产业的急速发展,应用软件系统规模不断增大,企业对软件质量的的重视程度越来越高,软件企业对软件测试的投入也逐渐增加。目前的商业环境下,商业应用软件的测试着重考虑如下问题:

  (1)效益。怎样确保每个测试都有时间和经济方面的效益。(2)彻底。测试到达怎样的程度可以合理地认为程序已经没有错误了。(3)资源分配。测试资源的分配是否合理,是否聚焦在软件的高危模块上,核心功能部分是否得到足够的测试。

  软件测试中,覆盖率分析的方法越来越多地为测试人员使用。覆盖率是软件测试的一项重要指标,通过达到良好的测试覆盖率,可以保证软件测试的质量。

  1 测试工具

   是美国 Software公司的软件质量管理解决方案,McCebe 是一款基于McCabe圈复杂度进行质量度量和测试的工具,为用户提供软件质量度量、软件结构分析及动态结构化测试的全面支持。McCabe IQ提供客观的方法评估测试覆盖率,具有一致性、重复性、客观解释、质量评估、优化测试及分配资源等强大功能,能真正保证测试每个独立路径,可以确定测试过的路径和没测试过的路径。

  圈复杂度是用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,即合理的预防错误所需测试的最少路径条数[1]。圈复杂度高说明代码质量可能很差,难于测试和维护。根据经验,程序的可能错误和圈复杂度高有着很大关系。圈复杂度显示了在测试一个单元时,为保证软件质量而需要测试的基本路径的最小数目[2]。McCabe IQ建议将圈复杂度不超过10,因为更高的复杂度使测试变得复杂并且可能会发生更多的错误。

  2 使用McCabe IQ做覆盖率分析

  McCabe IQ的度量基于软件结构数学化的严格分析,这种分析以McCebe图复杂度为基础,明确地确定了高风险区域。McCebe IQ就是一款基于McCabe圈复杂度进行质量度量和测试的工具。McCabe IQ覆盖率分析使用了源代码插装技术,能生成分支和路径覆盖报告。对于给定的程序,所有的可测试路径的数目通常非常巨大,找到一个有意义的可测试路径子集非常重要。被MeCabe IQ标识出的路径虽不能代表程序中所有可能路径,但最小的测试路径子集至少遍历每个一次判定,将使McCabe IQ的“圈复杂度”路径分析技术成为可能。

  McCabe IQ可以很方便地做到如下分析:

  (1)复杂度分析:McCabe IQ提供了复杂度信息的即时访问,测量不同的源代码特性,标识出相关的复杂度信息和程序不同模块的结构化程度,特别复杂或非结构化代码部分可以在覆盖率报告中突出出来,使得测试工程师更容易识别出有缺陷的代码。

  (2)软件变更分析:当一个程序被修改,测试需要聚焦在修改的代码上,以及那些被修改代码影响的代码,McCabe IQ的软件变更分析不但可以标识出变更过的代码,而且还可以标识出被修改所影响的模块。

  2.1 McCabe IQ提升功能测试

  在功能测试中,McCabe IQ从程序的需求中得到要测试的功能,然后执行测试用例以验证程序是否按照预期运行。功能测试的目的是为了识别缺失的功能、不能正确运行的功能,以及功能缺陷[3]。

  2.1.1 功能测试在执行过程中要解决如下问题:

  (1)隐含功能的丢失。由于需求定义隐含缺陷,从需求文档得到的功能测试会丢失隐含功能。这样,功能测试很难确保测试的完全性,而且功能测试在功能合并阶段也会导致有问题的行为。

  (2)停止测试的时机。在功能测试中,可测试功能组合的数量相当巨大,最糟糕的情况是功能组合的数量将是2的功能需求次幂的形式,显然测试所有的功能组合是不


上一页 1 2 3 下一页

关键词: McCabe IQ 测试质量

评论


相关推荐

技术专区

关闭