探索的テスト(っぽい)ものをやった

担当してたサービスのリリース前にQAっぽいことやったので記録。

探索的テストとは

テスト技術者資格制度 ( http://jstqb.jp/dl/JSTQB-Syllabus.Foundation_Version2011.J01.pdf ) によると下記の通りらしい。

探索的テストは、テストの目的が含まれたテストチャータを基にしたもので、テスト設計、テスト実行、テスト記録や学習
を並行して同じ時間枠内で実行する。このアプローチは、仕様がほとんどなかったり、不十分であったり、スケジュー
ル的な余裕がない場合や、他の形式的なテスト技法を補完する場合に効果が大きい。探索的テストは、テストプロセ
スのチェックや、きわめて重大な欠陥を見つけ出すのに役に立つ。 

探索的テストっぽいものをやることになった経緯

QA担当がほぼいない状況なのもありデータバリエーションテストがメインだったので、 担当箇所の実装が終わったメンバーで探索的テストをしようということになった。
一応探索的テストと言っていたが、異常系テスト、意地悪テストも踏まえてやっていたので、もしかしたらモンキーテストに近い形式な気がする。

これは補足ですが、特にテストのトレーニングを受けたことはないです。

進め方

  • 担当項目(ページ単位) を決めて、ひたすら怪しいところを探っていく。
  • テストケースは用意しないが、実施した内容はすべて実施ケースとしてテストシートに記載する。 ( 再現性を担保する、同じテストを行わないため )
  • バグか仕様かわからない場合があるため、状況を記載する。
  • チケットに起票。再現方法と画像(必要があればgif)を残す。
  • うまくバグを見つけたら、それに関連しそうなところを追加でテストする。 (勘もありそう)
  • ブラウザはChrome。PCのみ対応。

こんな感じですすめた。そんなにページ数が多いサービスではなかったのもあり、1ページ1日くらいで実施。

実施やってみたこと

  • フォームに空白、絵文字、機種依存文字などを入力
  • 存在しないURLを叩く
  • あるページを見ている時に、別タブで開いたページからログアウトする
  • フォームの入力が完了した状態で、別タブで開いたページからログアウト、ログインし投稿する
  • 重いファイルや想定していない拡張子のものをアップロードする
  • モーダルが開かれている時に、⌘←で前のページに遷移する

ほんの一部だけど、大体こんな感じのことをやってた。

起こったこと

  • 仕様漏れ、実装漏れが発覚した
  • 想定されない遷移、状態変更が起きた
  • エラーハンドリング漏れが発覚した(400番系)
  • 500エラーも結構あった
  • nginxをころした

チケット40個分くらいあった気がする ( もちろん軽微なバグもあったが )

感想

やってよかった

結構重大なバグも見つかったのは本当に大きかった。よかった...。
また、起きた現象が仕様かどうか確認しないといけないのもあり、仕様に詳しくなった。
改めてユースケースを考えたり、ユーザビリティに向き合うこともできるので、リリース前テストという観点だけでなく、 今後の改善にも繋がる、大切なテストだったと思う。