zoukankan      html  css  js  c++  java
  • 代码覆盖率计算利器:DotCover的使用(含Manual Test)

    因为某项目的白盒单元测试做的不是很好,而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版本的地址下载最新的安装包了,在这里:http://confluence.jetbrains.net/display/DCVR/dotCover+Early+Access+ProgramJetBrains号称2.2版本已经修复了该问题。是的,它确实已经修复了,但是还有些别的小问题,如果你不幸遇到了"failed to cocreate profiler",一定记得来问我是如何龌蹉滴解决了该问题的。

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

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

  • 相关阅读:
    java类加载器与双亲委派机制详解
    JAVA数据库连接池
    使用vue脚手架(vue-cli)快速搭建项目
    安装Vue.js
    @Autowired的使用:推荐对构造函数进行注释
    图解排序算法(三)之堆排序
    快速排序思想
    TCP与UDP区别总结
    JDBC
    solr单机版安装与集群搭建教程
  • 原文地址:https://www.cnblogs.com/luminji/p/2772304.html
Copyright © 2011-2022 走看看