SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2024 Summer レポート(AD)

まずはここから!GUIテスト自動化ツール導入のポイントと「Squish」で実践するビヘイビア駆動型テスト

【24-A-3】なかなか実現しないGUIテスト自動化~まずはここから始めましょう!

  • X ポスト
  • このエントリーをはてなブックマークに追加

Squishで実践するビヘイビア駆動型テスト

 Squishにおけるテストケースのスクリプト記述方法は2種類ある。従来通りスクリプトで記述するスクリプトテストベースと、振る舞いを中心としたシナリオ(テスト項目)を記述するビヘイビアテストベースがある。後者はユニット検証を動作の視点からテストしていく。ビヘイビア駆動型テストはシナリオベースなので、Gherkin手法の「Given(初期のコンテキスト)」「When(トリガーとなるイベント)」「Then(期待される結果)」で記述していくのが特徴だ。

スクリプトテストベースとビヘイビアテストベース

 なおビヘイビア駆動型テストは日本語でテストシナリオを記述できるので、とっつきやすく、分かりやすい。技術者以外の関係者が記述することも可能だろう。またテスト手順とテスト内容を分離して記述できるため、重複を防止し、再利用もしやすい。

 実際のBDD(ビヘイビア駆動開発)テストスクリプトの記述例を見ていこう。ここでのアプリケーションはコーヒーマシンで、カプチーノを選んでいれるというシナリオを「Given、When、Then」で記述する。続いて実際のアプリを操作することで、スクリプトを自動で生成していく。レコーディングを開始するとコントロールバーにステップが表示されるので、必要に応じて検証ポイントを埋め込んでいく。図のサンプルはシンプルだが、実際は肉付けしたものとなる。作られたスクリプトは再利用も可能で、別のシナリオで共通するステップがあればステップを共有することも可能だ。

BDDテストスクリプトの記述例

 最後にCocoについて触れておこう。Squishとは別のツールで、コードカバレッジ分析ができる。坂本氏は「コードカバレッジをやる方は少ないと思いますが、ぜひともやっていただきたい」と力をこめる。

 コードカバレッジ分析とは、自動テストでチェックされたコードの割合を測定するものだ。テストされていないコードやデッドコード(実行されないコード)の発見にもつながる。テストケースの不足を検出し、品質向上につなげるのに役立つ。

 Cocoの対応言語はC、C++、C#、Tcl、SystemC、QMLで幅広く対応している。カバレッジ測定機能の自動埋め込み(Coverage Scanner)、カバレッジ結果を分析管理するためのGUI(Coverage Browser)などの機能がある。

 Cocoはビルドシステムへの組み込みが容易で、すぐにコードカバレッジ分析を開始できる。分析結果はGUIで直感的に確認できるのもメリットとなる。テストごとの実行時間の比較や、ソースコードを修正した場合には影響を受けるテストケースを抽出することも可能だ。

 最後にまとめとして坂本氏は「QAツールの導入でテスト工数削減、容易なテストケース記述、テストケースの再利用などが実現します。振る舞いベースのテストで技術者以外の参加を促進できて、カバレッジ測定ツールと連携すればテストの抜け漏れ防止にも役立ちます。今回は紹介できませんでしたが、テスト結果のデータ管理「Test Center」もあります。興味があればぜひお声がけください」と述べた。

関連リンク

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Developers Summit 2024 Summer レポート連載記事一覧

もっと読む

この記事の著者

加山 恵美(カヤマ エミ)

フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。Webサイト:http://emiekayama.net

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

丸毛 透(マルモ トオル)

インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

提供:Qt Group

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/20038 2024/09/25 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング