JBoss と Arquillian で実現する 究極のテスト環境 レッドハット株式会社 JBoss サービス事業部 コンサルタント 山 田義和

Similar documents
コンテナでテストをまわせ! Java EE への自動テストの導入 1 小西高之 JBoss Technical Support Engineer Red Hat K.K.

Make the Future Java FY13 PPT Template

WebアプリケーションサーバJBoss入門

IBM の Java 活用ガイド_rev2

PowerPoint Presentation

JB_weblogic_guide.indd

日立評論 2016年9月号:金融イノベーションを実現する新たなエンタープライズアプリケーション開発への取り組み

クラウド時代における アプリケーションモダナイゼーション クレイグ ムジラ副社長兼ゼネラルマネージャーミドルウェア事業部門 1

1. 検証概要 目的及びテスト方法 1.1 検証概要 Micro Focus Server Express 5.1 J の Enterprise Server が提供する J2EE Connector 機能は JCA 仕様準拠のコンテナとして多くの J2EE 準拠アプリケーションサーバーについて動作

富士通製プラットフォーム 「PRIMEPOWER/PRIMERGY」及び、富士通製ミドルウェア 「Interstage」とVantage Analyzer 動作検証完了報告書

PowerPoint Presentation

坊っちゃん

intra-mart Accel Platform

PowerPoint プレゼンテーション

1 JBoss Seam と Embedded EJB3 で見る 次世代の Java EE アプリケーション開発 株式会社カサレアルプロフェッショナルサービスセンター阿島哲夫岡本充洋

概要 はじめに :JBossをご存知でない皆様へ ケース1 Java EEアプリケーションサーバ ケース2 ルールエンジン

WebOTX V6 J2EEアプリケーションのトラブルシューティング

はじめに

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

V8.1新規機能紹介記事

大域照明計算手法開発のためのレンダリングフレームワーク Lightmetrica: 拡張 検証に特化した研究開発のためレンダラ 図 1: Lightmetrica を用いてレンダリングした画像例 シーンは拡散反射面 光沢面を含み 複数の面光 源を用いて ピンホールカメラを用いてレンダリングを行った

Automation for Everyone <デモ で実感できる、組織全体で活用できるAnsible Tower>

WEBシステムのセキュリティ技術

管理チート シート Payara Server 5 管理チート シート The Payara Platform - Production-Ready, Cloud Native and Aggressively Compatible.

untitled

お客様からの依頼内容とその現状

アプリケーションサーバ JBoss超入門

スライド 1

CLUSTERPROXSingleServerSafe SingleServerSafe ご紹介 2007 年 10 月

PowerPoint Presentation

スライド 1

PowerPoint Presentation

rcp-add-01:アーキテクチャ設計書

JavaもJava Scriptも! コンテナ型アプリケーション開発PaaS登場

パフォーマンス徹底比較 Seasar2 vs Spring 2006/04/12 株式会社電通国際情報サービスひがやすを株式会社アークシステム本間宏崇 Copyright the Seasar Foundation and the others all rights reserved.

What's Oracle WebLogic Server ~なぜWebLogic Serverが選ばれるのか~

WAS V9 アナウンスメント・セミナー資料

RED HAT JBOSS ENTERPRISE APPLICATION PLATFORM データシート 機能 完全認定された Java EE 7 および Java SE 8 のサポート 完全な Web サービススタック コンテナおよびクラウドのデプロイに最適化されたモジュールアーキテクチャ エンタ

Microsoft PowerPoint RHEL_サブスクリプション構成ガイド.pptx

(Microsoft PowerPoint - Java\221\3462\225\224\211\357\224\255\225\\\216\221\227\ ppt)

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 7編)

Oracle SOA Suite 11gコンポジットに対するSOASchedulerの構成

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

Red Hat OpenShift上でのInterstage Application Serverの動作手順(Java EE 6編)

スライド 1

開発者向けクラウドサービスを活用したリッチな Web/ モバイル アプリケーションの構築手法 杉達也 Fusion Middleware 事業統括本部担当ディレクター [2013 年 4 月 9 日 ] [ 東京 ]

クラウド税務 会計 給与システム開発にスピードを!A-SaaS が Sencha Ext JS / Sencha Test を導入した軌跡 第 36 回エンバカデロ デベロッパーキャンプ アカウンティング サース ジャパン株式会社土田拓也 斎藤はるか 北村圭 本文書の一部または全部の転載を禁止します

TOMOYO Linuxを体験しよう

OpenRulesモジュール

Make the Future Java FY13 PPT Template


Installation Guide for Linux

クラウド時代のインフラ構成/変更管理とコンプライアンス管理

INDEX Demo の目的 ゴール Scenario 1: 自動化 Scenario 2: 効率化 2

PowerPoint プレゼンテーション

Microsoft PowerPoint - JavaFesta.ppt

untitled


Actual4Test Actual4test - actual test exam dumps-pass for IT exams

Red Hat Enterprise Linuxのcron(8)デーモンにデフォルト定義されたtmpwatch命令の動作による、WebOTXのトラブル対処方法

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

