😭

テストについて

に公開

毎月無理して記事を書こう、で書いております。
若い人が「網羅的なテストをしてください、あんまり時間が無いけど」みたいなことを言って、
偉い(というかスケジュールプレッシャーに負けない)人に説教を受けていた。

気をつけろ「網羅的なテスト」

テストは、これ以上「バグが見つけられない」ことを証明するために行うもの
https://note.com/sudatakashi/n/n3f6528cb57af

やったテストのみ、大丈夫って言える。完璧なテストはできない。
https://note.com/yumotsuyo/n/n1276127a938e

こういうのは普通なのですけど、

でも、だいたい偉い人が言うんですよ。「網羅的にテストしてください」
どうしたらいいのでしょうか?知らないふりしてわざと言っているのでしょうか?
結局、上下関係で押し通されて、テストの網羅を求められ苦しい展開に。

「網羅=完璧」と考えると苦しい。
網羅は「どういう網の設計をしますか?」って考えると良い。
磁石性の網なら鉄をキャッチできるとか。どういう不具合を狙い撃ちするか、そういう作戦。

「ちゃんと網羅しろ!」って言われたら、(先輩からって言われた場合に記載)
テスト設計で、何が抜けているか指摘してもらうのがいいのでしょうかね。
テストの網羅については、「説明できてご理解いただけるかどうか」って話かもしれません。
お互いに網羅の認識を合わせたらいいんでしょうかね。
「任せた!」「いい感じで!」っていうやつもいますね。。。
絶対後出しで文句言われるので、先に合意取った方がいい。
自分で解のイメージを持ってない人こそ先に合意取っておいた方が良い。

ちなみに、「カバレッジ100%」って言うパターンもあります。
エラー処理を書かなければカバレッジ率が上がりますか???
そういう正しいことを阻害するような呪縛はきついと思うなあ。

網羅的なテストは、どう考えたか説明できる必要があるんだと思う

テストの経済性

無限にテストはできない。
売上1億円のソフトに、10億円分のテストをするか???
(テストに限らないけど)経済的な制約がある。

デバッガでエラーに流してフローを変えて見ましょう、くらいは納得するけど。
時間くれたらやりますけど、(経済的な制約で)時間もらえないことが多い。
相談できる開発部隊なら、リーダーにいい塩梅に導いてもらえますでしょうか。

テストの前にそもそもコードを多く書くな。
減らす方を頑張った方がいいと思う、とくに要求仕様。

テストは、経済性の側面がある

理想は??

△△の観点でテストすると○○円くらいです。
で、どれをいたしましょうか?って感じ。
(期待される効果を求められるかも???)

少なくとも、△△の観点ではやりました!って言える。
選ばなかった観点では実施してない、△△の観点では見つからなかった問題です。とも言えるか。

「それで大丈夫?」って(無責任に)言ってくるかも。
本当はこっちのテストもしたかったのに、なんて局面あるかな。
そうしたら「お金ください」って言いますか。。。
「大丈夫かどうか一緒に考えてください」かなあ。。

ソフトウェア開発の上長の皆様、開発者は一生懸命頑張りますので、最後は責任取ってください。

Discussion