SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

テスト自動化研究会の『システムテスト自動化 標準ガイド』を15倍あなたの力にする話

『システムテスト自動化 標準ガイド』の第3章 ~ テストを自動化するスクリプティング技法の最新事情と取り組みの事例

テスト自動化研究会の『システムテスト自動化 標準ガイド』を15倍あなたの力にする話 第3回


自動テストに向かないテスト

 それでは、抽象化を推し進め、テストスクリプトの内部実装をほとんど意識しなくて済むようにした上で、すべてのテストを自動化することが正しいのでしょうか。

 自動化にかかる工数のことを差し置いても、それは「否」です。あくまで一般論にすぎませんが、システムテストレベルにおいて、自動化が最適な選択肢とは限らない例を挙げてみましょう。

自動化が無為に終わりかねないもの
繰り返すつもりのないテスト
繰り返す必要がなく、手動での実行が難しくないのであれば、自動化する必要はないでしょう。
品質が安定していないソフトウェアでのテスト
臨機応変に対応するという点では、自動テストは手動テストに劣ります。テストが通らないながらも、いろいろ動きを確認したいという用途に、自動テストはあまり向きません。
仕様が安定していないソフトウェアでのテスト
たとえば画面構成が頻繁に変わって、作ったスクリプトがすぐに使えなくなるような状況では、スクリプトのメンテナンスの方が手動テストより高コストになりかねません。
長いシナリオを通してのテスト
これは必ずしも自動化が悪いわけではありません。ただギア本でも触れられているように、品質の十分でないテストスクリプトで長すぎるシナリオを自動テストしようとすると、テストが失敗するリスクが高くなります。短いシナリオで安定して動作するようになってから、長いシナリオに適用するのがよいでしょう。
ハードウェア的な関与が必要なもの

 たとえば、「ハードディスクをいきなり、物理的に抜く」という操作は、自動化が難しいでしょう。シミュレータでの擬似的なイベントがどこまで可能で、またどこまでを妥当なテストとして許容するかの判断が必要です。

人が判断しながらテストすべきもの
ユーザビリティに関するテスト
ソフトウェアの使い勝手、画面の見やすさ、画像・音声・動画の出力の妥当性といったものに対する判断は、機械に無理やりやらせるより人が行うほうがよい場合が多いでしょう。もちろん、人の主観だと判定がぶれるという問題もありますが。
探索的テスト
あらかじめしっかり決められたテスト手順に基づくのではなく、ソフトウェアの動きを確認しながら次の手順を決めて、欠陥を探していくもの。

 最後の「探索的テスト」について少し述べた上で、本稿を終えたいと思います。

次のページ
自動テストと探索的テスト

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

テスト自動化研究会の『システムテスト自動化 標準ガイド』を15倍あなたの力にする話連載記事一覧

もっと読む

この記事の著者

鈴木 一裕(スズキ カズヒロ)

エンプラ系システムやインフラ機器系組み込みソフトのテスト・品質管理に従事。テスト技術 と、あえてExcelが趣味。「探索的テスト研究会」主宰。ブログ:http://blog.livedoor.jp/prjmng/

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/8694 2015/07/23 22:17

イベント

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

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

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

メールバックナンバー