Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Gaugeによるe2eテスト 林 尚之
Slide 2
Slide 2 text
自己紹介 ● 林 尚之 twitter:@t_hyssh ○ 所属:株式会社ユーザベース ■ プログラマー & SPEEDA開発責任者 ○ XP(エクストリーム・プログラミング)、TDD、DDD
Slide 3
Slide 3 text
SPEEDAでは 「UAT(E2E)がほぼ唯一のドキュメントでありテストと して実行可能である」 という考えで開発を行っています
Slide 4
Slide 4 text
SPEEDA開発の流れ 対象ストーリーのピックアップ ストーリーに対するE2Eテスト (仕様、UAT)を記述 ユニットテストの記述 (XUnit系中心) 実装 ユニットテストをパス UATをパス 対象ストーリーをDone 全ての流れでエンジニアが関わる。 UAT作成 時にテストエンジニア、ドメインエキスパートとプ ログラマーがペアプロ
Slide 5
Slide 5 text
SPEEDA開発の流れ 対象ストーリーのピックアップ ストーリーに対するE2Eテスト (仕様、UAT)を記述 ユニットテストの記述 (XUnit系中心) 実装 ユニットテストをパス UATをパス 対象ストーリーをDone テストエンジニア、ドメインエキスパート、プ ログラマー全てが関わる所なので下記が重 要 ● ドキュメントとしての表現力 ● プログラミングとしての表現力 ● メンテナンス性、拡張性
Slide 6
Slide 6 text
今年前半までの取り組み(Scala + Specs2) ● ヒアドキュメントと、各行に対して処理 を埋め込む事が可能 ● ただし非プログラマーが見るには抵抗 がある。 ● テスト結果をHTMLとして出力可能だ がデフォルトだと表現が貧弱
Slide 7
Slide 7 text
悪くないし、Scala好きだけどドメインエキスパート、 テストエンジニアの事を考えるともっとドキュメントとし ての表現力が高いe2e環境が欲しい・・・
Slide 8
Slide 8 text
そんな時に、社内LTにてQAエンジニアがGaugeを 紹介。。。
Slide 9
Slide 9 text
LT後に興奮するSPEEDAエンジニア達。 Gaugeは正に求めていた物でした。
Slide 10
Slide 10 text
Gauge ● https://getgauge.io/ ● ThoughtWorksが開発(OSS GPL3.0) ● Markdown形式で記述可能 ● Markdownのドキュメント(spec)にはプログラムのソースが一切介在しな い ● リッチなレポートを出力可能 ● 様々な言語でテストを記述することが可能(Java、C#、Ruby) ○ SPEEDA開発ではKotlinで記述 ● IDE機能が強力
Slide 11
Slide 11 text
Gauge ・対応するStep(次スライドにて 説明)が存在しない場合はコン パイルエラーにしてくれる。 ・コード補完も効く!
Slide 12
Slide 12 text
Gauge (Kotlin側) *アノテーションが Markdown(spec)側と対応 する。 実際はここにselenium等の処理を記述し てアサーションする (今回は省略・・・)
Slide 13
Slide 13 text
Gauge(出力レポート) 簡易な検索ボックス もある。
Slide 14
Slide 14 text
今の所いい感じで使えてます。 e2eのフレームワークを探しているのであれば一度 試して見る価値はあるかと。
Slide 15
Slide 15 text
ご清聴ありがとうございました。