从参加工作以来,参加了大大小小好几个项目了。对于项目中间的单元测试这一项,有一些想法,不吐不快。主要围绕以下几个方面来说一说。(大家多多批评。) 1、对于一个项目,应该怎样划分在项目中需要测试的类和方法? 举个例子,一个基于被...
1、 理解需求和设计 理解设计是很重要的,特别是要搞清楚被测试模块在整个软件中所处的位置,这对测试的内容将会有很大的影响。需要记住的一个原则就是:好的设计,各模块只负责完成自己的事情,层次与分工是很明确的。在单元测试的时候,可...
首先我不是反Mock者,但确实对使用Mock持比较审慎的态度,因为Mock是非常难于正确使用的, mock最常见的问题在于假设!假设!假设! 有这样一个功能,当有工作的时候,公民需要买需要买医疗保险,住房公积金和养老保险,如果失业了他只需要买养老保...
前言 我不是个反Mock者,Mock有它的优势,但使用它也同时带来风险,我认为使用Mock的基本原则是:不用。 不使用Mock,依赖一个设计简单、职责清晰的代码环境,因为只有简单的代码才能和Mock的主要优势相媲美,而使用这样的代码则可以避 免Mo...
在要求项目要尽量快地实现的时候,质量与开发进度上会出现一定的矛盾,最突出的就是单元测试代码与逻辑实现代码。 TDD (测试驱动开发)必然没错,但是使用不当会造成开发效率的下降。在敏捷开发实践中,结合前辈经验与自己的经验,如下几点是要关心的...
2.1 单元测试概念 ● 单元测试:单元测试又称模块测试,属于白盒测试,是最小单位的测试。模块分为程序模块和功能模块。功能模块指实现了一个完整功能的模块(单元),一个完整的程序单元具备输入、加工和输出三个环节。而且每个程序单元都应该有...
最近听到了很多关于软件质量的话题,自己前段时间也参加个PMP(项目管理)的培训,所以一时对于质量控制特别感兴趣,在这里想和大家共同讨论下! 软件质量,是所有人都很关心的东西。我们在开发过程中为了保证质量,从中引进了软件测试。它在整个的过...
在极限编程中,程序员负责自己的单元测试。那么留给测试员的是什么工作呢?有人认为XP的成本比较低是因为省下了测试员的费用。那么由程序员测试就不需要测试员了吗?他们能真正替代测试员的工作吗? 大家关于XP的理解,我发现至少有3种以上: 1、...
近期查看了一些关于敏捷开发,极限编程的一些资料。在敏捷开发中有一种比较出名的方式即TDD(Test Driven Development,测试驱动开发),这些都包含测试先行的思想。细细分析一下,发现其中有一些还是很有用的思想,也就是我今天要讨论的问题,用“黑-...
随着部门人数的激增,基础研发和基础平台的应运而生。对我们的挑战则是持续集成测试。 现实情况是需求不可能一成不变,在后期的coding阶段总会由于这样那样的原因而改变,同理设计文档也是。而后期的修改文档的作用是那么的微不足道,那么唯一的突...
一、可测试性设计 1. 接口依赖 这是最重要的一点,因为这可以使得我们很容易的针对一个接口实现Mock对象,模拟/替换实际对象会变的很容易。达到使一个被测对象处于一个孤立环境的测试要求。 这里,ClassA依赖于ClassB的具体实...
在这篇文章里,我将论述一种单元测试的新方法,让类处于测试中心。讨论一个开源工程(TestedBy),它提供一些从类开始的测试工具。 这个软件的一些特性: 1. 在你的IDE中测试时,可以从类/方法浏览源文件。这个可能是微不足道的,但却是最...
一、CPPUNIT概念 CPPUNIT是一个测试驱动开发的测试框架。所谓测试驱动开发(TDD)是一种可以在开发过程中控制忧虑感的开发方法,它坚持以测试作为开发过程的中心,在开发前根据对将要开发的程序的要求,先写好所有测试代码,并且在开发过程中不断地...
对于Controller的单元测试,Grails也提供了很方便的支持,使得书写非常简单,有代码为证: 单元测试代码 1. class CategoryControllerTests extends GroovyTestCase { 2. 3. void setUp(){ 4.&...
可能你已发现一个问题,我们无法使用VS对WPF项目创建单元测试(VS2005不行,VS2008我没试过,但据说也不行),这让人很郁闷,这里将介绍如何使用NUnit来对WPF项目创建单元测试并解决其中的难题(但利用NUnit来对WPF创建单元测试时并不会像针对.Net2.0一样...
安装完TestDriven.NET 2.0 后,重新启动Visual Studio 2005,可以发现在Visual Studio.NET IDE的右键菜单中会多出一些新项,所有的操作都是直接通过这些右键菜单来完成。我们先来编写一小段简单的测试代码: [Test] public void TestMethod...
随着软件项目的逐渐增大,软件测试在软件开发中的地位显得越来越重要。如果软件项目没有良好的测试流程,随着系统的增大,无论项目管理人员还是软件开发人员都会对项目的前景失去信心,甚至会对项目的目标产生分歧,因为长期以来没有对程序代码和系统设...