Slide 1

OpenRulesモジュール

Java Pet Store 2.0 を WebOTX 上で 動作させる方法 2008 年 9 月 初版 NEC 第二システムソフトウェア事業部 0

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

WebOTXマニュアル

PowerPoint プレゼンテーション

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

機能安全に必要なトレーサビリティとは

PowerPoint プレゼンテーション

ASP.NET 5 Web 開発 ~ フレームワーク編 ~

20th Embarcadero Developer Camp

Java 16x9 PPT Interim Template

Oracle Application Server 10g Release 3(10.1.3)- アジャイル・エンタープライズ(俊敏な企業)のためのデータ・アクセス

sg_lenovo_os.xlsx

高齢者.indd

5-3- 応統合開発環境に関する知識 1 独立行政法人情報処理推進機構

Oracle WebLogic Server

Webアプリケーションでのlog4j利用ガイド

4. 環境要件 WebWrapper および WebWrapper 管理サーバ <Windows 版 > Windows2000Server ( サービスパック 3 また 4 適用済 ), Windows Server 2003 <Solaris 版 > SPARC CPU を搭載する Sun 製ワ

WebSphere Application Server V5.0 for Linux Ver. 1.11

PowerPoint プレゼンテーション

Microsoft Word - PSB導入ガイド_ docx

少し自己紹介をさせてください 2

5-1- 基 開 発 フレームワークに 関 する 知 識 現 在 普 及 が 期 待 されている 開 発 フレームワークの 実 際 の 開 発 運 用 Ⅰ. 概 要 の 際 に 必 要 な 管 理 知 識 手 法 の 種 類 と 特 徴 内 容 を 理 解 し 必 要 なノ ウハウを 実 務 レベル

Agenda ハイブリッドクラウドについて Red Hat Cloud Infrastructure CloudForms 3.0 2

IM-SecureSignOn

目次 1. 本書の役割 Windows Agent サポート OS とエディション サポート言語 Agent 稼働前提条件 Azure SDK リリース済み Windows Agent のサポート

B2-Servlet-0112.PDF

[HO-2] NetBeansとGlassFishではじめるJava EE7ハンズオン

Oracle Application Server 10g R3 新機能概要

Oracle Policy Automation 10.0システム要件

Oracle Solaris 仮想環境とプロビジョン環境の構築

Microsoft Word 基_シラバス.doc

Using VectorCAST/C++ with Test Driven Development


目的 概要 全体像 概念図 用語の定義 用語 説明 用語 説明 用語 説明 用語 説明 参考資料

Acronis® Backup & Recovery™ 10 Server for Linux

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

自己紹介 指崎則夫 ( さしざきのりお ) SCUGJ 運営スタッフ Microsoft MVP

Transcription:

JBoss と Arquillian で実現する 究極のテスト環境 レッドハット株式会社 JBoss サービス事業部 コンサルタント 山 田義和

Who am I? Hi, I m glad to see you! 2

Arquillian??? インテグレーションテストのための テスティングプラットフォーム http://www.jboss.org/arquillian.html 3

テスティングプラットフォーム? クールなシステムのためのクールなテストを実現するためのツールです 詳しくはこのセッションで解説します 4

サポートは? JBoss Enterprise Application Platform のサブスクリプションで Red Hat からのサポートを受けられます 使い 方に困ったら Red Hat の親切切なサポートに聞きましょう! 5

Agenda l l l l l l クールなシステムとは何か? クールなシステムをどのように作り込むか? 開発サイクルとテストの 自動化 コンポーネントマップとテスト インテグレーションテスト 自動化の課題 Arquillian のコンセプトと仕組み 6

クールなシステムの定義 使う側の要求に対して 機敏に継続的に適切切なコストで正確に 対応 7

開発サイクル 新規開発 機能修正 追加 バグ テストの 目的 要求 ( 要件 ) を設計 実装が 正確に満たしているかの評価 検証 テスト 設計 実装 8

テストを 自動化すると テスト 設計 実装 l テスト 手順を継続的に正確に再実 行行可能になります l 手動テストに 比べテストの実 行行に必要なコストが圧倒的に 小さくなります l 機敏に設計 実装の評価 検証を 行行うことが可能になります クールなシステムの定義に 完全にマッチ 9

クールなシステムを どのように作り込む? クールなシステムは 自動化されたクールなテスト で作り込む! もちろん良良い設計 実装もと ~っても 大事です 10

本セッションのテーマ クールなテストとは何か? それをどのように実現するか? JBoss Java EE 6 に関する設計 実装のお話も良良いシステムの構築に深く関係しますが別の機会に ごめんなさい 11

コンポーネントマップ component #A JAX- RS JSF CDI EJB JPA JMS Java EE Web Container Transaction DataSource messaging JBoss Enterprise Application Platform Java VM package #A component #B component #C library #A library #B library #C Application Archive package #B Kernel Red Hat Enterprise Linux H/W, N/W component #D package #C 12

