MasaoApril's Library.

Software Testingなネタを書いてみた。

Asiyan Automation Alliance 2015(2)「ギアと開発とわたし」

 2015/6/27(土)にAsiyan Automation Alliance 2015という関西のテスト自動化カンファレンス的なイベントに参加しました。

参加したセッション

・午前中セッション:オープニングセッション

そんな自動化で大丈夫か? ~大丈夫だ、問題ない
@みうみうこと三浦一仁氏(@kazuhito_m)

・午前中セッション

ギアと開発とわたし
@鈴木一裕氏(@kz_suzuki)
(STAR(テスト自動化研究会))

・テスト自動化セッション1

「神は細部に宿りたまう」
きめ細やかなテスト自動化 by Frienldy
@石川達也氏(@StoneGuitar777)

・テスト自動化セッション2

統合的でシームレスなテスト環境を提供する
@SRA 泉和行氏

・テスト自動化セッション3

しくったシステムテストを立て直す。しくらない画像認識自動化ツールsikuli
@徳隆宏氏(@tokutaka)

・午後まとめセッション

欧米風と関西風、2つのTest Automation Patterns
@前川博志氏(@posaune)、森田誠氏

 今回は、上記青文字のセッションについて紹介します。

・午前中セッション ギアと開発とわたし @鈴木一裕氏(@kz_suzuki)(STAR(テスト自動化研究会))

(1)スライド

 下記、SlideShareで公開されていますので、ご参考ください。

http://www.slideshare.net/k_suzuki/aaa2015-49898261

(2)翻訳と自動化の共通点

 片手間で取り組むと「死亡フラグ」となる...

(3)テスト自動化の目的

  • 製品品質の確認を手軽に
  • 手動テストのコストを下げたい
  • テスト工程を短くして、市場投入を早めたい

(4)ギア本のスコープ

  • QAテスト
    画面系のテスト
  • 機能テスト
  • テスト実行
  • ツール、言語非依存

なお、ギア本の概要については、下記のテスト自動化カンファレンス2014の資料@kz_suzukiさんを参照ください。
http://www.slideshare.net/k_suzuki/1sta-stac2014

(5)各章を実践

(5-1)1章:全体を把握
  • テスト自動化の問題

    • テスト自動化する前に立ち止まって考えよう
    • 実行手順が明確か?
      ×:妥当な時間
      ◎:○○時間後に...
    • 自動化が難しいテスト
      ハードウェアの関与や物理的障害を発生するもの
  • 人が判断しながらテストすべきもの

(5-2)2章:全体を把握

 テスト自動化が初めてな人にとっては、響く内容である。

(5-3)3章:スクリプティング技法
(5-4)4章:自動比較

 比較は比較でしかない。

(5-5)5章:テストウェアアーキテクチャ

 ソフトウェアバージョンに対する、テストウェアのバージョン管理を考慮しないと破綻する。

(5-6)6章:前処理と後処理の自動化

 実際に取り組んでみると、テストケースの前提条件が明確でないと自動化で詰む。

(5-7)8章:メトリクス
  • DDP:保守時間
  • 時間がどれだけ短くなったかを測るのが課題
(5-8)9章:その他
(5-8-1)テスト自動化の優先順位
  • 基準
    • 単純で自動化が容易なテスト
    • 何を目的に自動化しているかふりかえる
(5-8-2)テストケースを完全に自動化する?
  • テスト実行部分だけを自動化
    判断は、人で
  • 前提条件を揃える自動化
(5-9)11章:ツールの導入

 できる限り、専任で。

(5-10)総括

 ギア本は、実際の作業手順はあまり書かれていない。

(5-11)KDT(Keyword Driven Testing:キーワード駆動テスト)の試行例
(5-11-1)前準備
  • テストケース作成
     既存のテストケースを見直した上で対象にする。
  • 自動化の可否を分ける
     組み込み系の場合、ハードウェア制約が多い。
(5-11-2)キーワード抽出
  • 手順を標準化
  • 必要なキーワードを抽出
  • テストケースとキーワードの関係を整理
(5-11-3)キーワードの実装
  • 優先順位を決める
  • キーワードの仕様を決める
  • キーワードを実装
(5-11-4)運用保守
  • テストケースをキーワードで記述
  • 自動テストを実行
     キーワードとテストケースを保守。

(6)自動化の心配な点

(6-1)実行時間はそれほど改善されない?
  • ネガティブ派
    手動の方が早い!
  • ポジティブ派
     待ち時間とか理解している。
(6-2)検証部分は本当に自動化してよい?
  • ネガティブ派
     人が関与しないと不安。
  • ポジティブ派
     かゆいところに手が届くようなテスト。
     (例えば、仕様書に書かれていない部分など)
(6-3)品質の劇的変化はないのでは?
  • ネガティブ派
     バグの無いところを自動化する意味はあるのか?
  • ポジティブ派
     リグレッションテスト

(7)まとめ

(7-1)実感して感じたこと
  • テスト設計大事です
  • 人間ならではのテストしたいね
  • さくさく自動化は進まないよね
  • ギア本の御利益は人による
    何回か読むと何か気づくこともある。
  • ギア本は完璧ではない
    Webコンテンツなどで補う
(7-2)〆

 良いテストといい自動化で幸せになる!

所感

 今回の講演は、ギア本の概要と現場でKDTを試行した話でしたが、KDTの事例は(私が知らないだけと思いますが)あまり聞いたことがないので、自分やメンバーが試行するときに参考にしようと思います。また、(6)自動化の心配な点は、テスト自動化を進めていく上で対立することがありますが、共通のゴールが存在しますので、対立解消図(クラウド)を書いて障壁を乗り越え、ゴールへ向け進めようと思います。