美文网首页
测试如何驱动设计?

测试如何驱动设计?

作者: 袁慎建 | 来源:发表于2020-03-29 12:08 被阅读0次

在解答这个问题之前,来聊聊什么是设计。类、方法命名成什么样子是不是设计?这个方法隶属于那个类是不是设计?给这个方法传什么参数算不算设计?等等等,其实这些都是代码设计。不只是设计模式那些东西才叫设计。

首先,测试驱动开发中的驱动更多的突出一种以终为始的思想,我们先要弄清楚我们要去哪里?如何判断我们到那里了?先定义好客户的验收标准,在定义验收标准的时候肯定会驱使我们思考如何设计出方便用户使用的接口,这样子我们设计就是被反向驱动出来的。

其次,人是一种趋利避害的高等动物。我们在写测试的时候,一定会想办法让测试更容易编写,没有人喜欢在一上路就给自己找麻烦,这就不得不驱使我们写出更易于测试的代码,而无数软件开发实践证明,利于测试的代码,它的设计不会太差,那些耦合度高、设计复杂的代码通常都不易于写测试(看看没有自动化测试的遗留系统就知道了)。”TDD并不会驱动出好的设计,TDD只会给你及时的反馈什么可能是糟糕的设计。” Kent Beck的这句话,体现的正是这个理。

最后,TDD中有一个核心动作–重构。我们先定义好验收标准,在定义验收标准的时候已经来过一轮设计了(接口的定义,类的定义等),然后让测试快速通过,这两个过程我们都能够很好的分离关注点,每次聚焦在一件事情上。通过之后,我们不能就这么过了,还要去停下来去重构实现代码,这就需要我们对好的设计有一定的理解,能够识别一些代码坏味道,识别不良的设计。如果从重构驱使着我们去改良设计,那么TDD的测试先行能够让我们的重构充满信息。从这个层面来讲,测试也是在驱动你去改良设计。

相关文章

  • 测试如何驱动设计?

    在解答这个问题之前,来聊聊什么是设计。类、方法命名成什么样子是不是设计?这个方法隶属于那个类是不是设计?给这个方法...

  • 《测试驱动开发与设计模式》C++书籍及网站

    这一篇是《测试驱动开发与设计模式 - 从入门到精通》的补充。 比起Jave, 用C++尝试测试驱动开发和设计模式会...

  • python 17 数据驱动自动化接口测试

    数据驱动自动化接口测试 1.测试用例设计 yaml文件 2.测试类书写 ddtddt是python的数据驱动模块 ...

  • 测试驱动技术(TDD)系列之2:详解TestNG参数化

    上一篇文章介绍了测试驱动的相关概念,并以junit4为例,带大家了解如何在测试框架中实现测试驱动。详情: 测试驱动...

  • 快速教你如何搭建关键字驱动自动化测试框架?

    前言 上篇文章我们已经了解到了数据驱动自动化测试框架是如何构建和驱动测试的!那么这篇文章我们将了解关键字驱动测试又...

  • iOS 测试驱动开发

    iOS 测试驱动开发 测试驱动开发方法的优点: 只会包含功能的最简实现代码 更好地模块化设计, 包括清晰的模块边界...

  • 白盒测试探讨及使用

    白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是...

  • ATDD和TDD全称

    ATDD中文称“验证测试驱动开发”。 TDD测试驱动开发,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。

  • 白盒测试怎么搞?

    白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的...

  • 白盒测试中的六种覆盖方法

    白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的...

网友评论

      本文标题:测试如何驱动设计?

      本文链接:https://www.haomeiwen.com/subject/eqiyuhtx.html