工作中对单元测试的体会(图)

  今天之所以谈到单元测试,是因为在进行系统测试时,在即将结束的时候却发现了很多严重的问题,经过我自己的分析认为是开发人员在进行单元测试时,逻辑的覆盖面不全。   在网上可以搜索到很多关于单元测试的资料,但是在这里我还是想在唠叨两句,说说...

通过增加代码覆盖率提高单元测试的质量(图)

  简介: 许多敏捷软件开发团队都面临的一个挑战是,确保其单元测试包含大部分代码。这在确保他们创建尽可能少的缺陷并且代码可重构时非常重要。因此,重要的度量指标(除了通过的所有测试之外)之一是已包含的代码数量。从 Rational Application D...

我看单元测试

  单元测试这个东西很神奇,最早是从国外引入的,世面上也存在了很多开源的单元测试软件,那么它到底有什么优缺点呢?下面就列出来瞧瞧看看,并附上一些我自己的看法。   优点:   1、降低开发错误的反馈回路,减少重复工作,提升开发效率。例如服...

单元测试那些事儿

  单元测试并不是一门很复杂的技术,我相信很多程序员在刚开始工作的时候也都对单元测试有了基本的掌握。但是,最近我在实际工作中发现,很多时候单元测试并没有发挥其应有的作用,更多的时候成了一种提高代码测试覆盖率的手段。下面我就谈谈我对单元测试...

基于hadoop的单元测试mock技术分享

  引子   前一段时间,公直给大家培训Toast工具的使用,以及分享了单元测试的心得。其间提到的单元测试中经常用到的mock技术。这两天我尝试就Mock技术在hadoop上的使用做个例子,分享一下我的理解,希望能给开发和测试同学带来一些帮助。   为什么...

使用NUnit对业务逻辑代码进行单元测试(图)

  Nunit是xUnit系列中应用于C#的测试框架,类似JUnit,Gtest等测试框架。可对类,接口的业务逻辑进行单元测试,目前如果不会单元测试的开发人员就太不专业了。   场景:   1、当编写网站代码时,写了独立的查询类库,但是这个类库的逻辑如何进行测...

Ruby中单元测试(Unit Test)方法

  Ruby中也提供了单元测试的框架,类似Java中的JUnit,此框架在Ruby中被成为mini test。   我们先看一个例子,这个是我的源代码: require 'json' module PMU_INTERFACE     class IUserLoginReq   &nb...

用局部数据模拟进一步解决单元测试的内部输入

  局部数据模拟是底层模拟的扩展,可以对局部变量、代码片断实施模拟,以便在用例中设定需要的数据;也用以在底层模拟不支持的情形下代替底层模拟。利用局部数据模拟可以视需要在测试过程中修改被测试代码,而不修改产品代码,实现对任意数据的模拟和控制...

用底层模拟解决单元测试中的内部输入(图)

  底层模拟就是在用例中模拟、控制子函数的行为,使底层函数产生的数据像参数一样可以在用例中设置。   底层模拟的特点   1)在用例中用例设定子函数的输出,使子函数的输出可以与参数等输入放在一起,实现真正意义上的内部输入;   2)无论子函...

用桩解决单元测试中的内部输入(图)

  我前面的文章有介绍过,桩有三个功能:隔离、补齐,控制。其中,控制功能就是用于解决内部输入的,因此,打桩并手工修改桩代码,是解决内部输入的方法之一。   关于编写桩的方法,已在第4章介绍过,这里不再重复。关于如何让桩与用例匹配,请阅读第...

如何对遗留代码进行单元测试

  上周末去听了Scrumgathering的试讲活动,感觉此类活动还是挺有意思的,一群scrum实践者或者爱好敏捷的同学在一起讨论如何做好敏捷项目,这次主要听了一场关于如何对遗留代码做单元测试的演讲,因此向记录一下一些很好的观点,来用于我们对单元测试的理...

单元测试中内部输入的六种情形

  1、自然输入   自然输入是指对底层函数的正常调用即可获得的内部输入。代码一中Compare()函数内,int a1 = GetArea(r);可以自然取得外接正方形的面积。如果外接正方形面积a1要得到某个预期的值,要传递合适的半径r,半径r称为间接输入。间接输入需...

单元测试中自动用例的局限和价值

  自动用例的局限   即使技术再成熟,完全自动生成的用例也是与功能无关的,即使覆盖所有路径,其效果不会比“跟着代码走”强,因此,主要依靠完全自动生成的用例来测试是不现实的,例如,TrimLeft(char*)(删除字符串左边空格)与CheckUserName(c...

单元测试的关键难题——内部输入

  只有深刻理解内部输入,才能真正理解单元测试。单元测试是针对代码单元的独立测试,一个函数,在调用了底层函数的情况下(底层函数可能不存在、不可控、不得不隔离、甚至有错误),如何能够独立测试?正是因为底层函数的输出,可以视为被测函数的内部输入...

打桩步骤与难点解决

  为了让测试代码正确链接到桩函数,一般来说,要让函数具有与原函数相同的原形,这样就产生了一个问题:原函数与桩函数冲突。打桩过程中必须解决这个问题。   在实际工作中,打桩可以分两步来完成:   一、隔离测试任务,补齐未实现代码。可以利用...

单元测试的四大具体效益(图)

  单元测试是高效的开发过程质量控制机制,帮助企业保证产品质量、降低成本、提高生产率、缩短开发周期、赢得市场先机,提升竞争力。   1、保证代码质量   仅依靠系统测试会存在大量未覆盖的“死角”,单元测试可以对各个代码单元彻底测试,保证...

认识单元测试中的打桩

  什么是桩   桩,或称桩代码,是指用来代替关联代码或者未实现代码的代码。如果函数B用B1来代替,那么,B称为原函数,B1称为桩函数。打桩就是编写或生成桩代码。   打桩的目的   打桩的目的主要有:隔离、补齐、控制。   隔离是指将测试任务...

单元测试中的独立运行(图)

  单元测试是针对代码单元的独立测试。要测试代码单元,首先要其使能够独立运行。项目中的代码具有依赖关系,例如,一个源文件可能直接或间接包含大量头文件,并调用众多其他源文件的代码,抽取其中的一个或一组源文件,一般是无法独立编译运行的。这就要...

使用.NET/Mono在移动设备上进行单元测试

  目前具体平台的一个问题是缺乏单元测试的支持。开发者被迫在测试的质量和构建流程之间做出妥协,以便一切能够工作起来。最近MonoTouch在这个方面取得了进展,但Windows Phone和Mono for Android仍然落后。   Windows Phone 7/Silverlight   Wind...

让单元测试更健壮的6个简单技巧

  单元测试的好处被整个开发产业认可。单元测试帮助我们确定代码如期工作,避免回归缺陷,甚至可以用来作为一种设计方法(测试驱动开发)。单元测试的问题开始于当之前写好的测试运行甚至编译失败。   有各种各样的原因导致单元测试失败-即一个软件缺...

分享到朋友圈
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2022
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号