博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码覆盖率计算利器:DotCover的使用(含Manual Test)
阅读量:6222 次
发布时间:2019-06-21

本文共 1922 字,大约阅读时间需要 6 分钟。

因为某项目的白盒单元测试做的不是很好,而QA又提出了非常高的代码覆盖率移行标准,不得以开始调研能覆盖手工测试(Mannual Test)的覆盖率工具,加上一些最基础的条件,该工具必须满足如下三点:

1:能计算白盒单元测试覆盖率;

2:能计算黑盒手工测试覆盖率;

3:支持MSTest框架;

第一个自然想到的就是NCover,没错,它肯定满足这三个条件,它有一个满足21天使用的Trial版本可以用,但是,商业版本的价格也是惊人的:

NCover Code Central$ 2,298

NCover Desktop$ 658
NCover Collector$ 448

很多刀刀。相比而言,生产ResharperJetbrainsDotCover,价格就要便宜很多,Personal License只要99刀,即便商业授权也只要199刀。当然,我现在还发现一个更龌蹉的方法,就是使用Classroom版本,然后到期了改时间就OKDotCover现在是鼓励大家合理使用。

闲话少说,那么到底它支持不支持如上3个标准(实际上,最重要的是:是否良好支持手工测试覆盖率计算)。下载Classroom liscence,安装之(目前已支持VS2012)。DotCover是基于VS插件的形式存在的,安装完毕,我们会在VS的工具栏中发现DotCover的标识,如下,比如,启动之“Cover Application”:

就会出现如下界面:

可以看到,它支持的应用种类还是比较多的。如果是启动普通的应用程序,如Winform,那么操作起来还是比较简单的,点击“Standalone Application”后,就会出现如下界面:

按照提示,输入后,OK-runDotCover就会为我们启动应用程序,当然,随着启动应用程序,DotCover的主模块也被启动起来,如下:

然后随着我们使用该应用程序(也就是测试),DotCover会跟踪代码执行的路径。测试完毕,我们“Get Snapshot”,最终DotCover会为我们生成如下的报告:

覆盖率结果清清楚楚的列在最后一列。

测试网站,要稍稍复杂一点,因为我们要将DotCover部署在WEB服务器上。由于它是以VS插件的形式存在的,首先WEB服务器上就得有VS(注意,Express版本可是不行滴)。启动DotCover还是一样的,但是最主要的,我们在选择Application Type的时候,要选择“IIS Application”,然后在弹出的界面里,URL可以空着,Run webbrowser也可以不勾选(因为我们又不是要在服务器上测试网站),最最重要的,是在“Edit Filter”的弹出界面中把网站的Bin路径配置进去。注意,如果我们的站点有多个虚拟路径的话,则需要把全部虚拟路径的Bin目录配置进去(以分号隔开)(下面的那些checkbox都可以不再勾选)。配置完毕,点“Run”。

然后,我们回到某个客户端上,启动浏览器,输入网站地址,当第一个人启动网站后,我们就会发现,在服务器的这个界面:

中的Process栏目,会变成w3wp这个进程,如果这个进程出现了,那么说明DotCover开始工作了。

最后,有几点需要进行说明:

1:每次测试完毕,应该将Snapshot保存为独立的文件,最终每次测试的结果我们可以使用DotCover的命令行工具进行合并,示例如下:

        DotCover merge /source=d:\1.dcvr;d:\2.dcvr /output=d:\end.dcvr /tempdir=d:\

2:其次,当前的Release版本为2.1.xxx,恭喜你,安装在Win7上毫无问题,但是,当你安装在XP或者Window Server2003版本上的时候,会发现:

        “Can't initialize profiler. PDB server wasn't started."

这个时候,我们就要去JetBrainsDailybuider版本的地址下载最新的安装包了,在这里:JetBrains号称2.2版本已经修复了该问题。是的,它确实已经修复了,但是还有些别的小问题,如果你不幸遇到了"failed to cocreate profiler",一定记得来问我是如何龌蹉滴解决了该问题的。

当然,所有这一些,我相信2.2Release版本出来后一定会解决的,毕竟,牛公司就得有个牛公司的风范。

 

总之,DotCover还是一款非常不错的覆盖率计算的工具软件,解决了开发、测试、QA三方面的问题(PS,白盒的覆盖率就不介绍了,毕竟那还是最基本的功能)。

 

 

转载地址:http://nmeja.baihongyu.com/

你可能感兴趣的文章
关闭端口占用程序
查看>>
winXP procession秘钥
查看>>
KD树学习小结
查看>>
tomcat启动失败
查看>>
日期 英文 英语 韩文 韩语
查看>>
原码、反码、补码
查看>>
opencv 4.0 + linux + cuda静态编译
查看>>
Qt MVD框架下修改视图中数据项/标题的背景颜色说明(Qt 5.10.1)
查看>>
软件工程第二次作业——制作网站
查看>>
c# IL 指令集
查看>>
HDU 1231:最大连续子序列(DP)
查看>>
Mysql基础操作
查看>>
Winhex数据恢复学习笔记(四)
查看>>
合工大OJ 1337 一加二减三
查看>>
Python学习之==>函数
查看>>
Chromium base库分割字符串SplitString
查看>>
win95+ie3-win10+ie11 浏览器执行漏洞
查看>>
BZOJ 3110 [Zjoi2013]K大数查询 ——整体二分
查看>>
文本溢出省略号显示时,水平位置发生偏移
查看>>
和真正的程序员在一起是怎样的体验
查看>>