代码覆盖(Code coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率. Visual Studio 2017的企业版可以直接查看测试的代码覆盖率, 而由于我只能用得起Visual Studio Community和VS Code所以不得不寻找其它的免费办法来查看测试覆盖率. coverlet 我找到了 coverlet: https://github.com/tonerdo/coverlet, 它是一个针对.NET Core的跨平台代码覆盖率的…
IT咨询顾问:一次吐血的项目救火   年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登录,对方技术人员一头雾水不知道什么原因,后台日志没有任何错误信息.我临危受命,赶往该项目进行扑火工作,其实本来2天都可以解决的问题,让我花了5天解决.具体原因待我一一解释. 1,未掌握log日志的精髓 log日志的debug,info,error信息乱打,该用debug的用info,该用info的用…
查看SQL语句执行时间与测试SQL语句性能 写程序的人,往往需要分析所写的SQL语句是否够优化.是否能提升执行效率,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了. 通过设置STATISTICS我们可以查看执行SQL时的系统情况.选项有PROFILE,IO ,TIME.介绍如下: SET STATISTICS PROFILE ON:显示分析.编译和执行查询所需的时间(以毫秒为单位). SET STATISTICS IO ON:报告与语句内引用的每个表的扫描数…
原文:.Net Core Socket 压力测试 .Net Core Socket 压力测试 想起之前同事说go lang写的push service单机可以到达80万连接,于是就想测试下.Net Core能达到多少.简单地写了全异步的服务端和客户端代码(未作任何优化).测试环境只是笔记本18万连接CPU点26%左右内存点1.2G,目测放到服务器上80万还是有希望. 一.测试代码 服务端:启动TcpListener监听,异步接受客户端连接AcceptTcpClientAsync.连接到达后异步读…
1. 目的:       junit 单元测试,Cobertura   测试覆盖率报告       项目目录结构          2. maven 配置     <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.…
 对junit单元测试的报告:类似这样的结果 ------------------------------------------------------- T E S T S ------------------------------------------------------- Running com.cn.qin.actionTest.UserActionTest sdffsdfsdf Tests run: 1, Failures: 0, Errors: 0, Skipped: 0,…
原文地址:http://www.moye.me/2014/12/03/express_coverage/ 引子 有群友问到Express怎么做 单元测试/覆盖率测试,这是上篇所遗漏的,特此补上 Express Web测试 做 Express Web 测试首先要面对的问题是在哪端进行测试: 客户端的请求响应测试是黑盒,需要预启动站点,且无法附加覆盖率测试 服务端的单元测试需要 Mock ,可附加覆盖率测试 我们需要对Express的路由做覆盖率测试,显然,我们会选择在服务端进行测试.这意味着:每个…
Eclipse创建Maven web项目: 到此,并没有创建好,接下来一步步解决问题: 问题:无法创建src/main/java目录 解决: 右键项目选择[properties] 点击[OK] 问题:Cannot change version of project facet Dynamic web module to ... 解决办法: 改为你要的版本,我设为1.7 改为你要的版本,我设为1.7.0 我设为: 保存,刷新项目: 到此尚未完成,还有一个文件要修改,web.xml: 改为: <?x…
这是一个JavaProject,关于Cobertura的用法详见代码注释 首先是应用代码(即被测试的代码) package com.jadyer.service; public class CalculatorService { public int add(int a, int b) { return a + b; } public int minus(int a, int b) { return a - b; } public int multiply(int a, int b) { ret…
  尽管测试先行编程(test-first programming)和单元测试已不能算是新概念,但测试驱动的开发仍然是过去 10 年中最重要的编程创新.最好的一些编程人员在过去半个世纪中一直在使用这些技术,不过,只是在最近几年,这些技术才被广泛地视为在时间及成本预算内开发健壮的无缺陷软件的关键所在.但是,测试驱动的开发不能超过测试所能达到的程度.测试改进了代码质量,但这也只是针对实际测试到的那部分代码而言的.您需要有一个工具告诉您程序的哪些部分没有测试到,这样就可以针对这些部分编写测试代码并找出…
背景 对苹果开发者而言,由于平台审核周期较长,客户端代码导致的线上问题影响时间往往比较久.如果在开发.测试阶段能够提前暴露问题,就有助于避免线上事故的发生.代码覆盖率检测正是帮助开发.测试同学提前发现问题,保证代码质量的好帮手. 对于开发者而言,代码覆盖率可以反馈两方面信息: 自测的充分程度. 代码设计的冗余程度. 尽管代码覆盖率对代码质量有着上述好处,但在 iOS 开发中却使用的不多.我们调研了市场上常用的 iOS 覆盖率检测工具,这些工具主要存在以下四个问题: 第三方工具有时生成的检测报告文…
Emma使用与分析 #什么是Emma EMMA 是一个开源.面向 Java 程序测试覆盖率收集和报告工具.它通过对编译后的 Java 字节码文件进行插装,在测试执行过程中收集覆盖率信息,并通过支持多种报表格式对覆盖率结果进行展示. EMMA 所使用的字节码插装不仅保证 EMMA 不会给源代码带来“脏代码”,还确保 EMMA 摆脱了源代码的束缚,这一特点使 EMMA 应用于功能测试成为了可能. #如何使用emma现在可以通过命令行,ant,maven,Jenkins等方式使用,这里只介绍通过mav…
让 Python 代码更易维护的七种武器 2018/09/29 · 基础知识 · 武器 原文出处: Jeff Triplett   译文出处:linux中国-Hank Chow    检查你的代码的质量,通过这些外部库使其更易维护.   可读性很重要.— Python 之禅The Zen of Python,Tim Peters 随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始就没有建立过那些标准).然而,在代码库中保持一致的代码风格和测试标准能够显著减轻维护的压力…
作者:HelloGitHub-追梦人物 文中所涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 我们完成了对 blog 应用和 comment 应用这两个核心 app 的测试.现在我们想知道的是究竟测试效果怎么样呢?测试充分吗?测试全面吗?还有没有没有测到的地方呢? 单凭肉眼观察难以回答上面的问题,接下来我们就借助 Coverage.py,从代码覆盖率的角度来检测一下我们的测试效果究竟如何. Coverage.py (以下简称 Coverage)是 Python 测试界最为流…
作者:vivo 互联网服务器团队- Xu Shen 本文主要介绍vivo内部研发平台使用JaCoCo实现测试覆盖率的实践,包括JaCoCo原理介绍以及在实践过程中遇到的新增代码覆盖率统计问题和频繁发布导致覆盖率丢失问题的解决办法. 一.为什么需要测试覆盖率 1.1 在日常研发过程中,经常发现一些问题 测试案例的设计凭经验,当研发一个新功能时,经常对测试场景估计不足,到上线后发现bug: 开发经常做一些需求之外的代码变更(代码小范围内重构或在开发过程中发现小缺陷随手改掉),导致测试任务无法测试到对…
karma 的插件 karma-coverage 提供了测试代码覆盖率的支持. karma 的页面:http://karma-runner.github.io/0.8/config/coverage.html 进行了说明.karma 使用 Istanbul.实现覆盖率统计. 首先你需要安装这个 Karma 插件,然后需要在配置文件的三个地方进行配置. 安装 karma-coverage 当然了,你必须安装这个组件才能完成覆盖率统计.可以看到,在安装这个插件的时候,已经安装了 Istanbul .…
测试 目前主流的就bdd和tdd,自己查一下差异 推荐 mocha和tape 另外Jasmine也挺有名,angularjs用它,不过挺麻烦的,还有一个选择是qunit,最初是为jquery测试写的,在nodejs里用还是觉得怪怪的. 如果想简单可以tap,它和tape很像,下文会有详细说明 mocha mocha是tj写的 https://github.com/mochajs/mocha varassert=require("assert") describe('truth',fun…
此文来自于:https://www.cnblogs.com/cnsdhzzl/p/7638883.html EclEmma的简介 一个优秀的开源软件测试工具 eclipse的一个插件 能够对由 Java 语言编写的程序进行覆盖测试 能够在工作平台中启动 直接对代码覆盖进行分析 覆盖结果将立即被汇总并在Java源代码编辑器中高亮显示 也可程序运行的结果生成详尽的覆盖测试报告 可以结合JUnit使用 工作原理:Class Instrumentation(把统计代码插入编译好的.class文件)  …
测试覆盖率工具:EclEmma 2016-08-26 目录 1 测试覆盖率实现技术2 EclEmma介绍3 EclEmma测试覆盖率指标4 EclEmma安装5 示例项目介绍  5.1 创建项目  5.2 用Coverage as TestNG Suite跑用例  5.3 跑后结果  5.4 导出HTML报告   5.5 导入导出合并覆盖率Session  5.6 测试引用的jar包的覆盖率 1 测试覆盖率实现技术 返回 Instrumentation:代码注入,在产品代码的关键位置插入统计代码…
单元测试: 单元测试是从代码层面验证代码的正确性. 一般考虑接口中的数据结构是否正确,变量的临界条件,如空字符串,空集合等. ​ Junit入门  参考: Junit 入门教程: https://www.cnblogs.com/ysocean/p/6889906.html ​ 通过这个案例,应能直观了解到junit是干嘛的,并能自己跑一个实例了. 这个案例也说清楚了做单元测试是不是一定要用junit了.Junit给我们提供了一个非常方便的单元测试框架. ​ 单元测试覆盖率 跑单元测试的时候,还需…
什么是代码覆盖率? 代码覆盖率是对整个测试过程中被执行的代码的衡量,它能测量源代码中的哪些语句在测试中被执行,哪些语句尚未被执行. 为什么要测量代码覆盖率? 众所周知,测试可以提高软件版本的质量和可预测性.但是,你知道你的单元测试甚至是你的功能测试实际测试代码的效果如何吗?是否还需要更多的测试? 这些是代码覆盖率可以试图回答的问题.总之,出于以下原因我们需要测量代码覆盖率: 了解我们的测试用例对源代码的测试效果 了解我们是否进行了足够的测试 在软件的整个生命周期内保持测试质量 注:代码覆盖率不是…
一.前言 在之前的文章[ASP.NET Core 整合Autofac和Castle实现自动AOP拦截]中,我们讲过除了ASP.NETCore自带的IOC容器外,如何使用Autofac来接管IServiceProvider进行依赖注入. 最近老有想法在ASP.NET Mvc Core中实现Controller的属性值的依赖注入,但是找遍了Microsoft.Extensions.DependencyInjection类库也没找到对应的方法,而且查看源代码之后发现其都是针对构造器进行依赖注入的,并没…
使用Postman进行手动测试 如果您是开发人员,测试人员或管理人员,则在构建和使用应用程序时,有时了解各种API方法可能是一个挑战. 使用带有.NET Core的Postman为您的Web API生成良好的文档和帮助页面就像进行一些HTTP调用一样简单. 让我们开始从GitHub下载简单的待办事项. 从这个链接下载并运行下面的TodoMvcSolution . 下载Postman Postman是Google Chrome应用程序,用于测试API调用.您可以从下面的网站下载并安装Postman…
之前用ASP.NET CORE做的项目 加了一个新功能,数据库加了个字段balabala.... 更新到服务器上,新功能测试正常,然后就没管了..... 今天客户说网站有BUG,某个页面打开后出错了,以前是正常的,上去看了下,是控制器里的代码出异常了..... 就想到加了新功能后除了本地运行每个链接都点一下手工测试有没有错误的,能不能全由程序来测试,于是想到了单元测试 靠搜索补了一下单元测试的基础知识,按网上的示例跟着做,先试着写个测试DAL增删改方法的, 测试通过了,然后再按网上找到的文章 h…
环境:vmware + centos+ .net core2.0 一.安装.net core sdk sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpmsudo yum update -ysudo yum install -y dotnet-sdk-2.2 二.创建mvc项目 #mkdir data #cd data #dotnet new --help  #查看dotnet…
本文参考:http://www.voidcn.com/article/p-ybnvuffh-ke.html:转载请注明出处 junit是无法进行并发测试,但是又有需要并发测试的场景怎么办呢?此时可以借助一个插件(Groboutils Core)来完成这种功能. maven仓库地址:https://mvnrepository.com/artifact/net.sourceforge.groboutils/groboutils-core 第一步:在项目的pom.xml中加入依赖: <!-- http…
sp.net-core中Session是以中间件的形式注册使用的.不比asp.net中的使用,直接使用Session就行. 首先在.net-core框架中注入Session中间件,首先在ConfigureServices中注入Session服务.但是,我们还需要注册内存服务.将Session存储到内存中,代码如下: public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.Ad…
前言 jacoco是一个开源的覆盖率工具,它针对的开发语言是java,其使用方法很灵活,可以插桩到Ant.Maven中,可以使用其JavaAgent技术监控Java程序等. 那么本次主要使用对java代码进行覆盖率统计,比如A测试攻城狮在功能测试时/接口测试时,实际覆盖测试了多少java代码,可以作为一个评判. jacoco官网地址:http://www.eclemma.org(有墙) 一.jacoco基本介绍 1.jacoco是根据控制流Type来采用不同的探针插桩策略的.(植入探针) 2.探…
衡量Unit Test(单元测试)是否充分, 覆盖率是一个必要指标, 是检验单元测试的重要依据, 这里针对python unittest 的单元测试覆盖率coverage进行分享. 来自官方的解释: Coverage.py runs on many versions of Python: CPython 2.6, 2.7 and 3.3 through alpha 3.8. PyPy2 6.0 and PyPy3 6.0. Jython 2.7.1, though not for reporti…
原文:http://www.cnblogs.com/yucongblog/p/5297051.html 1.环境准备 <project> ... <reporting> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.5…