添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Martin Fowler曾说过, 软件开发 领域中此前从没有过这样的事情:很少几行代码对大量的代码起了如此重要的作用。 JUnit 过去直到如今依然是 单元测试 的一个标准,是最流行的开源工具。当然现在我们有许多有别于JUnit的其他的开源工具。我自己,除了使用JUnit外,还用 TestNG

自动测试成为你Java项目中的一部分了吗?你最爱的 测试框架 是什么哪?使用的又是哪一种标准?

本文的4名开发者将和你一起分享他们在自动测试领域中的观点和经验。当你的项目面临测试阶段的时候,希望这些观点能对你有所帮助。如果你也想要分享自己的观点,请回帖参与讨论。我们真挚的希望我们能够为这个领域中新手提供一些有用建议和标准。

文章 最后列出了文章的作者和提到的测试框架。

论自动测试——Tom Wheeler

当我给那些有经验的开发者上课时,我发现只有40%左右的人写测试。大约还有40%的人甚至从来没听说过JUnit,这其中更有一般人完全没有单元测试的概念。开发者通常处于在项目经理制定的紧促计划的压力中——而那些项目经理同样处于客户的压力之下,客户希望他们的软件能够被快速的开发出。不幸的是,测试是项目中的一个重要部分而很多人却轻易的将它砍掉。真是目光短浅,那种做法只会让你的应用成为bug的乐园而且会大大超出你的计划时间。

为什么会这样?因为写自动测试实际上省下了大量的运行时间。每个开发者都会出错而通过测试可以帮助找到这些错误。可能手工测试在某些方面要比自动测试更快一些,但是手工测试需要用户界面。手工测试的结果并不一致,因为测试者和开发者一样都会犯错。而一个自动测试总会保持结果的一致性。

也许更重要的是,当一个旧bug被修复或者新特性被添加时会引入更多的bug。你需要在改变系统后重新运行所有的测试。这也是自动测试的价值体现,因为对比手工测试的开销,自动测试的开销是微不足道的。如果开发者经常测试,他们可以更容易地发现并修改问题,这可以保证代码质量并保证团队开发的进度。

比较JUnit和TestNG——Meera Subbraro

Martin Fowler曾说过,软件开发领域中此前从没有过这样的事情:很少几行代码对大量的代码起了如此重要的作用。JUnit过去直到如今依然是单元测试的一个标准。它是最流行的开源工具。当然现在我们有许多有别于JUnit的其他的开源工具。我自己,除了使用JUnit外,我还是用TestNG。下面我们来谈谈下这两个框架。

JUnit和TestNG都使用Annotation,都使得测试简单有趣。如果你写两个测试类,一个使用JUnit一个使用TestNG,除非你看到它们import语句,否则你几乎看不到他们之间的差别。

如果你是一个TDD的信徒,通过运行测试来完成你的持续集成过程。TestNG可能更加适合。重新运行失败的测试这样的机制对于每天都进行编译来说非常有帮助。而这个特性只有TestNG才有。

TestNG的另一个亮点是支持参数化。在JUnit中如果你要测试不同的参数,你需要写不同的 测试用例 来覆盖不同参数。而在TestNG,通过使用xml配置文件做到。开发者可能会抱怨XML文件”这下好了,除了要维护那些测试用例,我还要维护那么一堆xml文件”。(译者按:JUnit4也已经支持参数化测试了)

JUnit生成的HTML格式的报告非常好。我使用TestNG和Java 6,生成的报告远没有JUnit那么漂亮。

最后,两个框架都有自己的长处和弱处,必要时我们可以同时使用。让我们使用这两个伟大的框架,享受编写测试的快乐吧。

我为什么从JUnit换到了TestNG上——Andres Almiray

当我开始编写测试程序时候,我选择了JUnit3.x。因为那个时候它是唯一的开源选择,而且有着相当详尽的文档和成堆的书供我参考。在此基础上还有许多扩展如dbUnit,xmlUnit帮助测试一些大型组件。但是如果我们需要面对更多复杂的测试,通常是集成/功能测试,很明显JUnit会力不从心。那就是为什么我换到TestNG上。Cedric和Alexandru TestNG的作者从一开始就很明确,TestNG是为更广的测试场合而设计,而不仅是单元测试。TestNG可以运行没有修改过的JUnit测试,这使得两者的转换非常平滑。

