Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Gaugeによるe2eテスト

Aa2271fde3c839f2ab82d1d27dbbc650?s=47 takayuki-hayashi
January 10, 2018
790

 Gaugeによるe2eテスト

システムテスト自動化カンファレンス2017-2
https://testautomationresearch.connpass.com/event/71564/
のLTで発表した時の資料です。

Aa2271fde3c839f2ab82d1d27dbbc650?s=128

takayuki-hayashi

January 10, 2018
Tweet

Transcript

  1. Gaugeによるe2eテスト 林 尚之

  2. 自己紹介 • 林 尚之 twitter:@t_hyssh ◦ 所属:株式会社ユーザベース ▪ プログラマー &

    SPEEDA開発責任者 ◦ XP(エクストリーム・プログラミング)、TDD、DDD
  3. SPEEDAでは 「UAT(E2E)がほぼ唯一のドキュメントでありテストと して実行可能である」 という考えで開発を行っています

  4. SPEEDA開発の流れ 対象ストーリーのピックアップ ストーリーに対するE2Eテスト (仕様、UAT)を記述 ユニットテストの記述 (XUnit系中心) 実装 ユニットテストをパス UATをパス 対象ストーリーをDone

    全ての流れでエンジニアが関わる。 UAT作成 時にテストエンジニア、ドメインエキスパートとプ ログラマーがペアプロ
  5. SPEEDA開発の流れ 対象ストーリーのピックアップ ストーリーに対するE2Eテスト (仕様、UAT)を記述 ユニットテストの記述 (XUnit系中心) 実装 ユニットテストをパス UATをパス 対象ストーリーをDone

    テストエンジニア、ドメインエキスパート、プ ログラマー全てが関わる所なので下記が重 要 • ドキュメントとしての表現力 • プログラミングとしての表現力 • メンテナンス性、拡張性
  6. 今年前半までの取り組み(Scala + Specs2) • ヒアドキュメントと、各行に対して処理 を埋め込む事が可能 • ただし非プログラマーが見るには抵抗 がある。 •

    テスト結果をHTMLとして出力可能だ がデフォルトだと表現が貧弱
  7. 悪くないし、Scala好きだけどドメインエキスパート、 テストエンジニアの事を考えるともっとドキュメントとし ての表現力が高いe2e環境が欲しい・・・

  8. そんな時に、社内LTにてQAエンジニアがGaugeを 紹介。。。

  9. LT後に興奮するSPEEDAエンジニア達。 Gaugeは正に求めていた物でした。

  10. Gauge • https://getgauge.io/ • ThoughtWorksが開発(OSS GPL3.0) • Markdown形式で記述可能 • Markdownのドキュメント(spec)にはプログラムのソースが一切介在しな

    い • リッチなレポートを出力可能 • 様々な言語でテストを記述することが可能(Java、C#、Ruby) ◦ SPEEDA開発ではKotlinで記述 • IDE機能が強力
  11. Gauge ・対応するStep(次スライドにて 説明)が存在しない場合はコン パイルエラーにしてくれる。 ・コード補完も効く!

  12. Gauge (Kotlin側) *アノテーションが Markdown(spec)側と対応 する。 実際はここにselenium等の処理を記述し てアサーションする (今回は省略・・・)

  13. Gauge(出力レポート) 簡易な検索ボックス もある。

  14. 今の所いい感じで使えてます。 e2eのフレームワークを探しているのであれば一度 試して見る価値はあるかと。

  15. ご清聴ありがとうございました。