Integration test with Arquillian and JBoss AS 7

3,192 views

Published on

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
3,192
On SlideShare
0
From Embeds
0
Number of Embeds
938
Actions
Shares
0
Downloads
17
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Integration test with Arquillian and JBoss AS 7

  1. 1. Arquillian と AS7 によるインテグレーションテスト +
  2. 2. 自己紹介• 小西 高之• JBoss サポートエンジニア – twitter: @leather_sole – hatena: id:travelershouse
  3. 3. 今日はテストの話をします
  4. 4. 時間の感覚について
  5. 5. TEST DESIGNIMPLEMENTATION
  6. 6. 経験• 前職 – テスト駆動開発( TDD )のトレーニング – ビジネスロジックのユニットテスト• よくあった質問
  7. 7. Q:ビジネスロジックのテストもいいけど、 DB やネットワークテストの自動化はどうやればいいんですか?
  8. 8. A:とりあえずはビジネスロジックのテストから習得しましょう ( キリッ
  9. 9. 答えになってない…
  10. 10. インテグレーションテストの自動化• 作成が大変 – テスト作成に必要なスキル – テスト結果の収集は?• 実行に時間がかかる – ビルド、サーバ起動、デプロイ… – Unit Test の目標は” 10 秒以内”• テストコードが脆い – UI の変更 – DB の変更、ネットワーク遅延 etc..
  11. 11. Unit Test Integration Test System Testテストコードの脆弱性 ★★★★★ ★★ ★ テスト作成容易性 ★★★★★ ★★ ★ バグ調査容易性 ★★★★★ ★★★ ★ テスト実行時間 ★★★★★ ★★★ ★ 実環境との差 ★ ★★★★ ★★★★★ ※ 発表者の主観です
  12. 12. そこで…
  13. 13. • http://arquillian.org/
  14. 14. is ...• The Extendable Enterprise Test Platform or• A container-oriented testing platform or• An integration testing framework for Containers
  15. 15. http://www.java.com/en/dukeschoice/
  16. 16. Andrew Lee Rubingerhttp://www.java.com/en/dukeschoice/
  17. 17. Aslak Knutsenhttp://www.java.com/en/dukeschoice/
  18. 18. Dan Allenhttp://www.java.com/en/dukeschoice/
  19. 19. DEMO 20
  20. 20. Container management• Embedded – Same JVM as test runner – Lifecycle controlled by Arquillian• Remote – Separete JVM from test runner – Arquillian connects to running container – Tests executed over remote protocol• Managed – Remote with lifecycle management
  21. 21. Managed mode Arquillian class (extends BlockJUnit4ClassRunner) 22
  22. 22. Managed mode arquillian service test.war boot 23
  23. 23. Managed mode run test 24
  24. 24. Managed mode correct result undeploy shutdown 25
  25. 25. Managed mode result 26
  26. 26. Supported containers WASWebLogic https://docs.jboss.org/author/display/ARQ/Complete+Container+Reference
  27. 27. DEMO 28
  28. 28. ● 速度測定● コンテナの使い分け 29
  29. 29. まとめ• Arquillian ならインテグレーションテスト が簡単に!• Arquillian + JBoss AS7 ならさらに高速!• Jenkins CI と組み合わせると Continuous Integration Test が簡単に!
  30. 30. Unit Test Integration Test System Testテストコードの脆弱性 ☆☆☆☆☆ ☆☆★★ ☆ テスト作成容易性 ☆☆☆☆☆ ☆☆★★ ☆ バグ調査容易性 ☆☆☆☆☆ ☆☆☆★ ☆ テスト実行時間 ☆☆☆☆☆ ☆☆☆ ☆ 実環境との差 ☆ ☆☆☆☆ ☆☆☆☆☆ ※ あくまでも発表者の主観です
  31. 31. Reference• Arquillian - JBoss Community http://www.jboss.org/arquillian• Shrinkwrap - JBoss Community http://www.jboss.org/shrinkwrap/• Jboss AS 7.0.2 Quickstarts (includes kitchensink) http://download.jboss.org/jbossas/7.0/jboss-as-7.0.2.Final/jboss-as-quickstarts-7.0.2.CR1-dist.zip• Real Java Enterprise Testing http://slidesha.re/q06oXs• Throwing complexity over the wall: Rapid development for enterprise Java http://slidesha.re/vl8Hkw• JUnit http://junit.org/• Git http://git-scm.com/• Jenkins CI http://jenkins-ci.org/• JBoss Tools http://www.jboss.org/tools• Arquillian - Alien Species Wiki - Aliens, UFOs, Space aliens http://aliens.wikia.com/wiki/Arquillian

×