2013-03-05 61 views
2

我有疑问。假设我有一个很大的Web应用程序,它依赖于Java/Java EE(JSP/Servlets)。自动完成Java EE Web应用程序的测试

每次放下前,我们都会在GUI上测试每个功能,以便一切正常。以前这很容易,但现在随着模块数量呈指数增长,手动测试每个具有所需功能的GUI并不是一个可行的选择。

我在寻找工具,在这里我可以编写我的整个测试用例,例如约1000,然后在下降之前运行一次,它将列出所有失败的测试用例。

该工具最好必须是免费下载和使用它。

我不知道是否在这方面使用

Arquilian

的JUnit

将帮助或没有,但自动化测试之前的下降真的需要.. 请指导。

+0

你在测试你的前端吗?然后[Selenium](http://docs.seleniumhq.org/) – 2013-03-05 14:57:52

回答

1

使用JUnit使用模拟框架即的Mockito测试单元(服务方法)

使用的Arquillian上集成度测试在一起(如何不同的服务模块一起工作)

使用的数据库测试工具(即dbunit)来测试你的数据库/持久层)

使用Selenium来测试你的前端

测试尽可能。

使用JenkinsSonar跟踪您的构建过程和你的测试和代码

你应该总是测试你在不同级别的应用程序的质量。不只有一种解决方案。 使用单元测试测试应用程序的小块并尽可能简化重构。

使用集成测试检查您的模块是否仍按预期一起工作。

使用GUI测试来检查您的客户是否可以使用您的软件。

如果它的相关性,考虑性能测试(即jmeter

1

明确硒。
将它与maven结合起来,可能需要将您的项目专门用于测试目的。此外,Maven允许您在集成测试阶段启动容器,并在最后自动关闭该容器。您也可以将其配置为jenkins/hudson上的每晚构建,以便您将任何回归的情况都通知您。

+0

使用硒,我的应用程序依赖于JSF。它无法记录所有的输入值。我使用集成在Firefox中的Selenium ..你能否告诉我们Selenium是否可以与JSF集成。 – AngelsandDemons 2013-05-29 08:14:11

+0

硒是可以与任何基于浏览器的IHM(Html/JS)协同工作的,无论是底层服务器技术。由于JS处理,您可能会遇到一些问题,您必须正确配置您的Web驱动程序,也许需要手动编辑您的自动化脚本以正确处理一些异步行为 – Gab 2013-05-29 08:23:47

+0

这实际上意味着我需要为每个我写的整个Selenium测试用例GUI。这是因为每个GUI都包含一些在页面呈现时仍处于隐藏状态的组件,并且只有在满足某些条件时才会显示在页面上。另外JSF在将表单ID附加到每个组件上时声名狼借。如果ID未全部分配给组件,则JSF将为组件分配随机生成的唯一ID,如果未提供ID,组件将变得更加棘手。 – AngelsandDemons 2013-06-13 10:42:02