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

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

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

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

  1 McCabe IQ测试工具

  McCabe IQ是美国McCabe Software公司的软件质量管理解决方案,McCebe IQ是一款基于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的功能需求次幂的形式,显然测试所有的功能组合是不可能的。

  2.1.2 通过McCabe IQ的覆盖分析可以提升功能测试

  (1)McCabe IQ覆盖分析可以指出未测试的分支,并突出为测试的分支,隐含功能和明确的功能需求将同样被突出出来。

  (2)McCabe IQ覆盖分析可以识别出高风险模块块,然后使用更为苛刻的路径覆盖进行分析。

  使用路径覆盖分析可以遍历所有的关键功能组合,包括隐含的功能和明确的功能。使用图复杂度路径作为危险模块的测试程度的索引,可以追踪记录可累加的分支和路径执行的次数,通过基于累加的分支和圈复杂度覆盖率决定可以接受的测试程度,从而解决以上两个问题。

  2.2 McCabe IQ提升单元测试

  单元测试是针对软件的最小模块进行正确性检验的测试工作,是代码正确性验证的重要措施。这些最小模块是隔离出来的代码段,称为单元。单元测试的最大挑战在于识别出需要运行的最小的测试的集合,理想情况下,每一个可能路径都要被测试,但是这通常是不可能的。挑战在于分离出路径的子集来提供所有可测试路径的覆盖分析,并且使得路径子集最小,并且没有单元级的冗余[4]。

  McCabe IQ路径图精确的被设计为单元级的覆盖管理,McCabe IQ识别出的最小路径集合可以测试到所有的代码单元,提供所有可测试路径的覆盖分析,至少确认最危险模块已经被覆盖。

  2.3 McCabe IQ提升回归测试

  回归测试是指测试程序开发过程中的修订版本,这种测试验证新增的功能必须按照预期运行,所做的修改达到了预定的目的,错误得到改正,未变更的功能没有被修改或变更所影响[5]。

  2.3.1 回归测试需要解决问题

  (1)程序修改后要找出程序中被变更影响的模块。这样,需要做回归测试的只是受变更影响的模块,提高了效率。

  (2)验证修改过的功能已经被测试。程序的变更通常会引入新的隐含功能,没有黑盒测试的技术,验证所有变更已经被测试是不可能的。

  (3)验证新的功能已经被测试。当做完全功能测试的时候,测试新的功能,要验证完整性测试,隐含功能的测试及功能组合的测试[6]。

  2.3.2 通过McCabe IQ的覆盖分析可以提升回归测试

  McCabe IQ覆盖分析能精确指出程序中已经变更的分支和模块。覆盖分析可以限制在这个区域,聚焦那些需要测试的地方。McCabe IQ隔离出那些被变更影响的程序区域,允许聚焦在需要做回归测试的部分,而忽略那些和变更的程序无关联的模块。对于修改过的功能和新功能,McCabe IQ与新的功能测试一样去对待。

  软件的功能测试根据需求来验证软件功能的实现情况,单元测试主要认证代码的正确性,回归测试保证新做的修改不影响原有的功能需求,McCabe IQ的覆盖率分析在这些方面都能提供很好的帮助。灵活运用McCabe IQ测试工具可以提高测试效率和测试质量,挖掘出软件的潜在错误,保证软件产品的质量。

  参考文献

  [1] 朱鸿,金凌紫。软件质量与保证[M]。北京:科学出版社,1997.

  [2] 樊庆林,吴建国。提高软件测试效率的方法研究[J]。计算机技术与发展,2006,16(10)。

  [3] 叶言苓,崔彦军。软件测试管理的研究与应用[J]。计算机应用与软件,2003,20(9)。

  [4] 李秋英,李海峰,徐刚。基于覆盖率信息的软件可靠性增长测试实践[J]。计算机应用研究,2010,27(7)。

  [5] 高海昌,贺晓红,冯博琴,等。软件结构测试自动化关技术研究[J]。微电子学与计算机,2005,22(02)。

  [6] 郑艳。一种支持软件测试的测试工具研究[J]。无锡职业技术学院学报,2008(4).

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