在上一篇文章中,我创建了一个测试属性列表。 如果其中之一不合适,则需要进行一些修复。
这是一系列讨论测试的不同方面的文章中的第一篇。
让我们从有效性开始。 诚然,这不是我想到的第一个属性。 我们将有可能编写错误的测试?
怎么会这样
通常,我们基于对代码的理解,需要实现的要求来编写测试,并且通过假设来填补空白。
我们在任何一个上都可能是错误的。 或全部。
一个更有趣的问题是:我们怎么知道我们编写了不正确的测试?
我们发现我们以一种或多种方式进行了错误的测试:
- 评论 :有人查看了我们的测试和代码,并告诉我们我们正在测试错误的东西,或者这不是证明我们的代码有效的方法。
- 惊奇 :我们的测试出乎意料地失败了,它应该通过了。 它也可能以其他方式发生。
- 气味 :我们觉得自己走错了路。 测试通过了,但是感觉有些不对劲。
- Facepalm :一分钱掉了下来 ,我们得到了“你到底在做什么?” 随之而来的是“很高兴没人注意到”的感觉。
一旦知道了问题所在,我们就可以轻松修复它。 但是,如果我们完全避免这种情况,会不会更容易?
最简单的方法是让某人参与。 配对编程有助于避免错误和编写错误的测试。 显然,在评论中,合作伙伴会有所帮助,但他们也可以避免Surprise,Smell和Facepalm。 而且,当您遇到Facepalm时,您不希望它们在那里,对吗?
敏捷开发的基础之一就是反馈。 我们都会犯错。 在敏捷开发中,我们承认这一点,因此我们采取了制动措施,例如成对编程,以尽早发现问题。
下一步:可读性。
翻译自: https://www.javacodegeeks.com/2014/07/test-attributes-1-validity.html