株式会社ユーザベースの技術チームブログです。Toolとアジャイル開発gaugeTweetこんにちはSPEEDAのQAチームの工藤です。最近ではテスト自動化周りのツールが数多く存在していますが、英語でのみ提供されていて日本で多くの人に知られていないサービスも多いと思います。そんな中、Gaugeという自動化のツールがイケてるという情報を発見したので実際に調べてみました。はじめにGaugeとはThoughtWorks社が開発しているオープンソースのテスト自動化ツールです(2017年7月現在でベータ版)。具体的に言うと様々なロールのメンバーが自動テストのスクリプトを理解できるようにするためのspecificationツール(恐らく立ち位置的にはCucumber/Gherkinの代替)になります。Gaugeの良いところを挙げると下記になります。下記がGaugeで使用する基本的な用語(概念)です。使い始めるのに最低限必要そうなものをピックアップしているので、当然他にもあります。Specifications(spec)ScenariosStepsTagsもう少し詳しく説明していきます。Specification(spec)テスト対象アプリケーションの特定の機能の仕様を説明しています。Scenarios各Scenarioは、特定の仕様の1つのフローを表しています。仕様には少なくとも1つのScenarioが含まれている必要があります。Steps仕様を実行可能なコンポーネントに分けたものがStepになります。points)として記述されます。Steps、Scenarioやconcepts内のStepsに分けられますが、今回はそこらへんの説明は割愛します)。TagsTagはspecやScenarioを関連付けするために使用します。タグを用いてspecやScenarioをフィルタリングすることができ、後々便利になります。Gaugeのインストール下記ページからダウンロードできます。インストール方法も簡単で、下記ページに書いてある通りに進めていけば5分もかからずにGauge自体はインストールできます。https://getgauge.io/get-started.htmlサンプルコードを見てみる下記ページから自分の好みの言語のSampleコードのGithubリンクへ飛ぶことができます。SeleniumのJavaのSampleコードを選択しました。https://github.com/getgauge/gauge-example-java下記がSpecificationのファイルになります。上記で説明した用語はこんな形で使われます。Previewを閲覧できます。Specファイルがそのまま仕様書として使えます。(自分の場合はIntelliJを使いました。下記がSeleniumのテストコードになります。各Stepに対してのテストコードが@Stepという形で実装されているのが分かります。}レポート機能プラグインをインストールしてやるだけで、テスト流す度にHTMLのテストレポートを吐き出してくれます(下記画像参照)実行したテストをSpecificationやTagで検索できて、Spec毎、Scenario毎、Step毎にどれくらい実行時間がかかったかも簡単にわかります。今回カバーしていない機能これまでに紹介したのはあくまでも超基本的なTerminologyです。他にも下記のようなものがあるのですが、今回は触れられていません。Steps)またかなり役立ちそうな下記機能もありますが、今回はカバーしていません。Executionまとめ弊社ではテストケース=仕様書という考え方から、ほぼすべてのプロジェクトでUATを書いています。上記のような取り組みをしていたのですが、もっといいやり方がないか探していたところに見つけたのがGaugeでした。documentation")をサポートしています。自動テストのケースを誰でも読めるようにするという考え方も弊社の開発チームが今まで取り組んできていたことですが、Gaugeを使えばよりスマートに実現できそうです。今後は様々なプロジェクトでGaugeを導入していこうと考えています。次回は今回カバーできなかったGaugeのAdvancedな機能を中心に取り上げたブログ記事を執筆予定です。多国通貨」をハンズオンしたら快適で楽しかった今日は。SPEEDAの開発をやっている濱口です。SPEEDA開発チー...2019-11-12Gaugeのsetupとteardownステップを用いて効率的に読みやすいテストを書くこんにちは!SPEEDA開発チームの工藤です。プロダクト開発チームの板倉です。»プロフィール『経済情報で、世界を変える』をミッションに、企業・業界情報プラットフォーム「SPEEDA」やソーシャル経済ニュース「NewsPicks」、ABMを強力にサポートする「FORCAS」、スタートアップの情報収集を圧倒的効率化「entrepedia」などを提供する株式会社ユーザベースの技術チームブログです。多国通貨」をハンズオンしたら快適で楽しかったGo言語でオブジェクト指向プログラミングの基本(型編)月別アーカイブ検索@Uzabase_Techさんのツイートスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。