你如何使测试不乏味?

dri*_*oda 10 language-agnostic testing

正如标题所说.您使用什么方法来测试自己的代码,这样就不会有无聊的任务?你使用任何工具吗?对于我的项目,我使用电子表格列出所有可能的例程,即基本的CRUD以及所有奇怪的例程.我做了大约10个例程.

通过这样做,我得到大约2-3个错误,有时是主要错误.如果我不这样做,客户报告另一个错误.

那么请告诉我你用什么技术来测试你自己的代码,这样你就不会厌烦你?

编辑:

我忘了提到我特别致力于基于Web的应用程序,我的语言是PHP和Cakephp框架.

jen*_*ens 11

快速测试.(更多)即时反馈有助于实现短迭代.这几乎可以让你沉迷于开始下一次测试运行.


New*_*ian 9

如果你发现测试很无聊,那是因为测试你的代码是一个必要的邪恶......至少是我认为你看到它的方式.

你在这里需要的只是改变你对测试的看法......更具体地说......改变你正在测试的方式.你喜欢编程比测试更好...编程你的测试...然后它就像开始编程事物一样有趣......当你完成后你就拥有了

  1. 一个有效的程序

  2. 一个测试套件,保留并测试每个版本

所以留下那个excel表和一步一步的调试器并加入乐趣:-)

当然还有更多的东西,测试框架(junit,testNG,Dunit,NUnit ......)会派上用场,它们会带走一点点痛苦,只留下测试的编码部分.

快乐编码和扩展..快乐测试:-)


您可能觉得很有用的参考资料,我不是PHP专家,远非它,但它似乎符合目的.


ser*_*ist 7

我曾经和你一样思考.当我第一次开始编程时,我们必须弄清楚输出在纸上的内容,然后对实际输出和预期输出进行可视化比较.说说单调乏味.几年前,我发现了测试驱动开发和xUnit,现在我喜欢测试.

基本上,在TDD中,您有一个框架,旨在允许您编写测试并非常轻松地运行它们.因此,编写测试只会编写代码.过程是:

  1. 只需写足以让您编写测试.例如,您正在向类添加方法,因此您只需编写方法sig以及使其编译所需的任何return语句.
  2. 然后编写第一个测试并运行框架以查看它是否失败.
  3. 然后将代码添加到/重构您的方法以使测试通过.
  4. 然后添加下一个测试,看看它是否失败.
  5. 重复3和4,直到你想不到任何更多的测试.
  6. 你已经完成了.

这是关于TDD的好处之一:一旦你的代码通过你能想到的每一个测试,你知道你已经完成了 - 没有TDD,有时很难知道何时停止.你的测试来自哪里?它们来自规范.TDD经常帮助您实现规范.当你想到那些不符合规范的东西的测试用例时,会出现漏洞.在开始编写代码来处理它们之前,您可以回答这些问题.

另一个好处是,当您稍后发现错误时,您可以开始重新编写代码安全,因为所有现有测试都证明您的代码仍可用于所有已知情况,而您编写的新测试将重新创建当你修复它时,bug会告诉你.

您可以将单元测试添加到现有代码中 - 只需为要更改的位添加它们.随着您不断回归,测试将获得越来越多的报道.

xUnit是支持不同语言的一堆框架的通用名称:JUnit for Java,NUnit for .NET等.可能已经有一个用于您使用的任何语言.你甚至可以编写自己的框架.阅读本书 - 非常棒.