Java EE测试策略

时间:2012-06-04 07:58:25

标签: unit-testing authentication java-ee testing

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

  • 基本单元测试
  • 功能测试
  • 整合测试
  • 系统测试,压力测试,负载测试,....

.... 哪个是Web开发的每个测试阶段的范围?由于涉及服务器代码和客户端代码,我不知道哪个是该领域的最佳方法。此外,还涉及多台计算机:数据库,商务层,表示层,负载平衡器,使用CAS进行身份验证,Active Directory,......

哪个阶段的最佳测试环境?使用生产CAS身份验证时,......

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

2 个答案:

答案 0 :(得分:1)

在我看来,最好的测试框架是Junit-用于单元测试。     http://www.junit.org/      - 对于模拟对象,你需要很多,比如在j2ee环境中模拟数据库,模拟服务和其他对象,以便能够单独测试。使用http://www.jmock.org/http://code.google.com/p/mockito/,{{3 }}      - 接受和功能测试有selenium http://www.easymock.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/

答案 1 :(得分:0)

首先,无论你打算做什么测试,都要注意你的构建过程(一个很好的起点就是maven作为构建工具)

Junit(或testng)几乎对一切都很好(由于其简单性)

单元测试: 对于模拟,我更喜欢Mockito到jmock或easymock。

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

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

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

  • 您可能需要模拟一些界面(看看MOCO基于HTTP模拟外部服务)。
  • 还考虑一些嵌入式servlet容器(Jetty)来简化web测试。
  • 配置和配置也可能是个问题。例如:对于DB,您可以使用“flyway”或“liquibase”自动执行此操作
  • 数据库测试你有两种方法:每次测试后重置数据(参见DBUnit)或事务测试(参见Spring测试的例子)