• .net白盒测试


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


    前提:最近部门需要白盒测试的工具,在网上也搜索了很多资料,国内很少有类似的资料(很少公司.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 Expressiisexpress.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为主入口

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

  • 相关阅读:
    剑指Offer替换空格
    转载类的静态成员函数和静态成员变量的使用
    最长递增子序列长度LIS
    剑指Offer二维数组中的查找
    转载C语言:浮点数在内存中的表示
    7 CICD实战 持续集成71 kubernetes与cicd
    9 深入kubernetes服务调度与编排91 健康检查高可用的守护者
    项目成功的⑤大因素
    Ucos_II2.52源码中文译注
    SIP协议中的认证方式
  • 原文地址:https://www.cnblogs.com/jhy55/p/8558428.html
Copyright © 2020-2023  润新知