オープンソースカンファレンス2011 Tokyo/Fallいってきた。
そのとき聞いてきた、内容のメモ。
便利なテストツール Byteman(ばいとまん) の紹介
・Javaアプリケーション実行中にアプリケーション動作を変更可能な
バイトコードインジェクションツール
もともとJBOSSのトランザクションツール→OSS
(RedHatではサポート対象外)
・特徴
・テストの自動化目的
ECA言語(イベントコントロールアクション)
・オリジナルソースの変更をしないでかえられる
・なんに使えそうか?
・障害解析、プロファイリング
・開発補助他人のコードを一時的に変えたい
・ライブパッチ
→ただし、サポート外!!
・構成要素
エージェント(Byteman.jar)
ルールエンジン
組み込みヘルパー
ルールスクリプト(ユーザー作成)
テキストで、どこで、いつ、どのようにをECA言語で書く
ユーザー定義ヘルパー
ルールの中から呼び出せる
補助スクリプト
4つついている
・準備
ダウンロード、解凍
ルール作る
場合によってはヘルパー
・ルールの要素
Rule
Class,Interface
METHOD
location(メソッド内にトリガーポイント)
BIND
IF
DO ルール式、return、throw
→通常起こせない例外も簡単に起こせる
・標準で用意されている
ランデブーとか
実行中止:異常終了する場合
トレースとデバッグ:トレース入ってないところでも
スタック:どのメソッドから呼ばれたかわかる
・Contributionソフト
dtest:分散環境
BMUnit:JUnitからBytemanを使う
→テストケースの中にルールを書いてしまうこともできる
→一元管理
・使用感&注意
Javaで記述できるので、拡張容易
テストケースの作成は時間かかる
再テストは容易
Eclipseのデバッガが決まらない
デッドロック