Gauge で TestDocument と TestCode のエンゲージメント向上の道を探る

アジャイルにまつわるエトセトラ #3

あらかー
WingArc1st Inc.
6 min readNov 15, 2019

--

Photo by Alan Biglow on Unsplash

株式会社ユーザベースさん 主催のイベント「SPEEDA Testing Day」でテスト自動化ツールの Gauge が紹介されていたので、Let’s Get Started してみました。

今回はインストールからサンプルコード実行までの手順を記しておきます。公式ページの英語マニュアルを回避してサクっとどんなものかを体感したい方は参考にしてください。

インストール

上記のサイトから Gauge(今回は Windows 環境用)をダウンロードします。

ダウンロード前に、インストールする環境の情報(OS、テストコードの言語、IDE)を選択します。

現在私がかかわるプロジェクトのテストコードは Java が多いので、Java を選択します。(Python も触りたい)

IDE は Eclipse を選ばせないところが良い意味で心憎いですね。
私の PC の奥底で眠っていた VSCode が目を覚ます時が来ました。

環境選択後は「インストーラーDL」 のボタンを押下して、よくあるインストール操作を行います。

拡張機能のインストール

VSCode を起動後、Gauge 用の拡張機能をインストールします。
① 左メニューの「Extensions」を選択
② テキストエリアで ”Gauge” と入力
③「 Gauge support for VScode.」を選択して「install」を押下

これで VSCode上で Gauge が動かせるようになりました。

テストプロジェクトの作成

左メニューの「Explorer」を選択して「Ctrl + Shift + P」を押下します。

作成するプロジェクトの種類を聞かれますので「Gauge Create a new Gauge Project」を選択します。

使用する言語を選択すると(私の場合はJava)、OSのエクスプローラーが開くので、任意の場所の空のフォルダを選択します。
(e.g. C:\Users\<<ユーザ名>>\Documents\guage-test)

ハマったぞ!

フォルダ選択直後にこの画面になり、フォルダ名も表示されているのでそのまま Enter を押下します。

本来ならこのタイミングで当該フォルダ内に Gauge のサンプルプロジェクトが作成されるはずなのですが、何度繰り返してもフォルダ内は空っぽのままでした。

悩むこと5分、上のキャプチャで表示されているフォルダ名はあくまでも入力されるべきプロジェクト名のサンプルであって、入力された状態ではないことが判明しました。
空白にしておいてくれる方がわかりやすいなあ。。。

気を取り直してプロジェクト名に”Gauge-test”と入力して Enter を押下します。

サンプルプロジェクトが作成されました。

テスト(SPEC)の実行

/specs/example.spec を選択します。

Markdown 形式で書かれていて、一見このファイルからテストが実行できるとは思えません。

が、ここの「Run Spec」という箇所がクリックできるようになっています。

実際にクリックすると、、

おめでとうございます!テストが実行されました。

実行結果もhtmlで確認できる

仕組みとしてはexample.specの黒丸の箇所(e.g. * Vowels in English language are “aeiou”.)が、「/src/test/java/StepImplementation.java」のテストコードのstepアノテーションのテストメソッドを呼び出してテストが実行されるようです。

.specの黒丸を選択してF12を押すと該当の@stepにジャンプします。

所感

なるほど動かしてみて実感したのですが、 自動テストケースの視認性(コーディング技術に明るくない人もどんなテストをしているのかわかる)に優れているし、過不足なくしっかり書くことで非エンジニア(サポートの人とか営業の人とか)に説明しやすくなり、specファイルが仕様書そのものにもなりうると感じました。

実際、ユーザベースのエンジニアの方々も口々に「Gauge が仕様書」とおっしゃってました。

もう少し使い込んでウイングアークの自動テストへの適用を探っていきたいです。

次は日本語のspecを書こう

今回はサンプルプログラムでの実施でしたが、今後はspecファイルを日本語にしてより実践的な形にしてみようと思います。

--

--

あらかー
WingArc1st Inc.

ウイングアーク1stでプロセス改善とソフトウェアテストの自動化に取り組んでます / Certified ScrumMaster® /Certified ScrumDeveloper®/Certified Scrum Product Owner® / JBA公認E級審判