首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消除“集成测试骗局”-理解协作和合同测试

消除“集成测试骗局”-理解协作和合同测试
EN

Stack Overflow用户
提问于 2012-02-14 11:50:50
回答 2查看 1.6K关注 0票数 8

我最近看了J.B.Rainsberger的“集成测试是一个骗局。”,现在正在寻找更多关于这个主题的资料。我不得不说,我对我们做错了多少事情感到震惊(即当我们应该进行单元测试时进行集成测试),对Rainsberger描述的概念感兴趣,但也对如何应用这些概念感到困惑。我想要更多描述的协作测试和合同测试,但是我不知道从哪里开始。

唯一困扰我的是测试需要问的四个问题:

侧A:

代码语言:javascript
复制
Do I ask the right question?
Can I deal with the answer?

侧B:

代码语言:javascript
复制
Can I answer a question?
Do I answer correctly?

但是如何将其应用于应用程序堆栈中的一些随机方法?

有没有一本书、一本教程或一个例子,以现实世界为例,并应用这些孤立的微观测试的想法?理想情况下,示例使用Java、C#或C++。

任何有关这些概念的文献,如果能帮助我更好地理解这些概念,我们将不胜感激。

此外,如果有论坛,我可以问更详细的问题,如何正确地进行单元测试,甚至可能重构现有的代码和张贴的例子将是好的。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-15 16:48:07

我推荐xUnitTestPatterns - Gerald的重构测试代码,它提供了一些关于您的问题的洞察力,以及在单个方法级别测试时各种实践的优劣之处的很多细节。

如果你读过Fowler的重构,你会发现你的问题的答案不一定是黑白分明的,而是基于你和其他人经验的启发。

票数 4
EN

Stack Overflow用户

发布于 2015-10-25 16:02:44

Rainsberger夸大了集成测试的效率,以证明他在代码中达到100%质量(基本正确性)的目的。

DbC专注于A和B双方之外的责任和利益的正规化。就像接口的扩展。因此,主要的焦点变成了契约本身,这是中间的一层,它会告诉双方是否可以相互交流。

Rainsberger很清楚地说,到目前为止还没有明确的库或语言支持,并且实现了A模拟和B输入来问同一件事情,暗示这可能是某人的PhD工作。

但是Jim有一个很好的例子,合同是一种面向对象的测试模式,对于同意使用它的双方来说都是https://www.youtube.com/watch?v=7Yw744FMqTY

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9276337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档