39. 探索的テスト その⑨
バリデーション
テスト界隈ではバリデーションといったら「V&V(Verification & Validation)」の形で使うことが多い。
が、ここでは別の意味であるので注意だゾ!(ぉぃ
ここで意味しているバリデーションは「入力内容に対する妥当性確認」の機能の話。
入力が不正の場合にエラーを出したり、入らないようにしたりする。
Front側で入力チェックしているときもあれば、サーバー側でチェックすることもあったりする。
たまに「(Frontで)(Serverで)やってると思ってたー!」と謎のお見合い状態で実装されていないことがあったりなかったり。
ソフトウェアテストでいうベリフィケーションとバリデーションは……
ベリフィケーション
検証の意味。
設計通りにコーディングされているか、仕様通りに実装されているのかの評価。
目的とかコンセプトにあっているかはさておき、機能実装したよねコレ、の確認。
バリデーション
妥当性確認の意味。
ユーザーの要件を満たしているか、の評価。
作ったものがちゃんと目的とかコンセプトにあってるよねーという確認。
例えばテスターちゃんに例えてみましょう。
テスターちゃんは「新人さんにマンガを渡し「これを読めば基本的なテストのことはわかるよ」といった感じ。目を通してもらうと基礎的なことをわかってもらえる」をコンセプトとして挙げています。
で。
ちゃんと「きゅんちゃん」というキャラは実装されている…「りんちゃん」は男キャラとして設定されている…
この辺の「ちゃんと揃ってるよね? 設定は正しいよね」といった確認はベリフィケーション。
けど、マンガの内容がずっと恋愛の話と筋トレの話しかしていないとしましょう。
もしくは難しい用語のオンパレードで新人さんが読んでもチンプンカンプン状態。
こうなってくると妥当性確認、バリデーションの方はダメになるわけです。
この辺のお話。
イジワル
基本的には仕様に記載している「正常系」は普通に実装していることが多い。
そこからちょっとした「イジワル」を考えるのが最初の一歩かと思う。
少し漫画の方に描いたが、「ガイドワード」をテストチャータとして使用するのも一つの手だ。
これは今後のマンガで書こうと思う。
「意地悪漢字」(鈴木三紀夫さん)「バグっぱ」(小田部健さん)のツールがあったりするゾ。
「ぬるぽ」「ガッ」
今から15年ほど前に行われていた儀式。
「ぬるぽ」と言われたら「ガッ」と返さなければならないルールが存在したのだ!
ちなみにぬるぽはNullPointerExceptionの略。
Javaをやってる人は大体遭遇している。
今はもうこの辺の話は化石化している……と思っている。たぶん。
lbs
ポンド表示。
たぶん日本だとジムに行く人しか目にしないのではないかと思う。
ジムに行くと大抵lbsとkgの二つの表記がしてある。
追加のおもりがlbsしか描いてないと「あれ、何キロ重くしたんだろう」と計算しはじめたりする。