Java 测试方法
Java项目中最常用的测试方法(迭代开发)是什么?我以前使用过TDD(测试驱动开发),我对它的感觉很复杂。本质上,在编写代码之前先编写测试,然后编写代码以满足测试的要求。TDD迫使您在开始之前对自己的需求有一个非常清晰的想法。另一个好处是,一旦完成了开发,假设您严格遵循了TDD过程,那么您就有了一套完整的测试套件。不利的一面是,这需要非常长的时间,有时,您只想跳过几个步骤(例如,可能在测试之前编写代码,就像一个理智的人喜欢做的那样) 更多内容可以阅读单元测试 基于合同的编程,拉埃菲尔 瀑布模型Java 测试方法,java,testing,Java,Testing,Java项目中最常用的测试方法(迭代开发)是什么?我以前使用过TDD(测试驱动开发),我对它的感觉很复杂。本质上,在编写代码之前先编写测试,然后编写代码以满足测试的要求。TDD迫使您在开始之前对自己的需求有一个非常清晰的想法。另一个好处是,一旦完成了开发,假设您严格遵循了TDD过程,那么您就有了一套完整的测试套件。不利的一面是,这需要非常长的时间,有时,您只想跳过几个步骤(例如,可能在测试之前编写代码,就像一个理智的人喜欢做的那样) 更多内容可以阅读单元测试 基于合同的编程,拉埃菲尔 瀑布模型
不同的商店做不同的事情。如果有一种方法可以将它们统统管理,你就不会问这个问题。个人经验表明,最流行的方法是完全没有。在进行测试的前提下,我想说,使用JUnit进行测试是Java中进行测试的常用方法 尽管大多数测试都是用JUnit编写的,但大多数测试往往是集成测试而不是单元测试。(意思不是孤立地测试一件事,而是一起测试一些事) 另外,大多数测试不是以测试优先的方法编写的,而是并行编写的,或者是在特定特性实现之后编写的
如果你去一个更高级使用测试的团队,你可能会发现一些CI服务器(Cruise Control,Hudson)在夜间构建期间每天至少运行一次测试。按照最常用方法的顺序:
. 看看整个系列,大约5个讲座(不能发布多个链接)。我的建议是,你应该有一个健康的自动测试和手动测试的组合 自动测试
- 单元测试
使用NUnit测试您的类、函数以及它们之间的交互。
- 自动功能测试
若可能的话,您应该自动化许多功能测试。一些框架中内置了功能测试。否则,你必须使用一个工具。如果您正在开发网站/应用程序,您可能希望了解Selenium。
- 持续集成
使用CI确保每次团队中有人提交项目时,所有自动测试都会运行。
尽管我非常喜欢自动化测试,但它并不能代替手动测试。主要原因是,自动化系统只能执行其被告知的操作,并且只能验证其被告知的内容,以将其视为通过/失败。人类可以利用自己的智能发现错误,并在测试其他东西时提出问题
- 探索性测试
ET是发现项目缺陷的一种非常低成本和有效的方法。它充分利用了人类的智慧,并向测试人员/开发人员传授了比我所知的任何其他测试技术更多的项目知识。针对测试环境中部署的每个功能进行ET会话不仅是快速发现问题的有效方法,也是学习和娱乐的好方法
3.在本地计算机上的专用服务器上进行持续集成和自动化测试。。。。或者至少,尽可能少地逃脱;-)测试的主要缺点是什么?@jamesp。我认为编写自动化测试的犹豫与可能花费在“实际工作”上的前期时间有关。虽然我不同意这个观点,但我认为重要的事情之一是集中精力编写最具成本效益的测试,以便更容易看到和证明其价值。这就是诀窍,很难开处方,因为这很大程度上取决于你工作的环境。谢谢你的详细回复乔纳斯。这将作为一个很好的参考。不用担心,只乐意帮助。如果你愿意,测试会非常有趣。