前の日 / 次の日 / 最新 / 2006-03

クライングドーベルマン / 2006-03-04

ツール(33) ソフトウェアテスト(22) 雑記(12) 本(12) WinChalow設定(9) バグトラッキングシステム(7) このサイトについて(6) メモ(6) 英語(4) ゲーム(4) テキストエディタ(4) phpto(4) JTCB(4) プロジェクト管理(4) オープンソース(4) GTD(3) NotePC(3) プレゼン(3) ノートPC(2) あとで読む(2) P2P(2) gvim(2) PodCasting(2) RSS(2) 予定表(1) chalow(1) デスクトップ(1) winchalow設定(1) タグテラス(1) メール(1) プロフィール(1) Wiki(1) ブログ(1)

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2006-03-04 Sat

TimeSnapperで「バグ発生の再現手順不明」をなくせ b_entry.gif 
このエントリーをはてなブックマークに追加 
このエントリーをdel.cio.usに追加 
このエントリーをMM/Memoに追加

受け入れテストも大詰めになってくると、バグが多く出ている機能や実装が遅れた機能など、「アヤしい機能」が絞り込まれてくる。テスト業界にはいわゆる「ハチマルニーマル」(バグの80%はシステム全体の機能の20%の部位に偏る)という都市伝説があるが、優れたテスターほど経験的にそれを見つけ出す。
そこでテストチームはテスト戦略を変更して、「叩けばほこりが出そう」な部分を狙った探索的なテスト、つまりテスト仕様書を拡大解釈して、準備したテスト手順に各自アレンジを加えて実行するという、ノウハウの塊のようなテスト行うことがある。問題は、そもそもテスト手順書に書かれていない「行間」を埋めながらのテストは、見つけたバグの再現手順が非常に複雑になることである。テスターは「発生した問題は全て報告する」という教育を受けるが、個人的な見解としては、テスターが「再現手順不明」というバグ報告を行うことはかなり恥ずかしいと思っていて、何とかして少しでも多くの情報を開発者に届ける術を考えるべきだと感じている。

複雑な手順のテスト実行ログを取るための方法は、以下の様な手段があると思う。
・ビデオカメラで作業者の肩越しに画面を録画する
・キャプチャーボードで画面を録画する
・キーロガーで入力を保存する
・画面スクリーンショットを定期的に取る
予算や準備の都合を考慮すると、スクリーンショットの定期保存が現実的な選択肢となるだろう。

結論
TimeSnapper - make timesheets a snapというアプリを使用して、PCの画面を一定間隔でキャプチャーした画像ファイルを自動的に保存してみた。昨日一日「3秒間隔でpng保存」設定で試したところ、一日で保存された画像ファイルは4500枚、400MB弱であった。
TimeSnapperの良いところは、
・キーボード・マウスの入力が停止するとキャプチャー中止されるので無駄が無い
・保存した画像を紙芝居のように時系列に閲覧する機能がある
というところ。

自動保存したファイルは、容量や日時でサイクリックに削除する機能もあってまさにテスター向け。
あとは、撮影時にタスクトレイのアイコンが点滅してくれたり、定期実行の有効/無効化でアイコンが変化してくれたりすると、完璧。アプリ作者に機能追加依頼をだすか。(英語だからめんどうだな。)

以前も同じようなことを思いついて、WinShotを使用して定間隔スクリーンショット保存機能を使用したことがあるが、どうもPCの動きがカクカクして、テストに支障が出そうだったのですぐ断念した。TimeSnapperではカクカク現象は発生しなかったのでおすすめ。