BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Typemock:过去、现在和未来

| 作者 Eli Lopian 关注 0 他的粉丝 ,译者 王波 关注 0 他的粉丝 发布于 2009年2月14日. 估计阅读时间: 6 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

InfoQ:创建Typemock的原因是什么呢?

Typemock:Typemock公司成立于2004年,在现任CEO Eli Lopian发现员工因编写单元测试过于困难而没有实施TDD(测试驱动开发)的时候,他想创建一个工具来帮助员工变得敏捷。当时,Eli还是一家大公司的高级开发人员。主要负责产品上市时间的整个过程,他认识到这及其的复杂,而且编写代码时间越来越长也越来越困难。Eli的200人小组花了两到三个月来编码,却耗费了大概九个月来进行测试。当然,这严重影响了产品上市的时间。

Eli决定找出这种现象的原因。他成立了专门分析代码编写和测试过程的小组,并发现几乎90%的Bug都可以在开发期间解决。结论是在开发时修正这些Bug可以大大缩短整个开发的流程。随后,Eli开始研究敏捷方法论,TDD和单元测试来完善编码,测试过程并最终落实到产品。

Eli是应用程序代码测试开发者中的领军人物。当团队明白了编写单元测试代码的价值以后,他再次强调了原始的假设即编写、学习和实现测试都可能极其耗时。而且,他们也知道把这个流程带入到开发人员众多的小组中会导致他们的工作变得更加复杂。

Eli成功证明了编写验证代码来进行测试对于提升产品质量来说是一个重要和有价值的过程。同时,他也证明了代码测试的方法和工具不管在哪里都卓有成效。

InfoQ:Typemock Isolator和竞争对手的区别在哪里呢?

Typemock:对于任意的代码块,Typemock Isolator添加了可测试特性,使得测试代码更加简单。该特性由动态导向编程(AOP)框架添加,所以在设计和测试的时候,你都可以编写代码,对于同类型工具,那需要特定地编码。Isolator介乎看可以和所有最新的技术一起使用,例如:SharePoint和LINQ。

Eli在家编写了Typemock Isolator的第一个版本,并上传到网站,分发给感兴趣的人,而且开发者社区突然间看到了使用Typemock Isolator来编写单元测试的好处。研发部门经理可以使用Isolator 来查看已经编写了多少单元测试,这使得他们对于工作比计划表有了更清晰的了解。在被问及是什么驱使他投身Mock框架的开发时,Eli说:开发者已经意识到单元测试的价值,但常常事倍功半。今天,人们对于Typemock Isolator的热情以及他们全心地采用该工具,使得他得到了极大的满足。他说:我享受人们兴高采烈地谈论Typemock Isolator并使用它。尝试过Typemock Isolator的团队对单元测试中取得的显著成功产生了巨大反响,并且更广泛地采用了TDD进行开发。

今天,Typemock已经是售给小型和大型公司的完善产品。所开发的新功能使得整个开发流程更加敏捷,并可集成到开发环境中。用户对于它的表现非常满意,并形成了有影响力的Typemock社区。社区的成员分享产品信息,完善产品并开发外接程序,以及在敏捷环境中予以实现,更重要的是,Typemock使得编码测试更加快速和准确。

InfoQ:开发者采用Typemock的原因是什么呢?

Typemock:Typemock的价值不仅仅反映在用户的热情上,也有明确的数据来支持Typemock的成功。Corillian公司(www.corillian.com),在线银行、支付和保险解决方案的市场领先提供商,采用Typemock作为完善软件质量和引入编写自动单元测试的敏捷实践的重要手段。结果让人大吃一惊,采用Typemock的短短两个月内,测试的数量提高了500%,测试覆盖范围提升了50%,测试比编码快25%,越来越多的公司开发人员使用它来进行测试。

“它就如广告说的一模一样。它使得我们的测试比以前更快更简单。”

Scott HanselmanB
Corillian公司的前任首席架构师

有些公司甚至报告说在使用了Typemock,它们的代码送往QA后,竟然没有发现一个Bug!

InfoQ:未来Typemock还有那些新功能呢?

Typemock:Typemock Isolator经常更新,不断添加更多的功能。事实上,新发布的版本有了新的API。未来的版本将与Visual Studio和Visual Studio Team System更好的集成。特定平台的插件,例如:SharePoint和数据库等也在计划中。Isolator可使得处理软件的方式更加简单,也会单独支持mscorlib。

Typemock正朝着Eli所期望的方向发展:改变单元测试的世界,使得开发者朝着敏捷和TDD方向转变。

Typemock的格言就是“帮助开发者更好更快的完成工作,改善代码,更顺利地进入TDD和敏捷的世界”。要获取Typemock的更多信息,请访问www.typemock.com

阅读英文原文Typemock: Past, Present and Future


给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

TypeMock是最强大的Mock框架 by Jeffrey Zhao

在.NET下一半都是靠生成动态类型来进行mock,因此只能mock接口或者overridable的成员,而typemock是直接使用inject方式因此就算sealed类或者不可覆盖的方法也能mock。
当然,如果你发现你一定要覆盖不能覆盖的东西才能测试……很有可能是你的设计有问题。

Re: TypeMock是最强大的Mock框架 by Zeng Zealic

TypeMock利用 Profiler 的实现导致效率低下,并且非常容易导致调试程序 down 掉。
当然,从功能上来说,非常强大。

Re: TypeMock是最强大的Mock框架 by Jeffrey Zhao

单元测试么,性能要求被排在相当后面了。

好是好,齁贵! by tang lg

好是好,齁贵!

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

4 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT