如何区分m的属性


这是关于测试属性的第五篇文章,从名人级别的“ 如何测试您的测试 ”开始。

差异不是单个测试的属性。 区分并不孤单,因为它需要多次测试。

测试使我们能够(a)知道某处错误,并且(b)帮助我们找到该处。 我们想为我们(或我们的另一个代码受害者)的未来提供很多线索,他们需要分析和解决问题。 对于我们这样做,我真的很讨厌这样做,我会举起我们堕落的敌人的幽灵:瀑布。

几年前,当我访问水上世界时,我经常编写SDD。 这些是可怕的软件详细设计文档,我们为功能和组件编写了这些文档。 当然,没有人喜欢它们,它们的模板,一开始很奇怪的单词,甚至它们都闻起来很有趣。 但…

他们要为他们做一件事:要写一件事,您必须考虑要做什么。 (听起来像TDD的最大好处 ,对吧?)。 一旦我们审核了文档,就可以开始提问“如果……怎么办”问题。 断开连接会怎样? 如果组件没有及时初始化怎么办?

作为我们学习的一部分,有时甚至在文档中添加了一个测试用例描述,因此作者还需要先思考他需要检查的所有用例,我们也可以对其进行审查。 该列表还用作实施者进行测试的检查列表。

回到未来

没错,瀑布是邪恶的,但有时它的心脏有些好地方。 通常,我们会给BDUF(前端的大型设计)一个不好的代表,但实际上,是文档的工作使我们感到困扰,而不是前端的思考。 科学家已经证明,在做某事之前先思考会与其成功相关。 设想。

TDD告诉我们关注当前的测试。 顽固的家伙将其发挥到极致,但实际上,这确实很难做到。

在执行一种情况时,我们仍在考虑另一种“假设”。 如果我们不做TDD,而是先编写代码,那么在编写代码时,我们会考虑那些“假设”。

我们应该拥护我们的思维方式,并充分利用它。

烘烤差异化

我们已经在考虑场景,以及如何使它们彼此不同。 现在我们要做的就是确保我们摆脱想法的痕迹。

  • 对测试用例进行分组 。 将所有相关案例放在一个地方,并与其他地方分开。 将它们放在单独的类/文件中,并为其赋予不同的组名。 是的,即使对该方法进行了其他测试–记住,约定应该可以帮助我们有效,而不是因为存在而限制我们。
  • 分组查看测试名称 。 首先,查找丢失的案例,如果有,请为它们编写测试。 单独查看组中的名称,看看它们是否互补。 如果名称重叠,则将区别移到左侧,这样,如果测试运行程序未显示完整名称,则可以在它们之间进行区分。
  • 复查测试体 。 有时,我们“覆盖”代码作为测试设置的一部分,而区别在于实际设置在测试之间有所不同。 使测试反映出:将通用设置行与微分设置和操作分开。 您也可以尝试(但不一定总是成功)提取通用设置,并将其余的独特行保留在测试中。
  • 查看所涵盖的代码。 通过将测试代码中的变量和函数的名称与测试中使用的命名进行匹配,您甚至可以在代码本身中留下提示。 但是,就像陈旧的注释一样,如果重构时事情没有更新,这可能会变得很糟糕。 使用风险自负。

为了分析测试失败时的问题,我们需要进入侦探模式。 我们拥有的证据越多越好。 有了足够的差异,我们就可以得出关于什么有效,什么无效的心理模型,以及更好的解决方案–问题可能会潜伏在这里,因此我们可以继续进行修复。

翻译自: https://www.javacodegeeks.com/2014/07/test-attribute-5-differentiation.html

如何区分m的属性

