如何对遗留代码进行单元测试(scrumgathering听后感)
摘要:上周末去听了Scrumgathering的试讲活动,感觉此类活动还是挺有意思的,一群scrum实践者或者爱好敏捷的同学在一起讨论如何做好敏捷项目,这次主要听了一场关于如何对遗留代码做单元测试的演讲,因此向记录一下一些很好的观点,来用于我们对单元测试的理解,以及如何提高代码可测性。所谓的遗留代码(legacy code),简单就是指没有任何测试的代码。那么我们如何来对这些遗留代码进行测试,或者是通过修改使这些遗留代码能够变的更加testability。案例一、public class Car{private Engine engine;public Car(){engine = new Engi
阅读全文
JVM调优案例
摘要:今天在做一个接口的性能测试的时候发现以下情况:查看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
阅读全文
Jmeter使用_StringFromFile函数需要添加编码方式
摘要:在jmeter中使用_StringFromFile函数做参数化时需要,在参数列表中添加编码方式,由于文件的存储方式有可能是其他方式,所以在使用该函数的时候需要添加编码方式,如${__StringFromFile(D:\MaBenchMarkTest\GetOperatorIntegrationInfo\LoginNameAndMemberIdentify.txt,1,utf-8)}
阅读全文
利用Fitnesse和Jmeter实现接口性能测试
摘要:由于Fitnesse上所有case的执行都是向SlimServer发送Http请求,那么我们可以针对相关Case实现性能测试,这样的好处有以下三点:1. 用于在Fitnesse上已经构建了相关的测试场景或者业务逻辑,我们只需要利用性能测试工具去调用这些Case便可以实现压力测试。2.在准备压力测试数据的时候,由于有些数据需要多个接口组合调用才能完成,比如下面的测试场景有两个webservice接口,CreateMember和CreateOperator每个Member下面有多个Operator,我们要先构建Member才能创建Operator,如果直接使用Jmeter的话要首先创建Member
阅读全文
Log4j之MDC和NDC用法
摘要:NDC和MDCNDC(Nested Diagnostic Context)和MDC(Mapped Diagnostic Context)是log4j种非常有用的两个类,它们用于存储应用程序的上下文信息(context infomation),从而便于在log中使用这些上下文信息。 NDC采用了一个类似栈的机制来push和pop上下文信息,每一个线程都独立地储存上下文信息。比如说一个servlet就可以针对每一个request创建对应的NDC,储存客户端地址等等信息。当使用的时候,我们要尽可能确保在进入一个context的时候,把相关的信息使用NDC.push(message);在离开这个con
阅读全文