博客园 - Victor_菜
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=185254
2014-01-28T04:12:25Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
feed.cnblogs.com
https://www.cnblogs.com/victorcai0922/p/3535566.html
Fitnesse集成TestLink - Victor_菜
TestLink作为开源测试管理工具,可以进行测试工程、测试计划以及执行计划的管理,而且TestLink团队提供了XML-PRC的接口供第三方工具调用,接口支持程度也比较好。Fitnesse作为开源验收测试框架,本身可以做到测试集、测试用例的执行,有较为优秀的测试执行行为的管理以及测试结果的收集。由于Testlink大部分场合下是用于手工测试用例的管理,为了能够是Testlink对于测试用例管理的优点也用于Fitnesse上自动化测试用例的管理,也为了能够让手工测试用例和自动化回归测试用例mapping起来,方便测试管理者能够清晰知道自动化测试用例在测试项目中的比例,也为了测试管理者可以较好的
2014-01-28T04:12:00Z
2014-01-28T04:12:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】TestLink作为开源测试管理工具,可以进行测试工程、测试计划以及执行计划的管理,而且TestLink团队提供了XML-PRC的接口供第三方工具调用,接口支持程度也比较好。Fitnesse作为开源验收测试框架,本身可以做到测试集、测试用例的执行,有较为优秀的测试执行行为的管理以及测试结果的收集。由于Testlink大部分场合下是用于手工测试用例的管理,为了能够是Testlink对于测试用例管理的优点也用于Fitnesse上自动化测试用例的管理,也为了能够让手工测试用例和自动化回归测试用例mapping起来,方便测试管理者能够清晰知道自动化测试用例在测试项目中的比例,也为了测试管理者可以较好的 <a href="https://www.cnblogs.com/victorcai0922/p/3535566.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/p/3461424.html
oracle存储过程代码覆盖率统计工具 - Victor_菜
目前针对于高级语言如C++,JAVA,C#等工程都有相关的代码覆盖率统计工具,但是对于oracle存储过程或者数据库sql等方面的项目,代码覆盖率统计和扫描工具相对较少。因此针对这种情况,设计了代码覆盖率统计工具,其实oracle已经提供了较好的代码profiler包,本文主要介绍利用DBMS_PROFILER设计的代码覆盖率统计工具。1.代码打桩获取代码覆盖率的前提是,需要对被测代码进行profiler,也就是打桩,需要有一个计数器去统计被执行到的代码行。Oracle提供了一个有用的工具包叫DBMS_PROFILER。通过这个包我们可以对被测的SP代码进行打桩,这个包不但可以获取被执行的代码
2013-12-06T07:02:00Z
2013-12-06T07:02:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】目前针对于高级语言如C++,JAVA,C#等工程都有相关的代码覆盖率统计工具,但是对于oracle存储过程或者数据库sql等方面的项目,代码覆盖率统计和扫描工具相对较少。因此针对这种情况,设计了代码覆盖率统计工具,其实oracle已经提供了较好的代码profiler包,本文主要介绍利用DBMS_PROFILER设计的代码覆盖率统计工具。1.代码打桩获取代码覆盖率的前提是,需要对被测代码进行profiler,也就是打桩,需要有一个计数器去统计被执行到的代码行。Oracle提供了一个有用的工具包叫DBMS_PROFILER。通过这个包我们可以对被测的SP代码进行打桩,这个包不但可以获取被执行的代码 <a href="https://www.cnblogs.com/victorcai0922/p/3461424.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/p/3323838.html
ant svn - Victor_菜
ant中的if与unlessif与unless之间是相反的条件表达for example: ant 执行sln,选择project的配置项如"Debug|win32"
2013-09-16T02:48:00Z
2013-09-16T02:48:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】ant中的if与unlessif与unless之间是相反的条件表达for example: ant 执行sln,选择project的配置项如"Debug|win32" <a href="https://www.cnblogs.com/victorcai0922/p/3323838.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/p/3318482.html
Jenkins中关于一些插件的使用方法 - Victor_菜
最近在为公司搭建CI平台过程中,以及在具体项目实施过程中使用过的一些插件的具体用法:1. ant插件 这个插件可能是我们最为经常使用的,若构建脚本是使用build.xml的,那构建引擎肯定会选择ant,在我们公司后台主要是C++和存储过程开发的,前台主要是C#。因此编译打包我都选择了ant进行。通过master-slaver这种模式,通常需要将构建脚本拷贝到slaver机器上,因此有时需要更改一下build.xml中的一些内容就比较麻烦,需要在slaver机器上面去更改。为了方便配置管理人员可以直接在jenkins job配置管理页面进行更改,因此将build.xml中一些需要更改的内容按照.
2013-09-13T01:50:00Z
2013-09-13T01:50:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】最近在为公司搭建CI平台过程中,以及在具体项目实施过程中使用过的一些插件的具体用法:1. ant插件 这个插件可能是我们最为经常使用的,若构建脚本是使用build.xml的,那构建引擎肯定会选择ant,在我们公司后台主要是C++和存储过程开发的,前台主要是C#。因此编译打包我都选择了ant进行。通过master-slaver这种模式,通常需要将构建脚本拷贝到slaver机器上,因此有时需要更改一下build.xml中的一些内容就比较麻烦,需要在slaver机器上面去更改。为了方便配置管理人员可以直接在jenkins job配置管理页面进行更改,因此将build.xml中一些需要更改的内容按照. <a href="https://www.cnblogs.com/victorcai0922/p/3318482.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/p/3222871.html
Fitnesse测试用例脚本自动生成设计 - Victor_菜
Fitnesse是通过wiki形式来展示、管理和执行测试用例,若要在Fitnesse上设计测试用例,前提是必须熟悉一定的wiki语法,虽然wiki语法简单,但是若要设计成百上千的测试用例还是有很大的工作量。特别是针对接口测试,测试用例的复杂度和接口本身参数的复杂度会是测试用例脚本编写的工作量增大。因此如何能够自动化生成测试用例脚本是本阶段的一个重点需求。针对单一接口测试(单个接口)用例脚本的生成功能我们已经在第一阶段解决,如何对于复杂流程如包含多个接口调用的测试用例进行用例脚本生成是本阶段重点。关于具体设计思路如下所示:主要是通过Html这种可以点击操作的方式去生成一个用例配置文件,这个用例配
2013-07-29T06:27:00Z
2013-07-29T06:27:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】Fitnesse是通过wiki形式来展示、管理和执行测试用例,若要在Fitnesse上设计测试用例,前提是必须熟悉一定的wiki语法,虽然wiki语法简单,但是若要设计成百上千的测试用例还是有很大的工作量。特别是针对接口测试,测试用例的复杂度和接口本身参数的复杂度会是测试用例脚本编写的工作量增大。因此如何能够自动化生成测试用例脚本是本阶段的一个重点需求。针对单一接口测试(单个接口)用例脚本的生成功能我们已经在第一阶段解决,如何对于复杂流程如包含多个接口调用的测试用例进行用例脚本生成是本阶段重点。关于具体设计思路如下所示:主要是通过Html这种可以点击操作的方式去生成一个用例配置文件,这个用例配 <a href="https://www.cnblogs.com/victorcai0922/p/3222871.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/p/3196023.html
Jenkins Slave 设置 - Victor_菜
Jenkins Slave node环境变量设置有很多trap,在最近的工作当中,我把slave部署在red hat linux 上,进行c++项目的编译部署和发布,但是在执行工程的时候,总会报出某些命令 command cannot found,这种问题非常奇怪,你已经在linux的环境变量中设置了PATH等变量,而且在服务器上手动执行命令的时候没有任何问题。我的master主机部署在windows机器上,通过 Launch slave agents on unix machines via shh的方式运行slave.所有的一切看似正常,但是当你查看slave node 的系统信息的时候,
2013-07-17T07:54:00Z
2013-07-17T07:54:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】Jenkins Slave node环境变量设置有很多trap,在最近的工作当中,我把slave部署在red hat linux 上,进行c++项目的编译部署和发布,但是在执行工程的时候,总会报出某些命令 command cannot found,这种问题非常奇怪,你已经在linux的环境变量中设置了PATH等变量,而且在服务器上手动执行命令的时候没有任何问题。我的master主机部署在windows机器上,通过 Launch slave agents on unix machines via shh的方式运行slave.所有的一切看似正常,但是当你查看slave node 的系统信息的时候, <a href="https://www.cnblogs.com/victorcai0922/p/3196023.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2013/01/28/2880536.html
构建C#项目build.xml - Victor_菜
<?xml version="1.0" encoding="UTF-8"?><!-- Sample build file used to retrieve svnant's sources --><!-- project name="svn-test" basedir="." default="checkoutThis" --> <project name="memberautobuild" default="mem
2013-01-28T13:10:00Z
2013-01-28T13:10:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】<?xml version="1.0" encoding="UTF-8"?><!-- Sample build file used to retrieve svnant's sources --><!-- project name="svn-test" basedir="." default="checkoutThis" --> <project name="memberautobuild" default="mem <a href="https://www.cnblogs.com/victorcai0922/archive/2013/01/28/2880536.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/11/26/2789326.html
Jenkins使用Subversion插件的一些注意事项 - Victor_菜
jenkins 可以通过subversion插件完成与svn的集成,本来这个插件的使用没有什么难度,但是在最近的项目中却遇到如下一些问题:1. svn中有中文目录,导致jenkins页面出现乱码或者找不到库。2. 使用jenkins的时候会去不存在版本库中取文件,导致报错。第一个问题是由于编码问题,首先要更改容器的字符集编码如更改tomcat中server.xml的connector的URIEncoding='utf-8'。<Connector port="8080" protocol="HTTP/1.1" connectionTi
2012-11-26T08:55:00Z
2012-11-26T08:55:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】jenkins 可以通过subversion插件完成与svn的集成,本来这个插件的使用没有什么难度,但是在最近的项目中却遇到如下一些问题:1. svn中有中文目录,导致jenkins页面出现乱码或者找不到库。2. 使用jenkins的时候会去不存在版本库中取文件,导致报错。第一个问题是由于编码问题,首先要更改容器的字符集编码如更改tomcat中server.xml的connector的URIEncoding='utf-8'。<Connector port="8080" protocol="HTTP/1.1" connectionTi <a href="https://www.cnblogs.com/victorcai0922/archive/2012/11/26/2789326.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/07/23/2604656.html
JConsole远程监控tomcat JVM参数配置 - Victor_菜
JConsole连接运程JVM,看了网上的配置经常导致连接不上,现在有两个方法可以解决此问题:1.通常我们会在tomcat catalina.sh文件中添加如下代码JAVA_OPTS=-Xms800m -Xmx1200m -XX:PermSize=128M -XX:MaxPermSize=256m -XX:NewSize=128m -XX:MaxNewSize=256m -XX:SurvivorRatio=8 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management.
2012-07-23T03:16:00Z
2012-07-23T03:16:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】JConsole连接运程JVM,看了网上的配置经常导致连接不上,现在有两个方法可以解决此问题:1.通常我们会在tomcat catalina.sh文件中添加如下代码JAVA_OPTS=-Xms800m -Xmx1200m -XX:PermSize=128M -XX:MaxPermSize=256m -XX:NewSize=128m -XX:MaxNewSize=256m -XX:SurvivorRatio=8 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8086 -Dcom.sun.management. <a href="https://www.cnblogs.com/victorcai0922/archive/2012/07/23/2604656.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/06/29/2569896.html
Jmeter+maven+Jenkins构建云性能测试平台(三) - Victor_菜
继上篇blog,本篇我们具体讨论一下,如何利用Jenkins做持续的性能测试,前面我们说过因为互联网软件发布频繁,需要做到小步快跑,快速反馈,我们在自动化,接口测试的时候已经能够做到快速反馈,所以希望性能测试同样能够快速反馈,我们希望的是能够构建一个云性能测试平台,这样能够让开发工程师,功能测试工程师都参与到性能测试中来,而不仅仅是由性能测试工程师在功能测试之后再进行性能测试,总之快速反馈问题是互联网软件测试的宗旨。下面具体谈一下我们是如何利用Jenkins来执行性能测试的,关于Jenkins的具体设置不再这里做介绍.首先我们利用了git来做我们的脚本库,关于为什么选择git而不是subver
2012-06-29T06:32:00Z
2012-06-29T06:32:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】继上篇blog,本篇我们具体讨论一下,如何利用Jenkins做持续的性能测试,前面我们说过因为互联网软件发布频繁,需要做到小步快跑,快速反馈,我们在自动化,接口测试的时候已经能够做到快速反馈,所以希望性能测试同样能够快速反馈,我们希望的是能够构建一个云性能测试平台,这样能够让开发工程师,功能测试工程师都参与到性能测试中来,而不仅仅是由性能测试工程师在功能测试之后再进行性能测试,总之快速反馈问题是互联网软件测试的宗旨。下面具体谈一下我们是如何利用Jenkins来执行性能测试的,关于Jenkins的具体设置不再这里做介绍.首先我们利用了git来做我们的脚本库,关于为什么选择git而不是subver <a href="https://www.cnblogs.com/victorcai0922/archive/2012/06/29/2569896.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/06/21/2557441.html
Jmeter+maven+Jenkins构建云性能测试平台(二) - Victor_菜
继上篇Blog,本篇将重点介绍利用Maven并开发插件解析Jmeter生成的报告,于是就有Jmeter-analysis-maven-plugin这个插件,这个插件是由Aren Franka开发的,但是当你使用这个插件的时候会发现,它只能解析Http request请求的报告,不能解析如Webservice request请求的报告以及其他请求的报告,这是由于这个插件的代码中存在一个bug,于是自己动手修改了这个bug,因为通过Nongui生成的Jmeter报告是以.jtl结尾的类似于xml的文件,因此在Jmeter-analysis-maven-plugin这个插件中会采用SAX来解析报告文
2012-06-21T03:10:00Z
2012-06-21T03:10:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】继上篇Blog,本篇将重点介绍利用Maven并开发插件解析Jmeter生成的报告,于是就有Jmeter-analysis-maven-plugin这个插件,这个插件是由Aren Franka开发的,但是当你使用这个插件的时候会发现,它只能解析Http request请求的报告,不能解析如Webservice request请求的报告以及其他请求的报告,这是由于这个插件的代码中存在一个bug,于是自己动手修改了这个bug,因为通过Nongui生成的Jmeter报告是以.jtl结尾的类似于xml的文件,因此在Jmeter-analysis-maven-plugin这个插件中会采用SAX来解析报告文 <a href="https://www.cnblogs.com/victorcai0922/archive/2012/06/21/2557441.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/06/20/2555502.html
Jmeter+maven+Jenkins构建云性能测试平台(一) - Victor_菜
最近在利用Jmeter来做一套自动化性能测试框架,做自动化性能测试框架的目的是希望能够针对系统做一个benchmark的性能测试,能够快速的在每个版本发布后,对该版本进行benchmark性能测试,以比较与上一个版本的性能是否发生变化,若发生变化便可以快速的通知开发人员以确定性能发生变化的模块或者代码。同时测试或者开发可以上传性能测试脚本到测试平台,测试平台接到测试脚本后就可以进行性能测试并返回测试结果.基于这一点的考虑是,一般的测试工程师(特别想功能测试工程师)和开发工程师可能没有相关的性能测试环境供他们使用,因此建立这样的平台就是希望能够让每个人都能快速的进行性能测试,而不需要关注性能测试
2012-06-20T12:20:00Z
2012-06-20T12:20:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】最近在利用Jmeter来做一套自动化性能测试框架,做自动化性能测试框架的目的是希望能够针对系统做一个benchmark的性能测试,能够快速的在每个版本发布后,对该版本进行benchmark性能测试,以比较与上一个版本的性能是否发生变化,若发生变化便可以快速的通知开发人员以确定性能发生变化的模块或者代码。同时测试或者开发可以上传性能测试脚本到测试平台,测试平台接到测试脚本后就可以进行性能测试并返回测试结果.基于这一点的考虑是,一般的测试工程师(特别想功能测试工程师)和开发工程师可能没有相关的性能测试环境供他们使用,因此建立这样的平台就是希望能够让每个人都能快速的进行性能测试,而不需要关注性能测试 <a href="https://www.cnblogs.com/victorcai0922/archive/2012/06/20/2555502.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/05/23/2512410.html
如何对遗留代码进行单元测试(scrumgathering听后感) - Victor_菜
上周末去听了Scrumgathering的试讲活动,感觉此类活动还是挺有意思的,一群scrum实践者或者爱好敏捷的同学在一起讨论如何做好敏捷项目,这次主要听了一场关于如何对遗留代码做单元测试的演讲,因此向记录一下一些很好的观点,来用于我们对单元测试的理解,以及如何提高代码可测性。所谓的遗留代码(legacy code),简单就是指没有任何测试的代码。那么我们如何来对这些遗留代码进行测试,或者是通过修改使这些遗留代码能够变的更加testability。案例一、public class Car{private Engine engine;public Car(){engine = new Engi
2012-05-23T14:49:00Z
2012-05-23T14:49:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】上周末去听了Scrumgathering的试讲活动,感觉此类活动还是挺有意思的,一群scrum实践者或者爱好敏捷的同学在一起讨论如何做好敏捷项目,这次主要听了一场关于如何对遗留代码做单元测试的演讲,因此向记录一下一些很好的观点,来用于我们对单元测试的理解,以及如何提高代码可测性。所谓的遗留代码(legacy code),简单就是指没有任何测试的代码。那么我们如何来对这些遗留代码进行测试,或者是通过修改使这些遗留代码能够变的更加testability。案例一、public class Car{private Engine engine;public Car(){engine = new Engi <a href="https://www.cnblogs.com/victorcai0922/archive/2012/05/23/2512410.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/05/18/2508219.html
JVM调优案例 - Victor_菜
今天在做一个接口的性能测试的时候发现以下情况:查看visualVM的图形如下所示:Full GC非常平凡,Minor GC次数比较少。立马查看JVM配置如下:从配置中可以看出Youngh 区分配空间太大,导致old去内存溢出。修改JVM参数如下所示:JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx1024m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m -XX:SurvivorRatio=22 -XX:MaxTenuringThreshold=6 -XX:+UseConcMarkSweepGC -XX:+Use
2012-05-18T10:41:00Z
2012-05-18T10:41:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】今天在做一个接口的性能测试的时候发现以下情况:查看visualVM的图形如下所示:Full GC非常平凡,Minor GC次数比较少。立马查看JVM配置如下:从配置中可以看出Youngh 区分配空间太大,导致old去内存溢出。修改JVM参数如下所示:JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx1024m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=128m -XX:SurvivorRatio=22 -XX:MaxTenuringThreshold=6 -XX:+UseConcMarkSweepGC -XX:+Use <a href="https://www.cnblogs.com/victorcai0922/archive/2012/05/18/2508219.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/05/14/2499672.html
Jmeter使用_StringFromFile函数需要添加编码方式 - Victor_菜
在jmeter中使用_StringFromFile函数做参数化时需要,在参数列表中添加编码方式,由于文件的存储方式有可能是其他方式,所以在使用该函数的时候需要添加编码方式,如${__StringFromFile(D:\MaBenchMarkTest\GetOperatorIntegrationInfo\LoginNameAndMemberIdentify.txt,1,utf-8)}
2012-05-14T09:21:00Z
2012-05-14T09:21:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】在jmeter中使用_StringFromFile函数做参数化时需要,在参数列表中添加编码方式,由于文件的存储方式有可能是其他方式,所以在使用该函数的时候需要添加编码方式,如${__StringFromFile(D:\MaBenchMarkTest\GetOperatorIntegrationInfo\LoginNameAndMemberIdentify.txt,1,utf-8)} <a href="https://www.cnblogs.com/victorcai0922/archive/2012/05/14/2499672.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/05/11/2496443.html
利用Fitnesse和Jmeter实现接口性能测试 - Victor_菜
由于Fitnesse上所有case的执行都是向SlimServer发送Http请求,那么我们可以针对相关Case实现性能测试,这样的好处有以下三点:1. 用于在Fitnesse上已经构建了相关的测试场景或者业务逻辑,我们只需要利用性能测试工具去调用这些Case便可以实现压力测试。2.在准备压力测试数据的时候,由于有些数据需要多个接口组合调用才能完成,比如下面的测试场景有两个webservice接口,CreateMember和CreateOperator每个Member下面有多个Operator,我们要先构建Member才能创建Operator,如果直接使用Jmeter的话要首先创建Member
2012-05-11T09:34:00Z
2012-05-11T09:34:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】由于Fitnesse上所有case的执行都是向SlimServer发送Http请求,那么我们可以针对相关Case实现性能测试,这样的好处有以下三点:1. 用于在Fitnesse上已经构建了相关的测试场景或者业务逻辑,我们只需要利用性能测试工具去调用这些Case便可以实现压力测试。2.在准备压力测试数据的时候,由于有些数据需要多个接口组合调用才能完成,比如下面的测试场景有两个webservice接口,CreateMember和CreateOperator每个Member下面有多个Operator,我们要先构建Member才能创建Operator,如果直接使用Jmeter的话要首先创建Member <a href="https://www.cnblogs.com/victorcai0922/archive/2012/05/11/2496443.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/05/08/2489532.html
Log4j之MDC和NDC用法 - Victor_菜
NDC和MDCNDC(Nested Diagnostic Context)和MDC(Mapped Diagnostic Context)是log4j种非常有用的两个类,它们用于存储应用程序的上下文信息(context infomation),从而便于在log中使用这些上下文信息。 NDC采用了一个类似栈的机制来push和pop上下文信息,每一个线程都独立地储存上下文信息。比如说一个servlet就可以针对每一个request创建对应的NDC,储存客户端地址等等信息。当使用的时候,我们要尽可能确保在进入一个context的时候,把相关的信息使用NDC.push(message);在离开这个con
2012-05-08T01:13:00Z
2012-05-08T01:13:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】NDC和MDCNDC(Nested Diagnostic Context)和MDC(Mapped Diagnostic Context)是log4j种非常有用的两个类,它们用于存储应用程序的上下文信息(context infomation),从而便于在log中使用这些上下文信息。 NDC采用了一个类似栈的机制来push和pop上下文信息,每一个线程都独立地储存上下文信息。比如说一个servlet就可以针对每一个request创建对应的NDC,储存客户端地址等等信息。当使用的时候,我们要尽可能确保在进入一个context的时候,把相关的信息使用NDC.push(message);在离开这个con <a href="https://www.cnblogs.com/victorcai0922/archive/2012/05/08/2489532.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/04/28/2474785.html
简易覆盖率信息收集框架 - Victor_菜
最近在做代码覆盖的工作,我们采用emma做为覆盖率收集的工具,但是由于需要在命令行敲打emma命令来进行instrument 和 collection,特别是要运程收集服务器上的代码覆盖率的话,不免会比较麻烦,由于公司版本发布交频繁,功能测试可能每天会执行多次版本的回归,为了能确定每个版本代码的覆盖率以及方便收集覆盖率,本人利用spring,quartz以及emma本身写了一个定时收集覆盖率的小工具,利用这个小工具可以在spring容器来管理测试任务,并且在配置文件中配置相关项目的内容,下面上主菜,代码已经上传google code,需要的朋友可以联系我。将emma插桩命令集成到hudson中
2012-04-28T03:07:00Z
2012-04-28T03:07:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】最近在做代码覆盖的工作,我们采用emma做为覆盖率收集的工具,但是由于需要在命令行敲打emma命令来进行instrument 和 collection,特别是要运程收集服务器上的代码覆盖率的话,不免会比较麻烦,由于公司版本发布交频繁,功能测试可能每天会执行多次版本的回归,为了能确定每个版本代码的覆盖率以及方便收集覆盖率,本人利用spring,quartz以及emma本身写了一个定时收集覆盖率的小工具,利用这个小工具可以在spring容器来管理测试任务,并且在配置文件中配置相关项目的内容,下面上主菜,代码已经上传google code,需要的朋友可以联系我。将emma插桩命令集成到hudson中 <a href="https://www.cnblogs.com/victorcai0922/archive/2012/04/28/2474785.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/04/28/2474706.html
关于接口测试 - Victor_菜
最近两年一直在研究系统级别的接口测试,对此做一个总结:1.接口测试的定义: 接口测试是面向系统组件间接口的一种测试。主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,测试重点是要检测数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系。2.接口测试产生的背景: 如今的系统架构纷繁复杂,系统间接口庞杂繁多,系统不断向着分布式,业务中心化,和高可用性发展,传统的测试以及难以满足系统发展的需求,迫切需要一种更加经济高效实用且可持续进行的测试方式来保证系统的质量。接口测试在这种背景下应用而生。3.接口测试可以发挥的作用 保证系统的正确和稳定,提高测试效率,降低产品研发成本。举例说明:
2012-04-28T02:28:00Z
2012-04-28T02:28:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】最近两年一直在研究系统级别的接口测试,对此做一个总结:1.接口测试的定义: 接口测试是面向系统组件间接口的一种测试。主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,测试重点是要检测数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系。2.接口测试产生的背景: 如今的系统架构纷繁复杂,系统间接口庞杂繁多,系统不断向着分布式,业务中心化,和高可用性发展,传统的测试以及难以满足系统发展的需求,迫切需要一种更加经济高效实用且可持续进行的测试方式来保证系统的质量。接口测试在这种背景下应用而生。3.接口测试可以发挥的作用 保证系统的正确和稳定,提高测试效率,降低产品研发成本。举例说明: <a href="https://www.cnblogs.com/victorcai0922/archive/2012/04/28/2474706.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/victorcai0922/archive/2012/04/26/2472814.html
关于代码可测性的一些思考 - Victor_菜
本文是在读了《Working Effectively with legacy Code 》第九章,关于在无法将类放入测试用具中时遇到的四种最为常见的问题:(1)无法轻易创建该类的对象。(2)当该类位于测试用具中时,测试用具无法轻易通过编译构建。(3)我们需要用到的构造函数具有副作用。(4)构造函数中有一些要紧的工作,我们需要感知到它们。这四个问题在进行单元测试或者接口测试的时候,会对测试工作造成很大的阻碍,这就是一个代码可测性的问题。当遇到这样的问题的时候,有两种方法,第一、强行构建一个类去完成测试,但是这会造成测试的时候大部分工作都耗费在构建这样一个类的过程中;第二、重构代码,使代码具有可测
2012-04-26T15:36:00Z
2012-04-26T15:36:00Z
Victor_菜
https://www.cnblogs.com/victorcai0922/
【摘要】本文是在读了《Working Effectively with legacy Code 》第九章,关于在无法将类放入测试用具中时遇到的四种最为常见的问题:(1)无法轻易创建该类的对象。(2)当该类位于测试用具中时,测试用具无法轻易通过编译构建。(3)我们需要用到的构造函数具有副作用。(4)构造函数中有一些要紧的工作,我们需要感知到它们。这四个问题在进行单元测试或者接口测试的时候,会对测试工作造成很大的阻碍,这就是一个代码可测性的问题。当遇到这样的问题的时候,有两种方法,第一、强行构建一个类去完成测试,但是这会造成测试的时候大部分工作都耗费在构建这样一个类的过程中;第二、重构代码,使代码具有可测 <a href="https://www.cnblogs.com/victorcai0922/archive/2012/04/26/2472814.html" target="_blank">阅读全文</a>