如何对遗留代码进行单元测试(scrumgathering听后感)
摘要:上周末去听了Scrumgathering的试讲活动,感觉此类活动还是挺有意思的,一群scrum实践者或者爱好敏捷的同学在一起讨论如何做好敏捷项目,这次主要听了一场关于如何对遗留代码做单元测试的演讲,因此向记录一下一些很好的观点,来用于我们对单元测试的理解,以及如何提高代码可测性。所谓的遗留代码(legacy code),简单就是指没有任何测试的代码。那么我们如何来对这些遗留代码进行测试,或者是通过修改使这些遗留代码能够变的更加testability。案例一、public class Car{private Engine engine;public Car(){engine = new Engi
阅读全文
关于接口测试
摘要:最近两年一直在研究系统级别的接口测试,对此做一个总结:1.接口测试的定义: 接口测试是面向系统组件间接口的一种测试。主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,测试重点是要检测数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系。2.接口测试产生的背景: 如今的系统架构纷繁复杂,系统间接口庞杂繁多,系统不断向着分布式,业务中心化,和高可用性发展,传统的测试以及难以满足系统发展的需求,迫切需要一种更加经济高效实用且可持续进行的测试方式来保证系统的质量。接口测试在这种背景下应用而生。3.接口测试可以发挥的作用 保证系统的正确和稳定,提高测试效率,降低产品研发成本。举例说明:
阅读全文
关于代码可测性的一些思考
摘要:本文是在读了《Working Effectively with legacy Code 》第九章,关于在无法将类放入测试用具中时遇到的四种最为常见的问题:(1)无法轻易创建该类的对象。(2)当该类位于测试用具中时,测试用具无法轻易通过编译构建。(3)我们需要用到的构造函数具有副作用。(4)构造函数中有一些要紧的工作,我们需要感知到它们。这四个问题在进行单元测试或者接口测试的时候,会对测试工作造成很大的阻碍,这就是一个代码可测性的问题。当遇到这样的问题的时候,有两种方法,第一、强行构建一个类去完成测试,但是这会造成测试的时候大部分工作都耗费在构建这样一个类的过程中;第二、重构代码,使代码具有可测
阅读全文