仕様書をコピーする単純作業から抜け出そう本稿が掲載される時期は,ソフトウェア開発の現場にも新人さんや業界初級者が配属される季節ですね。いった方々の最初のお仕事が,ソフトウェアテストのお手伝いということも珍しくありません。その際,皆さんはテストケースの作成などどのように行っていますか?仕様書に書かれた文章の末尾に「~であることを確認する」と付けて,パラメータである数値をちょこっと変更し,それをExcelに転記してテストケースとしていませんか?この方法でテストケースを作成していると,頭を使わない単純作業になり,テストケースが抜けてしまいがちです。本来は,「⁠テスト対象がどういったもので,どのようなテストをすべきか」といったことを考えたうえで,テストケースを作成する必要があります。ソフトウェアテストの作業工程を把握したうえで,作業しているかどうかも重要です。ソフトウェアテストはコピー&ペーストでテストケースリストを作って,リストの上から順番に実行するだけではありません。よいテストを行うためには,テスト対象を分析したり,テストの全体像の設計が必要です。テストを実装(テストケースを作成)し,実行したあとにも報告という作業があります。これらの作業工程それぞれに成果物を作成する必要がありますが,先のテストケースと同様単純作業に陥るとよい成果物は作成できません。ソフトウェアテストは,作業工程を理解したうえで,各工程での成果物作成を試行錯誤しながら取り組む必要があります。一言で試行錯誤といってもそう簡単ではなく,よりよいテストを行ううえでの課題と言えるでしょう。この試行錯誤をどううまくやるかという課題に対して,近年発想技法の一つであるマインドマップを応用することが,ソフトウェアテストの現場では一般的になりつつあります。いう作業に応用するとどのような効能があるのでしょうか。どのようなテストを行ったらいいの?」という事を試行錯誤する「テスト分析・設計」での効能をいくつか挙げてみます。マインドマップの放射思考を活用し,テストに必要な気付きや発想を得ることができるテスト分析・設計では,どれくらい“⁠仕様書をテストの立場から読み込めるか⁠”⁠,“⁠テスト観点を発想できるか⁠”といったことが大切です。仕様書などのテストベースは開発の思考で書かれた物です。それをテストの立場から読むためには読み替えが必要で,そこに試行錯誤があります。テストベースからテストの観点を抽出し,さらに新たな観点を追加していくところに試行錯誤があります。マインドマップの“⁠放射思考⁠”を活用することで,試行錯誤で必要な気付きや発想を自然に得ることができます。マインドマップを描くと,自然に情報が整理されていくマインドマップはなにも“⁠発想⁠”だけに効果があるわけではありません。マインドマップはキーワードベースで情報を載せていきます。“⁠必要な情報⁠”が簡潔に描かれます。その情報は意識せずとも緩やかに整理され,自然と階層構造をとっていきます。何回かマインドマップを描く・更新することでテストすべき情報がキーワードベースで階層化され,全体像を俯瞰しやすくなったり,テスト観点の構造図として利用することができるようになります。マインドマップは全体を俯瞰し,足りないところが見えてくるマインドマップを描くと全体を俯瞰しやすくなります。テストでは常に“⁠網羅性⁠”を考える必要がありますが,全体を俯瞰しやすくなることで網羅性が妥当かどうかを検討することが容易になります。先に挙げたテスト観点も,全体を俯瞰できることで足りないところが見えてきますし,観点のかぶりや構造のいびつさなども見えてきます。このような網羅性を考えるとき,マインドマップが持つ俯瞰しやすくなる効果が強力にサポートしてくれます。観点の網羅性が高まることで,そこから作り出されるテストケースもまた網羅性が高まります。冒頭に挙げたExcelシートに直接転記するテストケースの作り方ではこうはいきません。マインドマップによる可視化でレビューを効率化マインドマップは描いた人の思考が図として表現されます。考え始めからどのような思考を経て結論に至ったかを追いやすくなります。すれば空中戦となりがちなレビューの場において,説明を補助してくれる資料となります。「⁠どうしてそう考えたのですか?」というような質問に適切に回答できるようになるほか,レビューアもレビューイの考えを理解しやすくなります。お互いに理解をしやすくなることで,レビューの場における「思考の確認作業」がぐっと減ることになり,本来のレビュー作業に集中できるようになります。マインドマップを描くことで,モチベーションが向上するマインドマップを描くこと,それ自体が創造的な行為です。冒頭に挙げたようなコピー&ペーストでのテストケースの作り方は単純作業でモチベーションを削いでしまいますが,マインドマップを使ってテスト観点を発想し,テストケースを生み出していく作業はまさに創造的作業です。そのような創造的作業は,モチベーションを向上してくれます。モチベーションが高い作業は,よりよいアウトプットを生み出してくれます。よいアウトプットはさらなるモチベーションの向上につながります。これらの効能によりテスト分析・設計の質が向上すれば,テストケースを仕様書からのコピー&ペーストで作成することことから脱却し,次に続くテスト実装ではよりよいテストケースを作成することができるようになります。本稿で紹介した以外にも,マインドマップを応用することで得られる効能はたくさんあります。『⁠[⁠改訂新版]マインドマップから始めるソフトウェアテスト』では,ソフトウェアテストの作業工程として「仕様分析」「⁠テスト計画」「⁠テスト設計」「⁠テスト実装」「⁠テスト実行」「⁠テスト報告」を取り上げ,それぞれの作業工程でのマインドマップの適用例を紹介しています。よいソフトウェアテストの実施に興味を持たれた方はぜひ参照いただけると良いでしょう。マインドマップを描いてみませんか?いかがでしょうか,興味がわいてきましたか?もし,なんだか良さそうだなと思った方は,ぜひ「ものは試し」と取り組んでみてください。マインドマップを描くために用意すべきは紙とペンだけです。いますぐに取りかかることができます。あきら)1976年長崎生まれ。経て,技術支援部門にてソフトウェアテスト技術やアジャイル開発,MBD/SPL等の導入を支援。その後情報通信分野から医用分野,オートモーティブ分野に所属を移し,現在は社内のテスト改善や技術向上,研究活動など,全社テストプロセス改善活動に取り組んでいる。ASTER理事,SQiP運営委員,AFFORDD運営委員,NaITE代表,等。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。書店・販売店の皆様へデベロッパアドミニストレータWEB+デザインライフスタイルサイエンスニュース&レポートメールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。