稍后发布的JUnit4.x在细节上非常类似TestNG,这也弥补了这两个框架的裂痕。TestNG仍然是我最喜欢的,而且它仍然保持更新。现在在开源的Java测试框架中仍然有新进者,easyb,一个基于Groovy行为驱动开发的测试工具,为Java和Groovy测试。通过编写合理的测试或是假定一个任务,它可以视为一种规范尽管它是可执行代码。如果你在 Ruby 世界中使用Rspec一样。

为什么JUnit仍然是首选——Aslam Khan

像许多人开始测试驱动开发和单元测试一样,我也是从JUnit3.x起步的。我发现JUnit是最广泛的工具,出现在各种不同的地方(ANT,Maven,Eclipse,IntelliJ IDEA, 等)。它也很容易介绍给那些新团队。我也使用TestNG对它的多样性同样印象深刻。然而,JUnit的大量插件(dbUnit,xmlUnit等)使得Junit仍然是首选的。如果你花大量的时间在Spring上,那么基于Junit的Srping ApplicationContext aware测试用例会带来优势。为了测试前台,我几乎只使用 Selenium 。我曾经涉足过Canoo和其他的框架,但是发现这些途径都是反TDD模式的。使用Selenium,我可以处理Selenium测试脚本和记录,给任何需要的人并日后处理。

如果我们谈论的是纯粹的TDD,即书写良好的代码(不仅仅是良好的测试)需要增加一个mock测试。对于mocking,我使用Jmock,它和Junit配合良好,通过基于mock的方式和程序内部边界,我得到了设计良好的,互相通信的对象。这在可读性和可维护性上迈出了重要的一步。EasyMock也不错,但是Jmock是我个人的首选。

从Java世界上溯到Ruby世界中,RSpec很优秀而且也有DSL来描述场景。既然Rbehave已经融合进了Rspec,这样的整合将成为Ruby世界的首选。有趣的是,Rbehave是从Jbehave衍生来来,它是一个行为驱动开发测试框架。如果你喜欢BDD模式来收集和确定需求,你会喜欢Jbehave和RSpec.

