レポート

「システムテスト自動化カンファレンス」参加レポート

この記事を読むのに必要な時間:およそ 5 分

スマートフォンアプリのテスト自動化をはじめよう
長谷川 孝二(STAR)

午後の部は主にSTARコミッターからの事例報告やデモがメインになります。

長谷川さんは現役のスマートフォンアプリ開発者です。そのため,あくまで開発者の立場から現在のスマートフォンアプリの自動テスト環境について発表を行いました。

画像

まず現状として,スマートフォンの世界では,ユニットテストはiOS/Androidともに充実していて普及率も十分ですが,システムテストはUIの頻繁な変更などがあるため自動化しにくい状況にあります。

そこで長谷川さんは

  • 欲張らないROI
  • がんばらないテストスクリプト

という軸で説明を行いました。

欲張らないROIとしては,自動化の目的を「テスト実行時間の短縮」⁠複数のOSバージョン・機種で実行できる」に絞り込むのがいいようです。

がんばらないテストスクリプトとしては,日時など変動する値を無理に比較しない,機種依存の問題は内容次第で目視確認するなど,自動化する範囲を限定すべきということでした。ただしすべての画面は網羅しつつ,テストケースの絞り込みを行い現実的な実行時間に納めることが重要ととのことです。

デモではGenymotionエミュレータに対して,MonkeyTalkを使ってサンプルAndroidアプリの操作をキャッチ&リプレイしていました。Selenium IDEでのWebブラウザ操作とほとんど変わらない印象を持ちました。

自動化フレームワークの詳細については資料のスライドをご覧ください。

ATDD実践入門
きょん(STAR)

きょんさんは名古屋でテストアーキテクトをされています。元々テスト嫌いで,嫌いなものをなくすためにテストを勉強しているとのことです。今回はTDDからATDDに発展した流れについての発表です。

画像

TDDは主にSmalltalk界隈で行われていたプラクティスをKent Beckが形式知したものだそうです。

  1. レッド:動作しないテストを書く
  2. グリーン:テストを動作させるように本体コードを書く
  3. リファクタリング:重複を取り除く

という流れで進めていきます。

ATDDはXPそのものではありませんが,ユーザのための受け入れテストのTDDとして

  1. 仕様を顧客と話し合う
  2. 仕様について顧客と一緒に付随する条件を表で書く
  3. 受け入れテストを実装
  4. プロダクトの実装
  5. 受け入れテストの成功と十分な実装を確認して完了する

という流れで実行されます。

最後にまとめとして,ATDDはプラクティスとして非常にまともだが,コンテキストに合わせて取り入れることが必要ということでした。

ATDD, BDDなどで使われるツール群の詳細,参考書籍については資料をご覧ください。

発表資料
http://kyon-mm.bitbucket.org/blog/html/_static/slides/stac2013/atdd.html

モデルベースドテスト入門―テスト詳細設計を自動化しよう―
朱峰 錦司(STAR)

テストの自動化というと通常はテスト実行,結果のレポートあたりを思い浮かべますが,実はテスト設計においてにおいても自動化は可能,というお話です。

画像

モデルとは,システムの振る舞いや性質を特定の観点で抽象化したものです。モデルにはいろいろ種類がありますが,ここでは

  • 状態遷移モデル
  • 論理モデル
  • 組みあわせモデル

を扱います。

モデルベースドテストとは,モデルを活用してテスト成果物を生成する技術のことです。モデルを生成の対象とするため,ブラックボックステストに分類されます。

それでは上記3モデルを使ったモデルベースドテストについて説明します。

状態遷移モデル

UMLでいう状態遷移図を状態遷移表に変換します。例えば2つの状態間の遷移だけ網羅すればいい場合には0スイッチカバレッジを100%にする,という言い方をします。これはモデルが巨大になってくると人が生成するのは難しくなってきますが,朱峰さんはUMLモデリングツールastah*のプラグインを利用したデモを行いました。

論理モデル

システムの構成要素間の論理関係に着目するモデルです。ここでは原因結果グラフ(CEG)を例として挙げていました。CEGはAND, OR, NOTなどの論理構造から論理的にあり得ない組みあわせテストを間引く技術です。デモではCEGTestと呼ばれるフリーのツールでCEGからディシジョンテーブルを自動生成する例を紹介していました。

組みあわせモデル

システムの構成要素間の組みあわせをモデリングしたものです。ここでは組みあわせテスト技法の代表であるオールペア法の例としてPICT,そのフロントエンドとしてのPICTMasterの紹介がありました。

モデリングは設計にも重要なスキルですが,テスト,特に自動化テストにおいても重要な技術であると締めくくられました。

著者プロフィール

森龍二(もりりゅうじ)

株式会社エクサでR&D部門に所属。CAD開発,Webシステム開発を経てテストや品質の世界に突入。現在プロジェクトの成果物を第三者視点でレビューする活動(QI)に従事。2012年よりSTARのコミッターとして研究会に参画。Software Test Automation(Fewster & Graham)の翻訳プロジェクトに関わる。参加コミュニティはSTE(エンプラ系テスト研究会),WACATEなど。

Twitter:@mori_ryuji