仕様書をコピーする単純作業から抜け出そう
本稿が掲載される時期は、ソフトウェア開発の現場にも新人さんや業界初級者が配属される季節ですね。そういった方々の最初のお仕事が、ソフトウェアテストのお手伝いということも珍しくありません。その際、皆さんはテストケースの作成などどのように行っていますか?
仕様書に書かれた文章の末尾に「~であることを確認する」と付けて、パラメータである数値をちょこっと変更し、それをExcelに転記してテストケースとしていませんか?
この方法でテストケースを作成していると、頭を使わない単純作業になり、テストケースが抜けてしまいがちです。本来は、「テスト対象がどういったもので、どのようなテストをすべきか」といったことを考えたうえで、テストケースを作成する必要があります。
また、ソフトウェアテストの作業工程を把握したうえで、作業しているかどうかも重要です。
ソフトウェアテストはコピー&ペーストでテストケースリストを作って、リストの上から順番に実行するだけではありません。よりよいテストを行うためには、テスト対象を分析したり、テストの全体像の設計が必要です。テストを実装(テストケースを作成)し、実行したあとにも報告という作業があります。これらの作業工程それぞれに成果物を作成する必要がありますが、先のテストケースと同様単純作業に陥るとよい成果物は作成できません。
ソフトウェアテストは、作業工程を理解したうえで、各工程での成果物作成を試行錯誤しながら取り組む必要があります。ただ、一言で試行錯誤といってもそう簡単ではなく、よりよいテストを行ううえでの課題と言えるでしょう。
この試行錯誤をどううまくやるかという課題に対して、近年発想技法の一つであるマインドマップを応用することが、ソフトウェアテストの現場では一般的になりつつあります。
ソフトウェアテストへのマインドマップ応用の効能
マインドマップをテストの「試行錯誤・検討」という作業に応用するとどのような効能があるのでしょうか。
本稿ではテストケースを作成する前に実施する、「テスト対象はどのようなものなの? どのようなテストを行ったらいいの?」という事を試行錯誤する「テスト分析・設計」での効能をいくつか挙げてみます。
マインドマップで表現されたソフトウェアテストの一例
① マインドマップの放射思考を活用し、テストに必要な気付きや発想を得ることができる
テスト分析・設計では、どれくらい“仕様書をテストの立場から読み込めるか”、“テスト観点を発想できるか”といったことが大切です。仕様書などのテストベースは開発の思考で書かれた物です。それをテストの立場から読むためには読み替えが必要で、そこに試行錯誤があります。また、テストベースからテストの観点を抽出し、さらに新たな観点を追加していくところに試行錯誤があります。マインドマップの“放射思考”を活用することで、試行錯誤で必要な気付きや発想を自然に得ることができます。
② マインドマップを描くと、自然に情報が整理されていく
マインドマップはなにも“発想”だけに効果があるわけではありません。マインドマップはキーワードベースで情報を載せていきます。ですから“必要な情報”が簡潔に描かれます。そしてその情報は意識せずとも緩やかに整理され、自然と階層構造をとっていきます。
何回かマインドマップを描く・更新することでテストすべき情報がキーワードベースで階層化され、全体像を俯瞰しやすくなったり、テスト観点の構造図として利用することができるようになります。
③ マインドマップは全体を俯瞰し、足りないところが見えてくる
マインドマップを描くと全体を俯瞰しやすくなります。テストでは常に“網羅性”を考える必要がありますが、全体を俯瞰しやすくなることで網羅性が妥当かどうかを検討することが容易になります。先に挙げたテスト観点も、全体を俯瞰できることで足りないところが見えてきますし、観点のかぶりや構造のいびつさなども見えてきます。このような網羅性を考えるとき、マインドマップが持つ俯瞰しやすくなる効果が強力にサポートしてくれます。観点の網羅性が高まることで、そこから作り出されるテストケースもまた網羅性が高まります。冒頭に挙げたExcelシートに直接転記するテストケースの作り方ではこうはいきません。
④ マインドマップによる可視化でレビューを効率化
マインドマップは描いた人の思考が図として表現されます。ですから、考え始めからどのような思考を経て結論に至ったかを追いやすくなります。ともすれば空中戦となりがちなレビューの場において、説明を補助してくれる資料となります。「どうしてそう考えたのですか?」というような質問に適切に回答できるようになるほか、レビューアもレビューイの考えを理解しやすくなります。お互いに理解をしやすくなることで、レビューの場における「思考の確認作業」がぐっと減ることになり、本来のレビュー作業に集中できるようになります。
⑤ マインドマップを描くことで、モチベーションが向上する
マインドマップを描くこと、それ自体が創造的な行為です。冒頭に挙げたようなコピー&ペーストでのテストケースの作り方は単純作業でモチベーションを削いでしまいますが、マインドマップを使ってテスト観点を発想し、テストケースを生み出していく作業はまさに創造的作業です。そして、そのような創造的作業は、モチベーションを向上してくれます。モチベーションが高い作業は、よりよいアウトプットを生み出してくれます。そして、よりよいアウトプットはさらなるモチベーションの向上につながります。
これらの効能によりテスト分析・設計の質が向上すれば、テストケースを仕様書からのコピー&ペーストで作成することことから脱却し、次に続くテスト実装ではよりよいテストケースを作成することができるようになります。
本稿で紹介した以外にも、マインドマップを応用することで得られる効能はたくさんあります。『[改訂新版]マインドマップから始めるソフトウェアテスト』では、ソフトウェアテストの作業工程として「仕様分析」「テスト計画」「テスト設計」「テスト実装」「テスト実行」「テスト報告」を取り上げ、それぞれの作業工程でのマインドマップの適用例を紹介しています。よりよいソフトウェアテストの実施に興味を持たれた方はぜひ参照いただけると良いでしょう。
まずはマインドマップを描いてみませんか?
いかがでしょうか、興味がわいてきましたか?
もし、なんだか良さそうだなと思った方は、ぜひ「ものは試し」と取り組んでみてください。マインドマップを描くために用意すべきは紙とペンだけです。いますぐに取りかかることができます。