2010-08-10 153 views
6

在Java项目中测试最常用的方法是什么(迭代开发)?测试方法

+0

应该是社区wiki。 – Borealid 2010-08-10 03:07:30

回答

9

我的建议是,你应该有一个健康的自动和手动测试组合。

自动化测试

手动测试
虽然我很喜欢自动化测试是,恕我直言,不是一个手工测试的替代品。主要原因是自动化只能按照所告知的内容进行,并且只能验证它被通知视为合格/不合格的内容。一个人可以利用它的智能来发现错误并提出在测试别的东西时出现的问题。

  • 探索性测试
    ET是一个非常低的成本和有效的方式找到一个项目的缺陷。它利用了人类的智慧,并且比测试技术更能告诉测试人员/开发人员更多关于该项目的知识。针对测试环境中部署的每个功能进行ET会话不仅是快速发现问题的有效方式,而且是学习和娱乐的好方法!
    http://www.satisfice.com/articles/et-article.pdf
+1

谢谢你的详细回复乔纳斯。这将作为一个很好的参考。 – 2010-08-14 17:46:35

+0

没有忧虑,只能乐意帮忙。如果你愿意,测试可以非常有趣。 – 2010-08-16 12:57:48

4

以前我和TDD(测试驱动开发)一起工作过,我对它的感觉是混合的。本质上,您在编写代码之前编写测试,并编写代码以满足测试的要求。 TDD迫使您在开始之前对您的要求有一个非常清晰的概念。另外一个好处是,一旦你完成了开发,假设你紧跟TDD过程,你将拥有一套完整的测试套件来处理代码。不好的一面是,它需要很长时间,有时你只想跳过几个步骤(例如在测试之前编写代码,比如理智的人会喜欢这样做)。

更可以读here (wiki link)

2

单元测试?

基于合同的编程,一个艾菲尔?

瀑布模型?

不同的商店做不同的事情。如果有一种方法来统治他们,你就不会问这个问题。

7

个人经验表明最流行的方法是根本没有。

+2

这很可惜,也许令人惊讶的是,非常真实的...... – Cambium 2010-08-10 03:09:33

+0

......或者至少,只要你能逃脱;-) – 2010-08-10 03:09:53

+0

测试的主要缺点是什么? – 2010-08-14 17:45:52

2

在做测试的前提下,我会说使用JUnit进行测试是在Java中进行测试的常用方法。

尽管大多数测试都是用JUnit编写的,但大多数测试往往比单元测试更具集成性测试。 (也就是说,不是单独测试某件事物,而是一起测试某件事物)

此外,测试大多不是以测试第一种方法编写,而是在并行或特定功能实施后编写。

如果你去一个能够更高级地使用测试的团队,你可能会发现一些CI服务器(巡航控制,Hudson)每天至少在夜间构建期间运行测试一次。

2

在最常用的方法的顺序:

  1. 在所有
  2. 手动测试没有考试:在运行应用程序, 点击或者提供输入,检查 结果
  3. 尝试写一些JUnits ,忘记 关于它们,滑动到2和1
  4. 从TDD开始,看到它很难 然后滑动到3,2和1

理论上有很多方法可以正确地测试代码。 如果您正在寻找实用的东西,请看 Clean Code Talk。看看整个系列,约5次会谈(不能发布多个链接)。

0

我的Java项目的测试建议是保持简单。

步骤: - 手动测试: - 实现稳定的产品。 自动化测试: - 保持产品的质量。 报告生成和报告: - 让人们知道产品的质量。持续集成: - 使其成为一个完整的自动连续工具。

当开发人员将提交功能,然后开始通过module测试它的模块。试着比较实际输出与预期的输出和反对的日志的问题。

当开发人员解决问题时,从集成测试开始,并开始测试已解决的状态问题,并检查是否因修复问题而发生任何回归。

最后当产品成为稳定的产品时,开始自动化模块。 您也可以按照如下步骤自动执行: - 1.自动模块。 2.为产品HealthCheck生成并发送邮件。 3.在本地机器上的私有服务器上进行连续集成和自动化测试。