探索的テスト(っぽい)ものをやった
担当してたサービスのリリース前にQAっぽいことやったので記録。
探索的テストとは
テスト技術者資格制度 ( http://jstqb.jp/dl/JSTQB-Syllabus.Foundation_Version2011.J01.pdf ) によると下記の通りらしい。
探索的テストは、テストの目的が含まれたテストチャータを基にしたもので、テスト設計、テスト実行、テスト記録や学習 を並行して同じ時間枠内で実行する。このアプローチは、仕様がほとんどなかったり、不十分であったり、スケジュー ル的な余裕がない場合や、他の形式的なテスト技法を補完する場合に効果が大きい。探索的テストは、テストプロセ スのチェックや、きわめて重大な欠陥を見つけ出すのに役に立つ。
探索的テストっぽいものをやることになった経緯
QA担当がほぼいない状況なのもありデータバリエーションテストがメインだったので、
担当箇所の実装が終わったメンバーで探索的テストをしようということになった。
一応探索的テストと言っていたが、異常系テスト、意地悪テストも踏まえてやっていたので、もしかしたらモンキーテストに近い形式な気がする。
これは補足ですが、特にテストのトレーニングを受けたことはないです。
進め方
- 担当項目(ページ単位) を決めて、ひたすら怪しいところを探っていく。
- テストケースは用意しないが、実施した内容はすべて実施ケースとしてテストシートに記載する。 ( 再現性を担保する、同じテストを行わないため )
- バグか仕様かわからない場合があるため、状況を記載する。
- チケットに起票。再現方法と画像(必要があればgif)を残す。
- うまくバグを見つけたら、それに関連しそうなところを追加でテストする。 (勘もありそう)
- ブラウザはChrome。PCのみ対応。
こんな感じですすめた。そんなにページ数が多いサービスではなかったのもあり、1ページ1日くらいで実施。
実施やってみたこと
- フォームに空白、絵文字、機種依存文字などを入力
- 存在しないURLを叩く
- あるページを見ている時に、別タブで開いたページからログアウトする
- フォームの入力が完了した状態で、別タブで開いたページからログアウト、ログインし投稿する
- 重いファイルや想定していない拡張子のものをアップロードする
- モーダルが開かれている時に、⌘←で前のページに遷移する
ほんの一部だけど、大体こんな感じのことをやってた。
起こったこと
- 仕様漏れ、実装漏れが発覚した
- 想定されない遷移、状態変更が起きた
- エラーハンドリング漏れが発覚した(400番系)
- 500エラーも結構あった
- nginxをころした
チケット40個分くらいあった気がする ( もちろん軽微なバグもあったが )
感想
やってよかった
結構重大なバグも見つかったのは本当に大きかった。よかった...。
また、起きた現象が仕様かどうか確認しないといけないのもあり、仕様に詳しくなった。
改めてユースケースを考えたり、ユーザビリティに向き合うこともできるので、リリース前テストという観点だけでなく、
今後の改善にも繋がる、大切なテストだったと思う。