「探索的テスト(Exploratly Testing)」について
こんにちは、品質マネジメント部のいそです。
これはアプレッソAdventCalender10日目の記事になります。
何を書いていこうかとしばし考えていたのですが、ちょうどいい機会だったので「探索的テスト(Exploratly Testing)」についての学びをアウトプットしておこうと思います。
まずは基本的なところから・・・
探索的テストとは
- テスト仕様などのテストソースを作成せずに、様々なインプット(対象の仕様書、過去の経験、勘)から仮説を立ててバグを見つけ出す
- 一つのアクションをとるごとに次にどうするかを検討するため、柔軟にテストを進められる
- 設計→実装された通常のテスト(スクリプトテスト)では、事前に検討されただけに網羅性は高まるが(探索的テストと比較して)重いテストとなる。
- 探索的テストのモデル図
- 探索的テスト研究会が作成したモデル図がわかりやすい
- テスト仕様の作成コストを抑えられるといっても、テストの全てを探索的テストに置き換えるのはやりすぎ。スクリプトテストと探索的テストは補完関係にあるので、適材適所で用いる。
進め方
大きく3つのやりかた(下に行くほど厳格化していく)
- すきにやる
- すきにやる
- チャータを利用する
- 目的やそれを達成する為に必要な指針などを決めて書いておく
- シナリオをチャータとして利用することもあるが、スクリプトテストでの具体的な「手順」とはことなりおおまかな記述とし、実行の幅を持たせたりする
- セッションベースに行う
- チャータを用いつつ1セッション1時間といった区切りを設定して実施する
- 何に対してどこまで実施したかを管理しやすくなる
探索的テストを支えるツール群
- Capture for Jira
- JIRAと連携するCaptureツール
- スクリーンショットに注釈をつけてJIRAにIssueを作成
- そのままチームで議論したりできる
- qTest Explorer
- キャプチャや操作時のTimelineを残せる
- いついつクリックした
- いついつ入力した
- Seleniumのテストシナリが出力できるので即自動化できる模様
- 同社製のテスト管理ツールへとりこんだりJIRAと連携してIssueの作成もできる模様
- キャプチャや操作時のTimelineを残せる
などといったものがあるが、これらはWebアプリケーションのみでデスクトップアプリケーションが対象だった場合には使えない・・。 よさげなものはないかと探してみると↓のツールを発見した。
- Rapid Reporter
- Shmuel氏作成のフリーソフト
- 無骨(シンプルともいう)
- 自動記録はない
動かしてみる
DataSpiderServistaのStudio for Desktopを対象に動かしてみる
起動すると下の画面が出てくる
常に全面に表示される。ウィンドウの透明度を変更することもできる。 このウィンドウに1行程度のメモを書いていく。
ますは最初にReporterを入力、そしてCharterを入力する。
(Enterを入力するとIMEの日本語変換時でも即ログに書き込まれてしまうの悲しみある・・・。)
するとステータスが表示される。 カーソルキーの上下を押すことで、以下の通りに変更できる
- Setup
- Next Time
- Question
- Bug
- Check
- Test
- Note
Noteまで進むとSetupに戻るので、学習や仮説検証のループを行いながら思考を記録できる。 記録したログは↓のような形でCSVもしくはHTMLで出力できる。
まとめ
- 対象に対する知識や同種のものに対しての経験も必要だったりするため、新人がいきなりふられるとつらそう感はある
- とくに意識せず探索的テストをしている場面はちょこちょこある
- 少ないインプットで作成したテスト仕様では、実際のテスト時に探索的なテストをして、元のテスト仕様にフィードバックしていることはある
- そういった意味では普段やっていることの延長でもある
- 改修確認時に周辺の確認をするのにも役立てられそう
そんなわけで・・
- アプレッソではアジャイルな体制で開発を行っており、QAにおいても早さと品質を両立できるように日々スキルを研磨しています。興味があればご一緒しましょう!