AQtime使用简介-覆盖率测试方法

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

AQtime使用简介-覆盖率测试方法

一.AQtime计算覆盖率的方法
AQtime对实际可执行的代码行(不包括注释、空行、函数头、#include语句、宏定义、数据结构定义、case语句和对应的break、部分{}等)进行打点标记,完全执行的代码行标记绿点,部分执行到的代码行标记黄点,完全没有执行到的代码标记红点。这样AQtime统计的是插入的点数而不是实际的代码行数,这个点数要远远小于实际的代码行数。在AQtime中只有绿点的数量才作为被覆盖到的行的数量,而黄点和红点都被计算为未覆盖的行数,于是有计算覆盖率的公式:
                                                                                     绿点数量
                                            覆盖率 = ---------------------------------------------   * 100%
                                                             绿点数量+黄点数量+红点数量

二.  AQtime覆盖率分析的意义
a.帮助发现未执行到的功能,为再次执行做准备;
  软件中有些功能可能是相对比较隐蔽的,在编写测试用例时也可能没有涉及到此功能,如果没有覆盖率分析的话,那么此功能就可能不会被发现,这就造成覆盖不全面,为软件留下隐患。那么通过覆盖率分析就可以发现这些隐含的软件功能,可以针对这些功能重新设计必要的测试用例。
b.帮助发现特殊情况下才能走到的功能,以再次评判软件引入此功能是否
有必要;
  这些特殊情况包括:异常处理、故障处理、特殊保护、特定情况下的功能处理等等,在软件测试的过程中这些情况往往是无法模拟的,这些无法覆盖到的功能有的可能是并不需要的,也就是说某些处理可能永远都无法走到,那么软件引入这些处理就是没有必要了。
c.帮助发现废码;
  通过AQtime覆盖率的分析就可以发现所有的永远都不会执行到的代码,但是与程序无关的代码却不一定能够全部发现,因为这些代码是有可能被执行到的,例如程序的调试代码。这两者都应该在软件的后续版本中被删除掉,保留这些代码只会为软件的安全带来隐患,只是后者的排查难度比较大,需要进行全面的代码审查。
三.  AQtime覆盖率分析的方法
   1.重新编译被测软件,为软件增加调试信息项,具体添加的内容会因开发工具的不同而有所差异,详见AQtime帮助手册;
   2.打开AQtime,新建一个工程;
   3.加载被测软件:在AQtime左边的Setup属性页中点击“Add Module”按钮,此时会弹出一个“Add Module to Project”窗体,选择被测软件,然后点击“打开”按钮;
   4.选择分析器:在AQtime的工具栏中点击“分析器选择” 下拉框,选择“Coverage Profiler”;
   5.在Setup属性页的工具栏中的“View By”下拉框中,我们选择“Source File”;
   6.新加一个“Areas”:在“Areas”区域中的空白处点击鼠标的右键,系统弹出一个浮动菜单,在菜单中点击“Add Area…”菜单项,此时系统出现“Add Area”对话框,接着,在对话框中的“Name”框中输入任意的字符,在“Type”中选择“Including”,“Level”中选择“Line”,点击“OK”按钮;新建的Area出现在“Areas”区域中;
   7.在“Areas”区域中系统有两个默认的Area:“Profile Entire .NET Code by Routines”和“Full Check by Routines”,请确认没有选择二者;
   8.将被分析的源文件加载到新建的Area中:在Setup属性页中的Modules窗口中展开被测软件,此时被测软件所用到的所有源文件就以树状结构罗列出来,这些文件有的是开发工具自动加入的,我们就没有必要分析它们了,我们只选择开发方提供给我们的代码清单中包含的源文件即可。具体方法是,鼠标左建点击要加载的第一个源文件,然后按住Shift键,再用鼠标左键点击要加载的最后一个源文件并拖到新建的Area中,然后放开鼠标即可。如果添加了不需要分析的源文件,也可以进行移除操作,在Area中选择不需要分析的源文件用鼠标右键点击,在弹出的浮动菜单中点击“Remove”菜单项,然后确认即可;
   9.运行被测软件:在工具栏中点击绿色的“Run”按钮或直接按F5键,AQtime开始运行被测软件,此时我们便真正开始了我们的测试工作,执行我们编写的测试用例。需要注意的是,在做完测试时一定要正常退出被测软件,一些意外的退出AQtime是无法获得测试结果的;
   10.执行结果的保存与合并:我们的测试不可能一次全部做完,中间必有停顿,每做一次AQtime就会保存一次测试结果,当次数比较多时可能保存的结果就比较多了,这时AQtime的合并功能就显得非常重要了。测试结果保存在Report属性页中的Explorer窗口中,其中有三个根节点“Last Results”(最近的测试结果)、“Saved Results”(按了Explorer窗口工具栏上的保存按钮后保存的结果)和“Merged Results”(合并后的结果),这三个节点下的结果都可以合并,合并后的结果自动保存在“Merged Results”节点下。具体合并操作方法为:按住Ctrl键,用鼠标左键点击要合并的结果,然后放开Ctrl键,再在被选择的结果上点击右键,系统出现浮动菜单,选择“Merge”项,系统开始合并;
   11.分析测试结果:在所有的测试结果中都有三个子节点“Routines”、“Modules”和“Source Files”。“Routines”是对函数覆盖分析的结果保存,“Modules”是整个软件总的覆盖率的统计,“Source Files”是针对在Area中加载的所有源文件的覆盖率的统计,我们分析的重点是“Routines”。在合并的测试结果中展开“Routines”节点,双击“All Threads”子节点,此时右边的“Report”
窗口中便会出现所有的函数的覆盖率统计表格。在表格中双击一个函数,在AQtime的底边窗口中的“Editor”属性页中会看到相应的代码,属性页的左边会显示代码的调用情况——调用次数和标记。如果不能看到代码,那么就需要告诉AQtime代码的存在路径:在主菜单栏中点击“Options”,然后选择“Search Directories”项,系统弹出“Search Directories”对话框,接着点击“Browse…”按钮选择源代码所在的目录,如果源代码所在的文件夹比较多,那么我们可以只将根文件夹添加进去,然后选择“Include Subdirectorie”项,最后点击“OK”按钮。
在函数的覆盖率统计表格中我们可以看到程序的总行数、未覆盖行数、已覆盖行数、覆盖率和标记等列。根据这些信息我们便可以分析那些代码已经走到了那些还没有走到,没有走到的我们就要查找原因,针对不同的情况做不同的处理;
四. AQtime中影响覆盖率的因素
   1.在新建的Area中没有去掉不要求分析的源文件。在测试正式执行前一定要把不需要参与分析的源文件去掉,否则覆盖率是不可能上去的,所有的工作都等于白做了。
   2.用例设计不充分。在设计用例时不可能把所有的功能点都覆盖到,这就造成在执行用例时会有部分代码走不到,从而覆盖率受到影响。当我们分析覆盖结果时针对没有走到的代码还可以补充部分测试用例,以提高覆盖率。
   3.源文件中存在废代码。包括以下几种情况:调试代码、无用的语句或函数,还有当需求发生了变化软件功能进行了修改后,但是以前的代码没有删除也是造成废码的情况。
   4.不可能出现的异常处理。
   5.不可能走到的条件分支。
   6.空函数。
   7.测试环境与实际运行环境的差别。

以上只是我使用AQtime一点心得,有错误的地方请大家批评指出,以后还会继续把我的心得与大家分享.
交流请发邮件:zhysync@163.com或msn:atsingboy@hotmail.com
AQTime新手入门 一、AQTime功能简介 AQTime含有完整的性能和调试工具集,能够收集程序运行时关键的性能信息和内存/资源分配信息,并提交概要报告和详细报告,还提供所有的程序优化处理工具,囊括了自定义过滤器、图形化的调用层次结构一直到源代码浏览等内容。重点:能收集分析程序中某个例程所消耗的资源。 二、下载安装 关于AQTime的下载安装:http://confluence.fscut.com/display/CAD/2019/05/21/AQTime 三、AQTime常见问题解决方法 卡顿、无响应。在安装目录\ 阅读详情

相关推荐

AQtime使用教程

通过这篇文章,读者可以对AQTime有个初步的认识,并且可以参考文章中的实例实际上手实践。

AQTime_Pro_8.81.54.7_Release_20210612.rar

解压密码:123 安装说明:https://blog.csdn.net/hongfu951/article/details/118517942 AQtime PRO是款功能强大的软件测试和BUG查找软件。它可以为用户提供全方面的软件压力测试功能,让用户可以在软件发布之前找出尽可能多的BUG,方便快捷,非常好用。

AQTime教程

AQTime中文教程

AQTime简要说明

AQTime 简要说明 AQTime 是一款Code Profile 工具,在2004年即获得了Sys-Con Magzine的最佳调试工具奖,它是由AutomatedQA公司(http://www.automatedqa.com)开发的,支持多种语言的性能测试

AQtime使用小记

今天刚到网上下了AQtime。因为有个通信及数据存储的程序出现的内存泄漏。在用户的环境里出现了两次,在测试的环境里一次也没有出现,开发人员猜测是一部分代码引起的。说要代码的覆盖测试。看看测试环境里有那些没有运行到。问有AQtime有没有和自动化工具一起用?在BBS里看到AQtime使用简介-覆盖率测试方法(转)AQtime对实际可执行的代码行(不包括注释、空行、函数头、#include语句、宏定义

gddsky的小空间 1610

性能分析工具AQTime

性能优化的工具:统计出统计粒度(函数/行)在运行过程中,各粒度运行的占用时间。从而来为性能优化提供依据。 AQTime-具有性能统计功能,下面对AQTime的主要分析方面进行介绍   首先,选择performance profile(缺省的),进入性能统计模式   AQTime用作性能分析时 提供几种分析模式

春夜喜雨的专栏 2181

AQtime代码覆盖率深度分析之一

前一篇介绍了Code Coverage的一些指标,那么如何比较简单的评价一款软件对这些指标的支持呢。由于公司的项目组选择AQtime这个工具,所以有机会能进行比较深入的体验一下。为了避免IDE自动产生的code,我们采用记事本来编写一个简单的C dll,同时,

ffeiffei的专栏 2821

Delphi性能剖析工具AQTime标准版使用与结果解读.pdf

文档支持目录章节跳转同时还支持阅读器左侧大纲显示和章节快速定位,文档内容完整、条理清晰。文档内所有文字、图表、函数、目录等元素均显示正常,无任何异常情况,敬请您放心查阅与使用。文档仅供学习参考,请勿用作商业用途。 如果你正在寻找一种高效、强大的编程语言来开发跨平台应用,那么Delphi绝对值得考虑!它拥有直观的可视化开发环境,让代码编写变得轻松简单。凭借着快速的编译速度和卓越的性能优化,Delphi能够帮助开发者迅速构建出高质量的应用程序。无论是Windows、macOS、iOS还是Android平台,Delphi都能完美支持,真正实现一次编写,多平台部署。选择Delphi,开启高效开发之旅!

aqtime 。6.21 破解版 3

aqtime 。6.21 破解版 分卷3 WIN7 64 可用

AQtime探索包,AQTime Guru分析器

  AQtime是一个程序性能探索包,可帮助开发人员跟踪内存泄漏、CPU 和其他 I/O 瓶颈,执行广泛的代码覆盖率分析并执行错误模拟。AQtime Guru 是作为应用程序开发计划的一部分而拥有的通用代码功能工具之一。它包括对 Java、Microsoft.NET、C/C++、Delphi、JScript、VBScript、Silverlight 和其他编程框架的支持。可以将 AQtime 用作具有丰富 UI 的独立分析工具,或者将其作为插件合并到 Microsoft Visual Studio 和 Em

q2315702359的博客 778

AQtime代码覆盖率深度分析之二

AQtime的Coverage Profiler有一些不错的特性,能方便我们更好的进行代码覆盖率的检测。 New Area和 Files to Ignore当目标module被加进来是,AQtime会以树形结构,把module的对象层次图显示出来,如c/c++

ffeiffei的专栏 1588

AQTime简介和教程

简介: AQTime和MemProof都是AutomatedQA旗下的产品,AQTime比MemProof提供了更丰富强大的功能。该产品含有完整的性能和调试工具集,能够收集程序运行时关键的性能信息和内存/资源分配信息,并提交概要报告和详细报告,还提供所有的程序优化处理工具,囊括了自定义过滤器、图形化的调用层次结构一直到源代码浏览等内容。AQTime的特色在于它不仅是一款调试工具,还是一款性能优化...

goingchan的专栏 268

AQTime入门教程

转载自:  http://blog.csdn.net/hero_yin/archive/2006/09/21/1261525.aspx1 简介AQTime和MemProof都是AutomatedQA旗下的产品,AQTime比MemProof提供了更丰富强大的功能。该产品含有完整的性能和调试工具集,能够收集程序运行时关键的性能信息和内存/资源分配信息,并提交概要报告和详细报告,还提供所有的程

CANI_FriHome的专栏 1033
上一篇: AQTime教程
下一篇: 测试即时通讯 压力测试案例【一】
闵瑞
博客等级 码龄19年 6粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值