如何区分m的属性_测试属性#5 –区分相关推荐

  1. 最近朋友圈晒足迹足迹刷屏_测试属性#7 –足迹

    最近朋友圈晒足迹足迹刷屏 当我们谈论足迹时,我们实际上是在谈论隔离. 隔离是信任的关键. 等一下 测试的"检查"部分实际上是关于信任的. 我们进行检查,因为我们想确保我们的系统能够 ...

  2. jdk 安全属性_系统属性的JDK 12 Javadoc标记

    jdk 安全属性 JDK 12 Early Access Build 20 ( 2018/11/15 )可用,可以用来试用新的Javadoc标签{@systemProperty} . 新的{@syst ...

  3. HTML DOM firstChild lastChild nextSibling previousSibling 属性_获取属性值的undefined问题

    1 <html> 2 <head> 3 <title>HTML示例</title> 4 <style type="text/css&qu ...

  4. ce修改面板属性_改属性【dnfce修改器吧】_百度贴吧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 人物基质+装备偏移+1EC=1000 装备的装饰上+1000 人物基质+装备偏移+538=1000 装备最大耐久度=1000 人物基质+装备偏移+5C0= ...

  5. ava_212_反射机制_动态操作_构造器_方法_属性_练习

    package java_212_反射机制_动态操作_构造器_方法_属性_练习; /** 属性 */ public class User { private int id; private int a ...

  6. 赞扬别人团建评论_赞扬精心设计:基于属性的测试如何帮助我成为更好的开发人员...

    赞扬别人团建评论 开发人员的测试工具箱就是其中之一,很少保持不变. 可以肯定的是,一些测试实践已被证明比其他测试更有价值,但是,我们仍在不断寻找更好,更快和更具表现力的方法来测试我们的代码. 基于属性 ...

  7. nunit常用属性_通过在测试中使用nunit属性来帮助您的同事节省时间

    nunit常用属性 Let's face it, there is nothing worse than trying to understand the code you wrote 3 month ...

  8. 尚品汇_第3章_平台属性管理

    尚品汇_第3章__平台属性管理 文章目录 尚品汇_第3章__平台属性管理 一.商品的基本知识 1.1 基本信息-分类 1.2 基本信息-平台属性 1.3 基本信息-销售属性与销售属性值 1.4 基本信 ...

  9. element怎么设置复选框属性_【JavaScript 教程】DOM——属性的操作

    作者 | 阮一峰 HTML 元素包括标签名和若干个键值对,这个键值对就称为"属性"(attribute). <a id="test" href=" ...

最新文章

  1. 李飞飞谈AI医疗:为什么我要从监督医生洗手开始做起?
  2. js判断输入是否为正整数、浮点数等数字的函数代码
  3. 初涉程序员之路的感悟
  4. 软件测试自学舞蹈简单,中舞网APP评测:舞蹈初学者必备的APP
  5. 剑指Offer_07_斐波那契数列
  6. 考勤系统java_基于java开发的考勤管理系统
  7. Android 蓝牙开发之搜索、配对、连接、通信大全
  8. repo sync repo reset: error: entry ‘comand.py ‘ not uptodate . cannot merge
  9. 【基础知识】~ 建立时间/保持时间
  10. 封装仿支付宝密码输入效果
  11. mysql_使用记录.md
  12. 金泰克/tigo S300 240G SM225K H27QFG8PEM5R 完整开盘教程
  13. 为什么会亏钱,亏钱的逻辑(一)
  14. POJ 1984 Navigation Nightmare 多权值并查集
  15. Hive 程序内存溢出错误分析
  16. java jdk 7_jdk1.7 64位-jdk7 64位下载7u80 官方正式版(Java SE Development Kit 7)-西西软件下载...
  17. web登录应用加密狗
  18. mysql最后一行增加合计 - mysql查询语句
  19. 民间各类恐怖请仙大法(上)(转帖)
  20. 【17】有关python面向对象编程的提高【多继承、多态、类属性、动态添加与限制添加属性与方法、@property】...

热门文章

  1. DWC PCIE学习笔记(一)-----PCIE PHY接口
  2. 海外服务器跟国内服务器对比分别有哪些优势呢
  3. R绘图-KEGG功能注释组间差异分面条形图
  4. (翻译)分块模式(Chunking)
  5. 基于C语言的JPEG编码代码详解
  6. UOJ #11.【UTR #1】ydc的大树 题解
  7. 运营商开始悄悄火拼5G价格战,19元套餐开始涌现
  8. 激活DataGrip
  9. python入门(三)--文件处理
  10. 对项目需求书撰写的一点理解