测试应该具备哪些特质

测试应该具备哪些特质

 

  1. 互相隔离的(不受其他测试的表现形式、是否存在、执行结果的影响)
  2. 自动化的
  3. 编写快
  4. 运行快
  5. 独一无二(为开发人员提供自信,而不会由其他测试提供信息,与其他测试不相关)
  Roy Osherove补充道:好的测试有三个基本属性:可维护、值得信赖、易于理解。
  Mike Hill的列表要更长:
  * 它会很短,通常只有十来行代码。
  * 它不会测试运行程序内部的对象,但是会测试为了测试目的而构建的应用内部的对象。
  * 它只会调用很小的一部分代码,通常是某个函数的某一分支。
  * 它是灰盒的形式编写的。也就是说,它运作的方式像是黑盒,但是有时又会利用白盒的长处。(一般来说,这是避免组合问题的重要因素。)
  * 测试要符合生产代码的编码标准,比如,团队目前对于优秀编码的最佳看法。
  * 应用的众多小测试构成了一个“提交关卡”。这就是说,开发人员可以在所有小测试通过的情况下提交代码,否则(强烈建议、甚至不惜手段)阻止他们提交。
  * 测试应对接受测试的对象有完全的控制权,因此应是自包含的。也就是说,它不会依赖不属于测试代码及其依赖图的任何其他对象。
  * 它的运行时间非常短。
  * 它会先于要测试的代码变更之前编写。
  * 通过一系列slip-and-fake技巧,它会避免使用所有“糟糕”的collaborator。
  * ……
  Mike和Ron Jeffries提醒我们:TDD的核心价值是要简化设计、提升开发效率;代码质量的提升和bug数量的减少是因此而带来的重要好处。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值