kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

Visual Studio Team ServicesとChromeで未知のバグを発見する(15日目)

はじめに

テストケースだけでバグが検出できればいいのですが、そんな甘いものではなく、何気なく操作しているタイミングで出ることがよくあります。中には「神の手」を持つ方がいて、「この人が操作するときだけ起きる」というある意味素晴らしいバグハンターという方もいらっしゃいます。

特に開発時には無意識によけることもあり、こういうバグはテストケースでは救えません。どうするかといえば、「普段から記録しておけばいいんじゃね?」ということになります。

そういう操作を支援するのが「探索テスト(Exploratory testing)」機能です。ChromeのFeedback & test拡張機能および、Test Managerがサポートしています。

Chrome拡張機能

操作を記録する

f:id:kkamegawa:20161215053949p:plain

Test & Feedback拡張機能を起動して、左端の△をクリックすると記録を開始します。

f:id:kkamegawa:20161215053950p:plain

左端が赤枠の□になると記録開始です。以下の機能があります。

  • テスト中(クリックすると停止)
  • スクリーンショット
  • メモ
  • 動画
  • VSTS/TFSにタスク/バグ/テストパターンを作成
  • 操作タイムラインを見る
  • Work Itemにリンクする
  • デバイスに接続する
  • 設定
  • About画面

スクリーンショット&メモ

f:id:kkamegawa:20161215053951p:plain

画面に対するフィードバックをしたい場合、スクリーンショットを撮って、補足項目を文字入力します。

履歴

f:id:kkamegawa:20161215053952p:plain

操作した履歴やスクリーンショットが確認できます。

作業項目と関連付け

f:id:kkamegawa:20161215053953p:plain

特定の作業項目と関連付けておくことで、探索テストがどの作業に関連しているものかわかりやすくなります。

バグの作成

f:id:kkamegawa:20161215053954p:plain

画面に問題があったので、バグとして登録します。Create bugで新しいバグとして登録します。特定の手順で再現することがわかるバグであれば、Create test caseで新しいテストケースを作れば今後再現テストに役立ちます。

f:id:kkamegawa:20161215053955p:plain

バグ作成時、記録した操作及び、スクリーンショット、レスポンスの時間が全部記録されています(Chromeの機能でとっています)。

VSTSでのバグ確認

f:id:kkamegawa:20161215053956p:plain

作成したバグはチームのバックログに登録されて、すぐに確認できます。

f:id:kkamegawa:20161215053957p:plain

スクリーンショットが添付されているので、迷うことはありません。

f:id:kkamegawa:20161215053958p:plain

添付されているhtmlにはChromeの開発者ツールで見える、応答状態もhtmlとして記録されています。

f:id:kkamegawa:20161215053959p:plain

htmlをダウンロードして開くとこんな感じで確認できます。

Test Managerで探索テスト

Test Managerで起動する

f:id:kkamegawa:20161215054000p:plain

Test Managerを使っても同様のことができます。こちらはどちらかといえばリッチクライアントアプリで探索テストするときに使うといいでしょう。あと、マイクも使えるので、音声で「どんな操作をした」という記録も採取できるのがいい点です。

f:id:kkamegawa:20161215054001p:plain

探索テスト対象のビルドと環境に関連付けます。Test settingsやEnvironmentはSystem Center Virtual Machine Managerと連携した自動テストをするときに用意するので、ローカルテストの場合はデフォルトで構いません。

f:id:kkamegawa:20161215054003p:plain

開始すると、このようなウィンドウが出てきます。タスクバーと同様のウィンドウ領域に影響するウィンドウなので(これは画像編集で小さくしています)、クライアントエリア全体=フルスクリーンであると仮定するようなアプリはちょっと気を付けてください。

f:id:kkamegawa:20161215054002p:plain

記録が終了するとこのように探索テストの結果が記録されます。

記録の日数について

f:id:kkamegawa:20161201204000p:plain

Testの設定で保持日数の既定値が決まっています。長期間放置すると、VSTSが自動的に消してしまうので、注意しましょう。

まとめ

業務アプリであれば、普段から使って「あれここ変?」というような調査は難しいと思いますが、サービスや日常のアプリであれば、探索的テストを常時実行しておけば、ふとしたときでもバグが発生したときの操作記録が残るため、便利です。

特にChromeの拡張機能はとても便利ですね。VSTS/TFSにつながなくてもキャプチャや記録はとれるので、単独でも使いたい一品です。はやくEdgeやFirefoxにも(ry。