2013年2月24日日曜日

テストする≒カメラで撮影する

ども。コヤマンどぇす。

例によってしばらくアウトプットしていないので投下。

ここ最近、仕事で色々と「テストとはなんぞや」とゆーことを色んな人に話す機会がありました。
就活学生説明イベントでの発表や学生向けの質問窓口的なものや、
グループだけでなく部の中での情報展開とかするときとか。

で、色々話しているうちに自分の中で「テストとはなんぞや」というのを端的に表現するのにこれっていいんじゃね?とゆーのができたので、それを公開してみる。
簡単にいうとフィードバックが欲しいだけです。ハイw

テストすることとカメラで撮影することは似てる。という話。

カメラって使いますよね。ケータイにもくっついてくるぐらいメジャーかな。と。
で、どういう時にカメラって使いますかね?
まぁ、記録に残したい(景色やイベントごとなど)がメインかと思います。
ただ「対象を"知る"ために撮影する」という使いかたもあります。
"何かの資料に使う"とか"診断する"といった使い方の方ですね。

で、この記事でいう「カメラで撮影する」というメタファは
「写真を何かの資料に使うために撮影する」というものと思ってください。

似てる点を5つにまとめました。

◆◆視点
◆カメラで撮るときって、視点を考えますよね。
 今見ている視点、少し上からの視点、煽り、俯瞰…
 「もしこっちから見たらどうなるだろう」
 「少し上からの方がより良さがわかるかもしれない」
 などなど。視点を考えます。

◆テストも同じく、視点を考えます。
 機能が動作するという視点、使いやすさ、デザイン、性能…
 色んな角度で見ておきたいですよね。

◆◆構図
◆カメラで撮るときって、構図を考えますよね。
 何かと一緒に入れて撮る、世界観を出すためにあえて手前に何かを置く、
 こういう角度の方が魅力的に見える…などなど。
 「どのようにその世界を切り取るか」を考えます。

◆テストも同じく、どのように世界を切り取るかを考えます。
 ソフトウェアの振る舞いはおおよそ無限の振る舞いを持ちます。
 そこから有限を切り出すために「どうしたら効果があるのか」を考えて
 無駄なテストをしないように考えます。

◆◆鮮明度・ピント
◆カメラで撮るときに、撮る方法や見せる方法を考えます。
 星の動きを撮影するために、シャッターを開放したり、
 ピントを人に合わせて背景をぼかしたり、そういった工夫をします。
 また、撮った画像がピンぼけだったり暗すぎたりすると意味がありませんよね。
 どういった撮り方をするのか、結果としてどう見せたいのか。そう考えます。

◆テストも同じく、取り方や見せ方を考えます。
 実施した結果がちゃんと見れないと意味がありません。
 どういうデータの取り方をしたのか、その結果、何を見たいのか。
 狙った結果を取りたいためにテストの仕方からテスト結果の見せ方まで考えます。

◆◆撮影後、すぐ見たい
◆カメラで撮った後、結果をすぐ見たいですよね。
 カメラワークや設定が間違っていないのか
 「ちゃんといい写真が撮れたのか」確認したいですよね。
 昔のように撮ったあと画像になるまで時間がかかるのか
 銀塩フィルムのように撮ってから現像するまでに時間がかかるのか。
 まぁデジカメだと、すぐ結果は見れますよね。

◆テストも同じく、テストをした結果をすぐ見たいですよね。
 テストのやり方や前提が間違っていなかったか、とか
 Excelでテストケースの管理をしていると
 結果はExcelで集計マクロを動作させないと結果が見れないとか。
 DBでテスト結果管理をしていて、リアルタイムで結果が見れるのか。

◆◆撮影後、自分で考える
◆カメラで撮った後、何かの資料を作成するために自分で考えます。
 視点、構図、鮮明度・ピントなどを持って撮ったたくさんの写真から
 この対象はこういった特徴があって、こういうことがわかる。
 そういったことを自分で考えます。そして資料を作ったりします。

◆テストも同じように、得たテスト結果から自分で考えます。
 ○○テストの結果からこういうことが言える
 △△テストの結果からこういうことが言える
 この対象はこういった特徴があって、こういうことがわかる。
 そういったことを自分で考えます。そしてレポート書いたりします。

とまぁ、いかがでしょうか。
「テストする≒カメラで撮影する」

当たり前と思っている方もいらっしゃるかも知れません。
そんな「思ったこと」を綴ってみますた。コメントお待ちしてます。