2012-06-04 122 views
3

对于我来说Java EE是一个新世界,我的经验是在嵌入式系统上,但我开始了一个新工作,我想知道是否有基于Java EE的Web应用程序要遵循的测试过程。该领域通常采用哪种测试策略?Java EE测试策略

  • 基本单元测试
  • 功能测试
  • 集成测试
  • 系统试验,应力测试,负荷测试,....

.... ,哪个是Web开发的每个测试阶段的范围?由于服务器代码和客户端代码都涉及到,我不知道哪个是这个领域的最佳方法。此外,还涉及几台机器:数据库,业务层,表示层,负载平衡器,CAS认证,Active Directory,...

哪个是每个阶段最好的测试环境?当使用生产CAS认证,...

链接,书籍,简单的解释或其他类型的地址,非常感谢。

+2

快速注意它应该是JEE,因为J2EE是6岁 – Woot4Moo

回答

0

首先,无论你打算做的测试,把你的构建过程中的护理(一个很好的起点是Maven作为构建工具)

的Junit(或TestNG的)是一切差不多好了(因以其简单)

单元测试: 对于模拟,我宁愿Mockito jmock或easymock。

验收测试: 关于UI测试硒对Web应用程序来说很好(如果您打算进行大量UI测试,请查看PageObject模式)。 对于其他接口测试(如webservice),soapui是一个不错的起点。

集成测试: 您将面临中间件问题,主要是通过容器在java中解决。现在它变得有趣:)如果你运行在“真正的”JEE中,那么它取决于它是否在JEE6之前,或者不是从JEE6开始你有一个嵌入式容器(这真的可以减轻测试)。否则,去一个依赖注入框架(Spring,Guice,...)。

集成或验收测试其他提示:

  • 你可能需要模拟一些接口(给看看到MOCO嘲笑基于HTTP的外部服务)。
  • 也想一些嵌入式servlet容器(Jetty)来缓解web测试。
  • 配置和供应也可能是一个问题。例如:对于数据库,您可以使用“flyway”或“liquibase”自动执行此操作。
  • DB测试您有两种方法:在每次测试后(参见DBUnit)或事务测试(参见Spring测试的示例)重置数据
1

最好的测试框架是Junit-对于单元测试,在我看来。 http://www.junit.org/ - 用于嘲讽的对象,您将需要大量的,喜欢嘲笑数据库,模拟服务和其他对象在J2EE环境能在隔离测试。使用http://www.jmock.org/http://code.google.com/p/mockito/http://www.easymock.org/ - 用于验收测试和功能测试有硒http://seleniumhq.org/这个框架使您能够自动化您的测试。 我建议你阅读这本关于测试的书籍,特别是在j2ee环境中测试。

http://www.manning.com/rainsberger/ 
http://www.amazon.com/Test-Driven-Development-By-Example/dp/0321146530 
http://manning.com/massol/ 
http://manning.com/koskela/