MasaoApril's Library.

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

システムテスト自動化カンファレンス2013(1)

11/30(土)に開催されたテスト設計コンテスト2014東京予選の次の日に開催された
「システムテスト自動化カンファレンス2013」にも参加しましたので、
下記にまとめてみます。

よりよいテスト自動化のためにちょっと考えてみませんか? ―スコープ、ROI、プロセスを中心に―

考えてみよう

  1. 自動化の目的は?
  2. 自動化の目的はどのような点に注意すれば、スムーズに達成できるか?

 私の現場でもテスト自動化に取り組んでいますが、自動化の目的を明確にしていなかったことで、「誰のためのテスト自動化なのか?」という状況に陥り、ゴミ同然のテスト自動化システムに至った苦い経験があります。
 プロジェクトの資産として見たとき、今のプロジェクトから未来へのプロジェクトへ活用することを念頭にメンバーでテスト自動化の目的を議論しようと思います。

手動テストを自動化されたテストに単純に置き換えられない

  1. 自動化されてできるようになるテスト
  2. 自動化で必要なツールの費用
  3. 自動化による新たに増加/減少するテスト

 時々、プロジェクトマネージャさんから
「手動テストを自動化に置き換えることはできないか?」と依頼されますが、
私は「手動テストを単に自動テストに置き換えることに意味はありますか?」
「(バグが多発している状況で叩かれないために)経営層にテスト進捗を良く見せたいのですか?」と反論しているものの、プロジェクトマネージャさんは思考停止状態になり、
「とりあえず、手動テストを自動化に置き換えてよ!」と言うだけになっています。

 私もプロジェクトマネージャさんに上手く伝わるように説明できていないので、上記3点をまとめた上で、もう一度プロジェクトマネージャさんとメンバーで話し合おうと思います。特に「自動化されてできるようになるテスト」については、負荷テストや性能テストで必要になりますので、目的を共有した上で手段を検討する必要があるようです。

3つのポイント

スコープ

(1)テストのどこを自動化するか
 ・プロセス
 ・アクティビティ
 ・仕様書の裏返しではテスト自動化できない
 ・テスト分析、設計、実装、実行の自動化がある。

 過去のプロジェクトで経営層から「とにかく自動化率を上げるのだ!」とやかましく言われましたが、無闇に数字ばかり追いかけるのは愚考であると反発していました。
 自動化率よりは何に着目して自動化したいのか?、目的から議論する必要があります。
個人的には、「定型作業」や「テストで用いるデータ」、「報告書で同じような様式のところ」に着目しようと思います。

(2)Drive/Judge/Report
 私にとって衝撃的な概念でした。
テスト自動化の要素がよく分からない状態で、
「何を自動化するとうれしいのか?」ということを考えるようになりました。
 プロジェクトマネージャさんやメンバーにも
「自動化するときのポイントをDrive/Judge/Reportの切り口が必要です」
と提言していますが具体的に提示すると議論しやすいと思いますので、

 (a)Drive:操作
 (b)Judge:期待結果
 (c)Report:テストがOKかNGかの記録、テストOK件数/NG件数の集計

の3点を開発対象と関連付けてみます。

次回は、『3つのポイント』の続きとして「ROI」「プロセス」と
『その他トピックス』をまとめてみます。