加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

是否使用TDD(测试驱动开发)进行UI开发

发布时间:2020-12-13 22:35:20 所属栏目:百科 来源:网络整理
导读:问题 StackOverflow上有一则是否使用TDD(测试驱动开发)进行UI开发 的提问。 JacobE 问: 对于是否使用TDD进行开发UI这件事,我想了很久,但难以决定。我想听听你们的意见。 回答 kdgregory 的回答(23票赞同) 试图测试UI组件的放置是没有意义的,首先因为

问题

StackOverflow上有一则是否使用TDD(测试驱动开发)进行UI开发 的提问。

JacobE问:

对于是否使用TDD进行开发UI这件事,我想了很久,但难以决定。我想听听你们的意见。

回答

kdgregory的回答(23票赞同)

试图测试UI组件的放置是没有意义的,首先因为UI布局是主观的,所以应该由人来测试。其次,随着UI改动,你要不断地重写测试。
同样,没必要测试你所使用GUI库的组件,它们已经被非常多的人测试过了。如果你写了新的UI组件,倒是可以测一测。
你应该测试的是GUI下面的程序行为:控制器和模型部分。朝这个方向努力,你就会开始关心组件分离。为了方便测试,你会让你的模型部分和控制器和你的UI尽量解耦。

bangroot的回答(8票赞同)

当我使用自动化测试去测试UI的外观风格时,我发现这是最大的“过度工程”。我的建议是:不要!把你的测试重心转移到程序的行为上吧,至于程序的UI,留给测试团队去做吧。关键是把你的精力用在高收益的行为上,自动化的UI测试不仅不会增加价值,还会让你负债!

Brian Rasmussen的回答(5票赞同)

TDD的作用就是让你的逻辑代码和你的GUI代码分离。如果你这样做了,你会发现很容易用TDD建立逻辑代码。如果你的逻辑代码分离得好,在它之上你完全可以建立另一套UI。

Harald Scheirich(4票赞同)

我从来不用TDD做任何UI布局的事情,因为花的时间太不值。

后面的解答不一一列举。

结论

关于这个问题的回答基本是一边倒的结论:没必要把精力放在UI的自动化测试上。原因可归结为以下两点:

  1. 不合理。“因为UI布局是主观的,所以应该由人来测试。”
  2. 不划算。对于UI的自动化测试,要花费很大的努力和很多的时间,随着UI改动,测试也要改动。工作量太大。明显不如由人来测试UI划算。

根据以上的讨论,我的结论是:

  1. TDD是辅助设计的一种方法,但不是唯一的方法。当我做UI布局时,写CSS时,没必要TDD。
  2. TDD应该针对程序的行为,而不是程序的外观。TDD的目标写出依赖尽量少的,方便测试的功能模块。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读