设计的可测试性

shr*_*000 5 testing

关于代码测试已经写了很多.但是,我们如何确保我们的设计首先在功能上是正确的?正如我们有JUnit来测试Java代码一样,是否有一些工具可用于测试基于UML的设计,其中测试以功能需求的形式表示?

这些是一些模糊的想法,但想知道是否有一种有条不紊,可自动化的方法来首先测试设计.换句话说,我们还可以进行"测试驱动设计"吗?

Nev*_*uyt 1

有趣的话题!

首先,在我的个人网络中没有软件架构师使用 UML 作为设计系统的唯一方法,而且我也知道没有软件架构师按照执行机械测试所需的详细级别创建 UML。

其次,我个人非常不喜欢UML建模工具。如果实现了这样的正式验证方法,它很可能会出现在 Rational Rose 之类的东西中——我很久以前就发誓我再也不会接近它了。

然而,话虽如此,在正式的软件商店中,通常具有需求可追溯性,通常以矩阵形式实现,在一个轴上显示业务需求,在另一轴上显示设计工件。这样,您可以看到是否有任何需求与相应的解决方案不匹配,或者解决方案中是否存在不满足特定业务需求的元素。

保持这个矩阵更新是一件痛苦的事情,所以它不经常在敏捷团队中使用,但如果你正在为银行或航天飞机构建软件,那么它是一项很有价值的技术。

这可以告诉您您的设计是否完整,但不能告诉您它是否“正确”。

据我所知,如果不构建和测试或不依赖人类经验和知识,就无法判断设计是否“正确”。