如何对测试有积极的心态?

时间:2008-12-30 00:34:52

标签: ruby-on-rails ruby testing

我想为我的应用程序编写测试,虽然每次查看rspec.info时,我都没有看到明确的路径,即“正确行事”并首先进行测试。我在rspec上观看了不止一次的peepcode视频,但却没有。我想对我的工作感到更自豪,我认为测试会有所帮助。我怎样才能突破这个心理障碍?

9 个答案:

答案 0 :(得分:8)

查找可以奖励您进行测试的工具。例如,可以非常轻松地运行所有测试并获得类似

的消息
73 tests passed.

尝试random testing因为您可以快速轻松地测试很多值。

查看您的语言是否提供测试覆盖率分析工具,该工具可为您提供语句覆盖率百分比或块覆盖率百分比。将代码覆盖率从60%提高到90%是非常有益的 - 如果你很幸运,你会发现错误。

我的主要建议是在测试中量化您的进度,以便您可以看到数字上升。这将使它更具激励性。 (哎呀,我想知道在这个网站上可以找到其他数字......)

答案 1 :(得分:4)

在我开始创建一些测试宏之前,我一直很讨厌它。喜欢登录或访问主页。我发现开始探究我的测试框架真正能做的事情很有趣。 这也有助于让其他人通过写一些来帮助我。我立刻发现了明显的改进,这让我想进入并开始改进。

答案 2 :(得分:3)

“测试你不想破坏的东西。”

首先确定优先顺序可能会有所帮助。我知道在黄瓜验收测试之上输入完整的三层模型,视图和控制器规格可能是件苦差事。因此,一个想法就是测试应用程序中最关键的内容,并在遇到不想再看到的错误时添加测试。

“始终以失败的测试开始。”

黄瓜以纯文本“故事”为特色,非常适合进行一些真正具体的测试。运行。也许这将是你可以开始的地方。 Cucumber并不适用于基于AJAX的应用程序,因为你必须使用Selenium或Watir。在编写一行代码之前,您可以从一个失败的故事开始,然后快速从那里开始使故事通过。

“不要测试,指定。”

不要考虑测试,而是尝试进行心理转换:您不是在测试,而是指明应用程序的行为方式。这是设计工作,不像测试那么无聊。 :)

答案 3 :(得分:2)

这样想:如果你不测试,你的代码就会被破坏。

答案 4 :(得分:1)

您需要查看测试将为重构和扩展代码带来的价值。一旦您有一组定义类行为的测试,您就可以随时开始进行更改以改进代码。您的测试将确保您所做的不会破坏系统。当您为代码添加新功能时,运行现有测试将使您确信您添加的新代码不会破坏任何其他代码。

关键是要采取长期观点。测试是一项投资。它可能会与您编写的代码略有不同,但最终它会开始以兴趣回报。您存储的资金将使添加新功能时更快速地前进。

答案 5 :(得分:1)

假设您已经有一个要修复的错误列表,我总是想回过头来尽可能创建一个演示错误的自动化测试。然后修复bug并观察测试通过。既然你必须测试bug,并且bug应该已经给你足够的信息来重新创建它,你可以看到你的测试立即返回。

最终,您将开始感受到将测试放在一起以及如何编写测试,并且您不需要现有错误的“蓝图”。

答案 6 :(得分:1)

几天前我写了一篇关于这个案子的动机帖子。以下是摘要:

  

随时开始编写测试   这样做的机会(即   你写了一些代码)。选择任何工具   这对你有意义并且写任何东西   测试,你觉得可以覆盖   至少你的微小行为   申请(不关心   保险范围或任何其他可怕的条款   第一天)。不要害怕   原始测试和琐碎的断言    - 随着您的测试覆盖率的增长,您将获得更多信心   你会变得越来越快乐   请注意,您不需要按F5   经常这样。想一想   以其他积极的方式进行测试 -   你做得更好,时间越少   你需要花费你的活动   不喜欢(看着旋转   在浏览器中刷新图标,   调试)和你的事情   爱。

如果您有兴趣,这里是whole thing

答案 7 :(得分:1)

如前所述,进入测试的最简单方法是使用回归测试。

我也避免做控制器规范 - 它们是PITA。做模型测试,因为这是逻辑应该放在首位。

在进入rails项目之前,尝试规范/测试一个普通的ruby项目。

答案 8 :(得分:0)

好吧,我会告诉你怎么做的!

在您尝试自动化之前,首先要在不同的应用程序上执行以下10次

负面情景,其结果将是负面的。 它可能是错误的数据输入,并为您提供正确的输出。

例如登录屏幕: 可能有很多情况下正确的用户错误的PW,错误的用户正确的PW ....最重要的是你不要放弃它,除非它突破它。这是你的口头禅。

HMMM现在你想像一个测试者现在转向UR系统, JUS写下了负面的测试和他们的结果 和他们的正确的测试 设计它。 现在开发框架