Martin Fowler曾说过,软件开发领域中此前从没有过这样的事情:很少几行代码对大量的代码起了如此重要的作用。JUnit过去直到如今依然是单元测试的一个标准,是最流行的开源工具。当然现在我们有许多有别于JUnit的其他的开源工具。我自己,除了使用JUnit外,还用TestNG  自动测试成为你Java项目中的一部分了吗?你最爱的测试框架是什么哪?使用的又是哪一种标准?  本文
单元 测试 框架 TestNG 的eclipse插件安装说明: 本资源包含org.jtester.plugin_0.2.2.jar和org. testng .eclipse_6.1.1.20110713_1401.7z。将org. testng .eclipse_6.1.1.20110713_1401.7z解压缩后得到的文件org. testng .eclipse_6.1.1.20110713_1401和org.jtester.plugin_0.2.2.jar一起复制到eclipse安装目录下的plugins目录下,重启eclipse,Window->Show view->Other...-> Java ,看到 TestNG 图标,证明安装成功! 关于 TestNG 的使用可以参考文档《Step By Step写 测试 (书签版).pdf》,介绍的很详细,下载地址:http://download.csdn.net/detail/defonds/4095644。 单元 测试 框架 TestNG 介绍: JUnit 框架 Java 语言单元 测试 当前的一站式解决方案。这个 框架 值得称赞,因为它把 测试 驱动的开发思想介绍给 Java 开发人员并教给他们如何有效地编写单元 测试 。但是,在过去的几年中, JUnit 的改进不大;所以,为当今复杂的环境编写 测试 已经变成一个越来越困难的任务,即 JUnit 必须与其他一些补充性 测试 框架 集成起来。而 TestNG 是一个 测试 Java 应用程序的新 框架 TestNG 不仅确实强大、创新、可扩展、灵活,它还展示了 Java Annotations(JDK 5.0 中的重大新特性)的有趣应用。 TestNG 的创造者是 Cedric Beust,他在 Java 编程领域非常出名,是 EJB 3 专家组的成员,也是其他一些流行的开源项目(例如 EJBGen 和 Doclipse)的创造者。 示例 测试 代码: package example1; import org. testng .annotations.*; public class SimpleTest { @BeforeClass public void setUp() { // code that will be invoked when this test is instantiated @Test(groups = { "fast" }) public void aFastTest() { System.out.println("Fast test"); @Test(groups = { "slow" }) public void aSlowTest() { System.out.println("Slow test");
自动 测试 成为你 Java 项目中的一部分了吗?你最爱的 测试 框架 是什么哪?使用的又是哪一种标准? 本文的4名开发者将和你一起分享他们在自动 测试 领域中的观点和经验。当你的项目面临 测试 阶段的时候,希望这些观点能对你有所帮助。如果你也想要分享自己的观点,请回帖参与讨论。我们真挚的希望我们能够为这个领域中新手提供一些有用建议和标准。 文章最后列出了文章的作者和提到的 测试 框架 。 论自动 测试 ——T...
JUnit TestNG 测试 框架 对决 在平衡良好的开发人员团队中, 测试 是软件发布周期中不可分割的一部分。 并非总是那样。 单元 测试 ,集成 测试 ,系统 测试 等并不总是存在的。 如今,我们很幸运能及时到达一个 测试 很重要且其价值已为大多数利益相关者所知的地方。 在本文中,我们将 测试 放在中心,并通过 JUnit TestNG 的眼光探索 Java 测试 ,同时比较它们的主要功能和用例。 非常感谢Ov...
测试 结果报表 JUnit 是单一模式,在界面上显示运行的case数量, Error,Failures和Pass数量,以及显示failure的原因。 TestNG 多屏显示,相对美观点,显示运行的case情况,failed tests的情况以及Summary信息。 JUnit 支持 @Test, @After, @AfterClass, @Before, @BeforeClass, @Ignore等
工作中一直用的是 junit ,近期稍微学习了一下 TestNg ,发现 TestNg java 强大太多。 TestNg 简介 TestNg 也是一套 测试 框架 ,它的灵感来源于 Junit ( java 的单元 测试 框架 )和Nunit(.net的单元 测试 框架 )。但是它又在此基础上引入了新的东西,使得它更加强大。 TestNg 表示下一代(next genaration),它不仅可以做单元 测试 ,还可以做集成 测试 ...
软件测试 工具的熟习安装和使用 熟悉使用 Junit 框架 进行基于 java 语言的单元 测试 1.熟悉使用QuickTest Professional软件进行基于GUI的系统功能 测试 。 2.了解使用LoadRunner软件进行基于Web系统的负载 测试
TestNG Junit 测试 是检查应用程序的功能的过程是否按要求工作,以确保在开发层面,单元 测试 成图片。单元 测试 是单一实体(类或方法)的 测试 。单元 测试 是非常必要的,每一个软件公司向他们的客户提供高质量的产品。 JUnit 带动开发人员了解 测试 的实用性,尤其是单元 测试 的时候比任何其他 测试 框架 。凭借一个相当简单,务实,严谨的架构, JUnit 已经能够“感染”了一大批开发人员。 JUnit 的特点,可以看看 Junit 缺点: 最初的设计,使用于单元 测试 ,现在只用于各种 测试 不能依赖 测试 配置控制欠佳(安装/拆
一、针对断言 因为可以使用assertj,这是个类是building的断言,使用起来比较舒服,所以不管是 junit 还是 testng 都可以使用这个断言 二、整合spring boot 1. junit 1)@SpringBootTest(classes = Application.class),通过注解配置spring 2)@RunWith(Spring JUnit 4ClassRunner.cl
参考:http:// testng .org/doc/index.html 既然是 java 的自动化单元 测试 框架 ,就必须要有 java 的环境了,这里使用的编辑器是Eclipse,已经安装过 TestNg 插件,如果环境准备好就可以开始了 代码结构如图 新建一个 java 项目,之后...
4. 编写 测试 代码,使用 Java 编写 测试 脚本,并结合 选择 测试 框架 进行 测试 执行和结果输出。 5. 配置 测试 环境,包括配置 测试 数据、 测试 设备、 测试 服务器等。 6. 运行 测试 用例,并对 测试 结果进行分析和记录。 7. 根据 测试 结果进行调整和改进,例如修改 测试 用例或 测试 代码,或者更新 测试 环境。 8. 不断重复执行 测试 用例,确保自动化 测试 框架 的可靠性和稳定性。 以上是编写 Java 自动化 测试 框架 的基本步骤,其中需要注意的是,要保持 测试 用例和 测试 代码的可读性、可维护性和可扩展性,同时要结合实际情况灵活运用 测试 框架 和工具。