首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >精心设计的系统就是可测试的系统

精心设计的系统就是可测试的系统
EN

Software Engineering用户
提问于 2014-01-26 18:50:42
回答 3查看 545关注 0票数 -1

我正在思考我在一本书中读到的一些东西:“设计良好的系统是可测试的系统”,我想知道为什么会这样。

当然,经过大量测试的系统可能设计得很好。从根本上建立在测试第一原则和假设基本能力,这是很难想象一个非常糟糕的设计。

但这一声明推翻了这样的观点:一个设计良好的系统是可测试的。为什么?是因为好的测试在默认情况下是小的和简单的,所以对一个糟糕的设计(糟糕的设计通常意味着大型和复杂的类)进行好的测试更困难吗?或者说,当所讨论的类是上帝类时,很难孤立地测试类的单个方面?

EN

回答 3

Software Engineering用户

发布于 2014-01-26 20:20:44

可测试性意味着松散耦合。如果系统的每个组件都可以单独测试,那么系统的可测试性就会大大提高。只有当每个组件之间的耦合保持松散时,才能实现这一点。

松耦合是良好设计的一个方面。

票数 7
EN

Software Engineering用户

发布于 2014-01-26 20:23:24

我认为这句话肯定了“精心设计”的定义。如果你说它是“要使系统设计得很好,它必须是可测试的。”然后就开始有意义了。

可测试性是系统的良好特性,能够创建和运行自动化测试比手动测试便宜得多。

票数 1
EN

Software Engineering用户

发布于 2014-01-26 20:24:08

另一种观点:

“设计良好”的软件系统的一个特点是,它通常是由正交的、可组合的部分组成的。每个部分在概念上应该是“纯的”--它应该处理一个也是唯一一个问题的“关注”或需要解决的问题的一个方面。

编写这样的程序需要经过很多思考才能找到正确的解决方案。但是当你这样做的时候,有很多好处--可测试性通常就是其中之一。

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

https://softwareengineering.stackexchange.com/questions/225558

复制
相关文章

相似问题

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