第21回 G*ワークショップ に参加してきた #jggug
(写真:お手製の"Dukeクッキー"。)
デブサミ、JavaOneと続いたため、少し間が空いてしまいましたが、久しぶりのG*ワークショップを開催します。 今回は、今や飛ぶ鳥を落とす勢いのきょんさんによる Griffon でのテスト戦略、 JavaOne Tokyo で好評だった JGGUG セッションから Gradle をフィーチャーした特別編、 そして大手メーカーでの Grails 開発事例と G* 全開の三本立てです。
という訳で久々G*ワークショップ。テーマも個人的に興味深いものが並んでいたので参加してきました。
会場は『無限コーヒー』で毎度お馴染み、オラクル青山センター@外苑前。
会場入場時にはお手製の『Dukeクッキー』が参加者全員に振る舞われました。(当エントリTOP画像参照)造詣の丁寧さは勿論の事、味の方も美味でした!美味しいスイーツをありがとうございました。
▶Griffonうさみみ補完計画-UIをもつアプリへのテスト戦略-
- by きょん "なごやこわい" うさみみモード さん (TwitterID:@kyon_mm)
Griffonのテスト周りを紹介しつつ、UIをもつアプリにおけるテスト戦略を紹介します。
- 自己紹介
- 興味:開発環境改善、groovy、自動化、アジャイルとか
- 帰って来ました!G*ワークショップ
- 初セッションやった場所です。僕の初めてのうさみみ姿披露!
- 今日のテーマ:テスト戦略
- Griffonでデスクトップアプリ
- Caution!
- Griffon:幻獣
- あんまGriffonの話はしません。
- ■Griffonを支える概念
- ■つくりたいアプリ
- Nagoya.Testingの資料を例に挙げて進めてみます。
- function list
- View more presentations from Kyon Mm
- ■テスト戦略策定
- 削除しちゃったので、今からライブで作ります。
- テスト戦略策定とは何か?→ざっくりいうと、テスト全体の構造作成、計画作成。
- The outlineoftestprocess
- View more presentations from Kyon Mm
- The outlineoftestprocess
-
- テストの構造を作る
- 1.機能を分割すること
- NO!:大項目、中項目、小項目と分けてしまうこと。何を基準に大中小の粒度に分けているのかが分からなくなる
- 基準を以て分割しよう。
- 機能の分割には8つある。
- イベント(ユーザーが確認出来るタイミング)で機能分割してみる。
- 2.目的を分割する事
- ISO9126の品質特性
- 主/副の品質属性:ソフトウェア品質特性
- ISO9126の品質特性
- ポイント:
- ※単体、結合、機能テストを行う際に、どのような過程で導き出しているか?
- ※何も考えずにやってしまうと、項目を分けている時に基準が曖昧になりがち。
- ※テストの重複をまとめて、無駄をなくすのもテスト戦略。
- 1.機能を分割すること
- テストの構造を作る
-
-
- JUnit:カテゴリを使う。
- テストクラスに対してカテゴリを付ける。
- JUnit:カテゴリを使う。
-
-
- (そしてやっとここでGriffonに戻って来る)
- Griffonはテストフェーズ、テストタイプを指定出来る。
- コマンドで指定が可能
- 単体テストフェーズの機能性テスト、という指定が出来る。
- 何が嬉しいか?
- テストアプローチ毎に実行出来る。
- アプローチ毎にメトリクスを収集出来る。
- Doneの定義をテストアプローチとすると、進捗や信頼性を測りやすくなる。
- Gtriffonのテスト実行環境素晴らしい!
- コマンドで指定が可能
講演動画
「次世代ビルドツールGradleの最新情報アップデート」
- by 須江信洋 さん (TwitterID:@nobusue)
AntやMavenの課題を解決する次世代ビルドツールとして最近注目を集めているGradleの最新情報をご紹介します。 Antからの移行や、Jenkinsとの統合についても簡単に触れたいと思います。 (本セッションはJavaOne Tokyo 2012のJGGUGセッションの拡大版です。)
- 自己紹介
- ビルドツールの進化
- Make
- あんまポータルではなかった
- Ant
- 割と使われている
- クロスプラットフォーム対応
- 低レベルな処理を1個1個書かなければならない
- XML地獄
- Maven
- Gradle
- Make
- 要するにGradleとは?→クロスプラットフォーム対応次世代ビルドツール
- Gradleのビルドスクリプト(例)
- 各種実行デモ
- 条件分岐も簡単(OS判定)
- 動的タスク定義も簡単
- AntからGradleへ
- Gradleは既存のAntの資産を活用出来る
- Antのbuild.xmlをそのまま読み込んで実行可能
- AntタスクをGradleから直接利用可能
- AntタスクとGradleタスクを共存することも可能
- Gradleは『Better Ant』としても使える。
- GradleでAntのタスクを利用例
- Gradleは既存のAntの資産を活用出来る
- Jenkinsとの統合 - Gradle
- Gradle Wrapperを利用
- JDKさえ導入されていれば、Gradleを自動でインストールして実行してくれる
- Jenkins上では汎用コマンドとして実行すればよい
- Gradle WrapperはCI用途に限らず、開発者の環境構築負荷軽減にも有用
- Gradle Wrapperを利用
-
- 仕組み:
- Buildスクリプト¥の中に、wrapperタスクを追加するだけ。
- Gradle導入済みの環境で・・・
- すると、Gradleのブートストラップ(gradlew)が生成される
- gradle wrapper実行
- gradlew等が自動生成される。
- gradlew jettyRun
- 仕組み:
- Jenkinsのビルド設定
- Jenkinsとの統合 - Spock
- レポートはJunit互換なので、Jenkinsでそのまま利用可能
- Jenkinsのテストレポート設定
- @nobusueさんの持論
- 粗探しされる頃から一人前。
- Gradleの粗探し
- bluepapa32さん:Jenkins CI上でGradleを利用する最も簡単な方法
講演動画
「Grailsを活用したBD-J(Blu-ray Disc Java)アプリケーション制作支援ツール」
- by 竹内 武 さん
BD-J向け軽量アプリケーションフレームワークをベースとしたアプリケーション制作を支援する ツール開発におけるGrails活用事例を実際のBDタイトルとともに紹介します。
- 自己紹介:
- Webアプリについては初心者。
- BD-J(Blu-ray Disc Java)
- Show/Segment関連クラス構成
- Feature関連クラス構成
- RCHandler関連クラス構成
- BD-アプリケーションビルダ概要
- 対話形式でUI定義
- Showファイル文法の理解は不要
- 複数ユーザによる共同作業
- GRINビューアによる動作確認(Java Web Startを利用)
- 対話形式でUI定義
講演動画
『レッツゴーデベロッパー THE NEXT』のお知らせ
- 豪華セッション。
- 継続的デリバリーセッション『継続的デリバリーが拓く新世紀』
- JGGJG三大猫アイコン揃い踏み!
- 今年もやります!個人サポーター制度。
- Tシャツ、今年も買って下さい!今年は4種類。
- Tシャツ申込は5/24まで。
- 2012/06/09仙台で会いましょう!
このプログラムラインナップ、かなり魅力的ですね…。定員100名、エントリ執筆現在で30名弱の参加申込アリ。興味のある方は是非申し込んで見てはいかがでしょうか?
講演動画
懇親会
今回のG*ワークショップ、半数近い方々が(G*ワークショップ)初参加だったそうです。参加定員70名と多かったのもあるし、このG*系初参加の割合もあるし、やはりGroovy界隈は熱を帯びつつあるのでしょうか。
懇親会の最中には、うさみみさん初サインを書く一幕も。(つうかこの件、自分が急かしたのも若干無くもなかったがw)
YouTube動画について
本当は先日買ったWebカメラ、単独でUST放送機能もついていたのですが機材経由での接続が上手く行かず(WiMAXなら行けそうだったが、オラクル青山センターの場合WiMAXは使えず独自のWiFi接続:そこの接続方法に機材が上手く対応出来なかった)。結局は動画撮影→YouTubeへとUPという形をとる事になりました。
Webカメラの機能的にはフルHD動画撮影も可能という事でしたが、充電などの問題もあり、若干画質を落とした形で(それでもHD動画)座席最前列に陣取って撮ったのが今回UPしたものになります。カメラ単体のみ使用、マイクなども使っていません。(Webカメラ備え付けのマイクのみ)
会場の方で用意されたマイクがあったお陰で充分な音量を得る事が出来ましたが、これ無かった場合はどの程度拾えるのでしょう?その辺はやってみないと分からないですが、マイク有りでこれだけ充分な結果を得られているので、やはりマイクはあった方が撮影環境的には助かる感じですね。
また、今回はUSTREAM配信をゆーすけ(TwitterID:@yusukey)さんが担当されており、横で準備〜当日の各種機材捌きっぷりを拝見しておりましたが、機材やソフトの準備、調整、制御等事細かに対応されているのをみて、これはやはり熟練ガ必要な領域であるのだな〜と痛感致しました。(^_^;)
と言うわけで、以降は可能であればUSTREAM配信を試みてみたり、それが無理目ならば今回のように動画撮影→YouTube動画UPをやってみようかと思います。参加した勉強会でその辺可能であれば対応しようかと思いますので、よろしくお願い致します。
- 今回撮影/UPした動画
その他関連: