很久没写博客了,刚好这段时间空闲,做点记录


前提:最近部门需要白盒测试的工具,在网上也搜索了很多资料,国内很少有类似的资料(很少公司.net代码进行白盒测试),最后在国外(翻墙)网站查找到了部分资料

白盒测试中的 条件覆盖、逻辑覆盖....这里就不解释了

用到的开源工具:Opencover、ReportGenerator(这两个开源工具就不在这里介绍了,百度有介绍)

开发语言:C#

白盒测试范围:web站点、exe执行文件

运行OpenCover需要一系列参数,这里只说明几个主要的参数:

-target:这是目标应用或服务的路径(名称),这里指单元测试工具的路径,支持NUnit和MS Unit

-targetdir:目标目录的路径,如果target argument已经包含了一个路径,那么这个参数可以提供一个查找pdb文件的可选路径

-targetargs:target参数指定的应用所需要的参数(编译测试工程生成的一个dll文件或者EXE文件路径)

-output:输出XML文件的路径,如果没有提供将在当前目录下生成results.xml, 该文件将用于ReportGenerator生成可视化的覆盖率报告

ReportGenerator所需要的参数:

-reports:上述XML文件的路径

-targetdir:生成报告的目录

 string sExecShell = "{0} -register -target:\"{1}\" -output:{2} -targetdir:\"{3}\"";
   public void Exec(OpenCoverModel.WebModel model, LibClass.OpenCoverModel.GlobalModel globalModel)
{
TransfEvent("Web模式,执行站点" + model.Site);
string sOutput = model.OutPut + "\\" + model.Site;
XMLEvent(sOutput + "\\" + model.Site + ".xml");
if (!Directory.Exists(sOutput))
{
Directory.CreateDirectory(sOutput);
}
string sShell = string.Format(sCmdFromat, globalModel.OpenCover, @"C:\Program Files (x86)\IIS Express\iisexpress.exe", model.TargetDir, model.Site, globalModel.ApplicationHost, globalModel.Register, sOutput + "\\" + model.Site + ".xml");
Thread thread = new Thread(ThreadExec);
thread.IsBackground = true;
thread.Start(sShell); }

详细代码可以下载附件

https://files.cnblogs.com/files/jhy55/CodeAnalysis-2.rar

在执行以上命令之后会生成指定文件的数据(output)

通过ReportGenerator可以生成 html格式的可视化文档

string sCmd = "{0} -reports:{1} -targetdir:{2}";

生成html之后,index.html为主入口

先写到这里为止吧!有问题或者描述不对的请反馈

最新文章

  1. EC笔记,第一部分:2.尽量以const,enum,inline代替#define
  2. 数据库---MySQL练习题及答案
  3. jmeter断言
  4. selenium 右键另存为操作
  5. Codeforces Round #306 (Div. 2) E. Brackets in Implications 构造
  6. ANDROID_MARS学习笔记_S01_012_SeekBar
  7. POJ 2942.Knights of the Round Table (双连通)
  8. aspx页面中获取当前浏览器url
  9. SZU:B85 Alec's Eggs
  10. java 判断大小写、数字出现的次数
  11. 201521123032 《Java程序设计》第9周学习总结
  12. 《从零玩转JavaWeb+项目实战》-系列课堂录制计划
  13. hue上配置HA的hdfs文件(注意,HA集群必须这样来配置才能访问hdfs文件系统)
  14. Eclipse Maven编译报不支持muti-catch
  15. 【M2】软件工程终期总结报告——阅读作业
  16. 3月26 document的练习
  17. 现学现卖——VS2013 C#测试
  18. sourceforge
  19. Coursera-AndrewNg(吴恩达)机器学习笔记——第三周编程作业(逻辑回归)
  20. window.open()与window.showModalDialog

热门文章

  1. mac攻略(2) -- apache站点配置
  2. Linux定时任务深入学习
  3. MySQL 参数- Innodb_File_Per_Table(独立表空间)
  4. 遇见JMS[1] —— activeMQ的简单使用
  5. 使用CrashHandler来获取应用的crash信息
  6. Spring 框架系列之 JDBC 整合实例
  7. 从零开始学习前端JAVASCRIPT — 12、JavaScript面向对象编程
  8. RTLinux编程总结
  9. calendar中set方法和静态属性带来的坑
  10. Column 'id' in where clause is ambiguous