見出し画像

木を見て森を見ずなテストは危険

この記事はソフトウェアテストの小ネタ Advent Calendar 2023 16日目の記事です。

こんにちは、shin (@mura_shin0928)です。Advent Calendar初デビューを小ネタに投稿させていただきます。こういったスモールハードルな場所があることに感謝。

今回私のデビュー記事は、どんな時でも思い込みでテストするのはよくないね、という至極当たり前の話を最近あった出来事をまじえて書いていこうと思います。知ってるよ!という方がほぼほぼ全員かと思いますが、初心に帰る気持ちで読んでいただけると幸いです。

忘年会での出来事

つい先日、弊社のYear End Party (忘年会) があったのですが、その中でチーム対抗のクイズ大会がありました。クイズは三択でチームで話し合って回答を決める、という形式です。その中の一問に自社プロダクトに関する問題がありました。3つの画面に対してどの画面が実際の画面と異なるでしょう、という問題で、イメージとしてはこんな感じです。(手書きな雑絵ですみません)

[A画面]
- 各種設定項目をプルダウン等で設定する申し込み(ではないけどそんな感じ)の画面
- プルダウン選択肢の組み合わせによって表示される内容が変わる

[B画面]
- 数種類の情報をまとめて表示するダッシュボード画面
- アラートや通知情報、その他タイムライン的な情報が表示される

[C画面]
- A画面で申し込んだ情報の一覧画面
- 設定した内容をサマライズして一覧で表示される

すでにお分かりだと思いますが、はい。見事に間違えました。私の回答は[A]だったのですが正解は[C]でした。(しかも私ともう一人プロダクトデザイナーも[A]と答えたのもあり、プロダクト開発の二人が言うのなら!とチームの回答も[A]となったのでチームとしても間違えました。ごめんなさいmm)

じゃあなぜ間違えたのか。情報が多くて複雑そうな場所に間違いがあるだろう、と思い込んでしまったからです。もちろん[B][C]も見たのですが一番間違いを埋め込みやすそう(プルダウンの組み合わせと表示の食い違いなど)な[A]画面に確認時間を使ってしまい、間違えました。
(そもそも忘年会のクイズでそんな細かい間違い埋め込まないでしょ!、というツッコミはやめてください。笑)
では[C]は何が違ったのか。それは[C]だけ画面ヘッダーまで問題画面に含まれていたのですが、ヘッダーに本来表示されるユーザアイコンがない、というものでした。
正直、間違い探しの間いっさいヘッダー部分は目に入ってなかったです。思い込み部分だけに当たりをつけてそこに時間を使ってしまったので・・・

テストに置き換えて考えてみる

情報が多くて複雑そうな場所(バグがありそうな場所)に当たりをつけてそこを深ぼる、というテストの進め方自体は良さそうですね。経験ベースのテスト技法でテストできている、と言えそうです。
じゃあ今回のケースでテストすると何がダメなのか。それは、当たりをつけた場所に固執してしまうこと、だと思います。固執すると無意識に情報を遮断してしまって拾えるものも拾えなくなります。
もちろん、今回のケースがリアルなテスト活動にそのまま当てはまることは無いと思います。実際はテストプロセスにのっとり段階的に詳細化してテストを進めていくはずなのでこんなミスはよっぽど起きないでしょう。
ただ、特にアジャイル開発の現場だと往々にして、変更頻度が高く喫緊なテストを求められることもあるかと思います。そんな時間がない時でも変化【木】だけじゃなく一度全体【森】を見た上でテストすることが大事だよね、と今回のケースを通して改めて学びました。

おわりに

最後の最後に無理やりタイトルの伏線回収してしまいましたが、言いたいことは「どんな時でも木も見て森も見るテストをしよう!」です。小ネタ記事なのにこれだけを言いたいがために長々と失礼しました。誰かの初心に立ち戻るきっかけになると幸いです。

余談

忘年会後、同じチームだったプロダクトデザイナー、問題を作ったプロダクトデザイナーと立ち話をしていたら、今回の問題からヘッダーの意義に話が発展して良いものづくりの根幹を見た気がしました。妥協しない、突き詰めるって大事。

参考

木も見て森を見るテストをするために良さげな資料をいくつかご紹介します。

  • 山﨑さんのWACATE2023夏 講演資料。テストで木も見て森を見るために必要なこと全部書いてある資料です。(所感)

  • ソフトウェアテストの小ネタ Advent Calendar 2023 1日目の伊藤さんの記事。マインドマップは森を理解するためにとても役に立つので私もおススメです。もちろん木を深ぼるのにも使える

この記事が気に入ったらサポートをしてみませんか?