ソフトウェアテスト293の原則(第5章)
- 作者: Cem Kaner,James Bach,Bret Pettichord,テスト技術者交流会
- 出版社/メーカー: 日経BP社
- 発売日: 2003/04/22
- メディア: 単行本
- 購入: 15人 クリック: 246回
- この商品を含むブログ (49件) を見る
■■第5章 テストの自動化
全体的に、テスト専門チームが自動化を行うことが前提として書かれている。あたしとしては、テストの自動化は開発チームが行うので「あー、そうそう」という感じだったが、昔ひっかかったこと、上司に言いたいことなどを中心にPickUpしてメモ
■102:目的はコストダウンではない,開発プロセスの迅速化だ
主な目的は
■110:回帰テストを自動化しただけではバグは出ない
自動化のテストが正しくなければ、バグは発見されない(=もちろん)
■113:テスト記録の再生は思うようには機能してくれない
これも非常にその通り。仕様変更の対応でテストの記録を直す方が大変だったりする。テストのバグか実装のバグかの判断がつかないなど。採用の見極めが必要。
■115:ユーザーインタフェースは変わるためにある
自動化に際しては、インタフェース部分を抽出し、テストコンポーネントとしてまとめ、それぞれに自動テストを作りこむことが大切。下記はGUIからインタフェースを抽象化する方法。3.と4.がピンと来ないんだよなー。どういう感じなんだろう?
- ウィンドウマップ:ウィンドウ内の各要素に名前をつけて、その名前で管理する方法
- データ駆動型自動テスト:Excelなどを使ってテストデータの作成を行い、入力値と期待値を1行に1テストケースの割合で記入
- タスクライブラリ:ユースケースをタスクという形にして構成要素毎に分解
- キーワード駆動型自動テスト:鉄則128参照
- APIベースの自動化:鉄則132参照
■120:テストの自動化に必要なのは,プログラミング,テスト,プロジェクト管理のスキル
テストの自動化とは、ソフトウェア開発そのもの。よってテスト設計と自動化設計のスキルは異なる。それぞれの専門家を適切に割り振ることが成功への近道
■123:自動化テスト環境の開発にはレビューを活用せよ
確かによく言われる。自動テストが正しいことのテストは必要ないのか?と。堂々巡りで意味がないのでは?と。よってレビューは大事。ペアプロすればいいんだよね?
■126:反復コードを避けるためだけにテストライブラリを構築するな
テストのプロシジャは多くの処理の反復を伴うもの。また同じ機能を多くの組み合わせと異なった順番で実施される。互いに関連しあうタスクのシーケンスに影響を受けるため、レビューやバグの検証、デバッグも困難になるので注意すること。
■128:プログラマ以外ならキーワード駆動型自動テストが最適
基本的にはデータ駆動型と同じだが、データだけではなく、項目の組み合わせも登録できる。ただし、フレームワークの準備、タスクライブラリの作成、Excelなどから1行ずつアクセスする機能の定義など、テスト自動化に十分な時間がかけられないと、オーバーヘッドが大きすぎる。
■130:テストツールはデータと処理を分離せよ
データ駆動型自動テストなどが該当。回帰テストの実行と、エラーを発見時の切り分けが容易となる。
■132:自動化のためにはプログラミングインタフェースを活用しろ
GUIテストの自動化の反対派⇒GUIの自動化は難しい。仕様も変わるし/推奨派⇒一番顧客の目に触れるから真っ先に決まるもの。あたしは前者だな。GUIの自動化でうまく行った試しがない。
■138:テストの自動化計画はプロジェクトの早い段階に立てる
アジャイルプラクティスでも、初日に環境作れって言ってた
■140:即効性のある自動化から始めよ
対象にするテストケースを選ぶより、効率の改善という面から選択すべき