在Java项目(迭代开发)中用于测试的最常用方法是什么?
答案 0 :(得分:9)
我的建议是你应该有一个健康的自动和手动测试组合。
自动测试
单元测试
使用NUnit测试您的类,功能和它们之间的交互
http://www.nunit.org/index.php
自动功能测试
如果可能的话,你应该自动进行大量的功能测试。一些框架工作具有内置的功能测试。否则你必须使用它的工具。如果您正在开发网站/应用程序,您可能需要查看Selenium
http://www.peterkrantz.com/2005/selenium-for-aspnet/
持续整合
使用CI确保每次团队成员提交项目时,所有自动化测试都会运行
http://martinfowler.com/articles/continuousIntegration.html
手动测试
尽管我喜欢自动化测试,但它是恕我直言,而不是手动测试的替代品。主要原因是自动化只能执行它所说的内容,并且只验证它被通知查看为通过/失败的内容。人类可以利用它的智能来发现错误并提出在测试其他东西时出现的问题。
答案 1 :(得分:7)
个人经验表明,最流行的方法是根本没有。
答案 2 :(得分:4)
之前我曾与TDD(测试驱动开发)合作过,我对它的感受好坏参半。基本上,您在编写代码之前编写测试,并编写代码以满足测试的要求。 TDD迫使您在开始之前对您的要求有一个非常明确的想法。一个额外的好处是,一旦完成开发,假设您密切关注TDD过程,您将拥有一套完整的测试套件来配合代码。缺点是它需要很长时间,有时候,你只想跳过几个步骤(例如,在像一个理智的人喜欢做的测试之前编写代码)。
可以阅读更多内容here (wiki link)
答案 3 :(得分:2)
单元测试?
基于合同的节目,艾菲尔铁塔?
瀑布模型?
不同的商店做不同的事情。如果有一种方法可以统治它们,那么你就不会问这个问题了。
答案 4 :(得分:2)
在完全进行测试的前提下,我会说使用JUnit进行测试是在Java中进行测试的常用方法。
尽管大多数测试都是用JUnit编写的,但大多数测试往往比单元测试更多的集成测试。 (意思是不是孤立地测试一件事,而是一起测试一些事情)
此外,测试通常不是在测试第一种方法中编写,而是并行编写或在实现特定功能之后编写。
如果你去一个更高级使用测试的团队,你可能会发现一些CI服务器(Cruise Control,Hudson)每晚至少运行一次测试。
答案 5 :(得分:2)
按照最常用的方法:
在理论方面,有很多方法可以正确测试代码。 如果您正在寻找实用的东西,请查看 Clean Code Talk。看一下整个系列,大约5个讲座(不能发布多个链接)。
答案 6 :(得分:0)
我对测试java项目的建议是保持简单。
步骤: - 手动测试: - 获得稳定的产品。 自动化测试: - 保持产品质量。 报告生成和报告: - 让人们了解产品的质量。 持续集成: - 使其成为一个完整的自动化连续工具。
当开发人员提交功能时,然后开始按模块测试it模块。尝试将实际输出与预期输出进行比较,然后将日志与问题进行比较。
当开发人员解决问题时,请从集成测试开始,并开始测试已解决的状态问题,并检查是否由于问题修复而发生任何回归。
最后当产品变得稳定时,然后开始自动化模块。 您也可以按照以下步骤跟踪自动化: - 1.自动化模块。 2.报告生成并发送产品HealthCheck的邮件。 3.本地机器上私有服务器的连续集成和自动化测试。