コンポーネントマップとテスト 単体テスト component #A インテグレーション テスト 単体テ library #A library #B library #C スト Application スト スト Archive スト JAX- RS JSF CDI EJB JPA JMS ション Java EE ション Web Container Transaction DataSource messaging JBoss Enterprise Application Platform Java VM システム テスト package #A 単体テ component #B インテグレー テスト component #C 単体テ package #B Kernel Red Hat Enterprise Linux H/W, N/W インテグレー テスト component #D 単体テ package #C 単体テスト インテグレーション テスト システム テスト 通常のシステムテストでは DB 等の他システムとの連携のテストも 行行います 13

テストの性質とコスト 単体 テスト 影響範囲 コスト インテグレーション テスト システムテスト 1 影響範囲は主にテストが対象とするコンポーネントの範囲やテストエラーが発 生した際の 手戻りの範囲を想定しています 2 コストは主にテストの実施やテスト結果のフィードバックに必要な 人的リソースや時間的なコストを想定しています 14

テスト 自動化の現状 15

今よりテストが 自動化できたら Cooool! 16

テスト 自動化の問題点 あるインテグレーションテストの場合 テスト対象 テスト対象が依存する コンポーネント component #A component #B component #C component #D library #A library #B library #C Application Archive JAX- RS JSF CDI EJB JPA JMS Java EE Web Container Transaction DataSource messaging JBoss Enterprise Application Platform 17

テストの 自動化の問題点 component #A component #B component #C component #D library コンポーネン #A library #B library #C Application Archive ト間の依存 JAX- RS JSF CDI EJB JPA JMS コンテナ依存 Java EE Web Container Transaction DataSource messaging JBoss Enterprise Application Platform テストコードのコールスタック 18

テスト 自動化の課題 ü ü 依存するコンポーネントをどうするか? 依存するコンテナのサービスをどうするか? 何とか解決しようとすると ü モック地獄! ü コンテナのサービスの制御には かなりの 工夫が必要 ü 軽量量テストコンテナ等を使 用する場合本番環境との違いに注意する必要あり 19

課題だらけ *&# %^@!!+_^$ 20

Arquillian のコンセプト 稼働するコンテナでテスト を実 行行する 21

以下の範囲をテストの プロセスに組込む テスト実 行行時 に制御 テスト実 行行時 に 生成 テストプロセスにデプロイと component #A コンテナの制御を組込む component #B component #C component #D library #A library #B library #C Application Archive JAX- RS JSF CDI EJB JPA JMS Java EE Web Container Transaction DataSource messaging JBoss Enterprise Application Platform 22

Arquillian がテスト実 行行時 に 行行うこと 1. パッケージング (war, ear) 2. コンテナの起動 停 止 3. デプロイ アンデプロイ 4. コンテナ上でのコンポーネントのテスト 23

Arquillian の仕組み パッケージング xx.class yy.class 1. テストに必要なクラスや DD の収集 persistence. beans.xml xml 2. パッケージング テスト実行に必要なテスト制御コンポーネントも パッケージングします test.war, test.ear ~.class ~.xml Control component 24

Arquillian の仕組み コンテナの起動とデプロイ 3. コンテナの起動 JBoss (Container) 4. デプロイ test.war, test.ear test.war, test.ear ~.class ~.xml Control component 25

Arquillian の仕組み テストの実 行行 JBoss (Container) test.war, test.ear ~.class ~.xml Control component 4. テストの実 行行 26

Arquillian の仕組み コンテナの停 止とアンデプロイ JBoss (Container) 5. アンデプロイ & 停 止 27

Arquillian が実現可能にする テスト 1. Java EE に依存するテスト DI, JPA, EJB, etc 2. コンテナのサービスに依存するテスト messaging, DataSource, etc 28

Arquillian では実現できない だけ テスト 1. コンテナより低レイヤのテスト JVM, OS, etc 2. ビューレイヤのテスト JavaScript, CSS, etc 3. パフォーマンス 障害テスト 29

Demo 1 Eclipse から Remote モー ドで Arquillian によるテス トを実 行行する 30

Demo 2 Jenkins から Managed モードで Arquillian による テストを実 行行する 31

さらなるテストの 自動化へ! ご来場頂いた 方々にだけ そっと紹介します 32

まとめ l クールなシステムとは使う側の要求に対して機敏に継続的に適切切なコストで正確に対応可能なシステムである l クールなシステムの開発には 自動化されたクールなテストが実施可能な環境が必要である l Arquillian によりこれまで実現の難しかった真のインテグレーションテストが可能になる 33

まとめ + α Arquillian によりクールなテストを実現できるようになりました ただし クールな ( 必要 十分で意味のある ) テストを設計することは 自動化できません クールなテストを設計して クールなエンジニアになりましょう! 34

What a cool we are! 35

To be continued 次回 JJBug で Arquillian の 技術的な詳細を紹介します https://community.jboss.org/groups/japan- jbug? view=overview#/?tagset=undefined 36

See you later! ご清聴ありがとうございました 山 田義和 :yyamada@redhat.com