単体試験の良き友、マトリクス表の作り方

3 min読了の目安(約2800字TECH技術記事

前置き

初めてなのに単体試験を作れと言われたときで記事書くと言ったけれど
あそこまで懇切丁寧に解説しているものはないPDFのリンクを貼った手前
今更感あるので補助説明(コツ)と個人の感想付きでサクッと。

パターンが整理されたマトリクス表は美しいと思う。(サブタイトル)

そもそもマトリクス表ってなんぞや

ざっくりはこちら
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

↑のをもっと詳しく、かつ今回言及しているマトリクス表に触れているのがこちら
マトリックス図法

マトリクス表は確認したいパターンだけで作ろう

なんでもかんでもマトリクス表に突っ込むと、横スクロール弾幕ゲームみたいな絵面になるので注意。
関係ないけど東方の弾幕ってきれいだよね

テキストボックスの入力パターンを確認するためだけのマトリクス表と
チェックボックスの組み合わせパターンを確認するためだけのマトリクス表とで
一つの用途に一つのマトリクス表を作った方が良い。

テキストボックスの半角文字は入るか~何文字まで入るか~の入力パターンは
チェックボックスの試験では普通行わないためすべて無駄なものになるからだ。
(直接入力できるならまあまあ)

なくても良いもので埋め尽くされたマトリクス表は、使い勝手が悪く見づらいものになるので
確認したいパターンに沿わなかったら、潔くシートを分けるとわかりやすくなる。

横スクロールするのはイヤだ

これは個人の感想と願い。
マトリクス表に限らず、PCまたはスマートフォンで閲覧するドキュメントを作るときは
可能であれば、画面を横スクロールをしない程度の幅に収める形で作ってほしい。

縦スクロールするだけで、すべて漏らさず、よく見えるように
ドキュメントが見られるよう配慮するべきだと思っている。
乱視持ちなので小さい文字でぎゅうぎゅうに詰めただけはやめて

理由は2つ

  • 画面外は見逃しやすい
  • 画面外を見ようとすると動作回数が1つ以上増える(エクセルだと右下のスクロールバーをいじいじとか)

マトリクス表の組み合わせ表が、横にズラーッと並んでいて画面外まではみ出していると
試験作成者だけではなくレビュワーと実施者も苦労する上に
漏れやミスを見逃す可能性が上がって、せっかくのマトリクス表の価値が下がってしまう。
(漏れやミスを見つけるのも大変苦労するし、作り直すのもまた大変苦労する)

拡大縮小なしの100%表示状態で、横スクロールしない程度にうまいこと作ろう。
人類に優しくなれます。

実際に作成する

PDFでは、組み合わせ表についてだけ言及していたけれど
実際に運用で作ってみようどうするかはまでは書かれていない。
どういう観点で作れば良いかについては初めてなのに単体試験を作れと言われたときを参照。

テンプレートレベルの話をすると、マトリクス表は項目数が3桁超えることもザラなので

  • どこの機能、画面の項目か分かるようにする
  • フィルタがかけやすい

以上の工夫が必要になる。

例として、実務で画面数44/項目数1000目前のマトリクス表を作ったときの構成は
下記のようになっている。

  • 大分類
    • 機能No
    • 機能名
  • 中分類
    • 画面No
    • 画面名(小画面も含む)
  • 小分類
    • 項目No
    • 項目種別(テキストボックス/チェックボックスetc)
    • 項目名

上記を元に作成したのがこちら

スクショではNoは黒字にしているが、実際は白文字で見えなくして
元の番号を参照してコピペして、どこの機能、画面の項目かを分かるようにしている。


(電話番号とMailのマトリクス表がすっからかんなのはサンプルなので許して)
こうすると集計しやすくなり、試験実施状況を各機能、各画面単位で把握しやすくなる。
集計するための関数ややり方は割愛。

お漏らしを減らすコツ

PDFでも書かれている通り、左上から右下へを意識して作っていく。
この左上から右下への順番を守れば、1個抜けてる~ズレてる~がすぐに分かるようになる。
あと、●をつけていくセルの列幅はなるべく狭くするとグッド。

粒度が大きいものを左側に、粒度が小さいものを右側に並べていくことが重要で
カテゴリを順々に絞り込んでいく感じになる。


こんな風に一番左の観点を基軸に、順々に組み合わせを並べていく。
逆に入力形式が一番左に来ても・・・な気がしてきた

項目ひとつ分を一回作ってみたら、なんとなく感覚が分かるかなと。
いきなり全部作ってしまうと、直せと言われたときトイレに行きたくなると思う。

以上。

ちょっと気になる

他の人が作ったマトリクス表を見てみたいけど、どこかにないかしら。
そのときのコツとかこだわり(機能性や可読性を上げるための実用的なの)を知りたい。