そのテストではなく、開発現場での結合テストに対する意識について。
つかそもそもテストに対する意識として。
ちょっとどーなのよ的なことがあったので、考えたことをまとめてみるテスト。
一つ目。開発したプログラマ・システム担当者の立場からの結合テスト。
個人的な意見としては、結合テストっていうのは異常系を見つけるためのもの、という意識。
ここでいう異常系というのは、平たく言えば「プログラマの想定外のケース」という意味。
もちろんこの「プログラマの想定外のケース」には
「不正・誤入力」や「ブラウザの戻る・URL直打ち」などによる遷移は
含まない。
そのへんは当然想定されてしかるべきで、想定して適切なハンドリングを行っていれば
それはすでに異常系とは言わない。
どういうことかというと。
たとえばいろんな人に結合テストをやってもらう場合、
そこにたどり着く前に当然開発者は単体テストは完璧にしておいて、
自分での結合テストも終わらせておくべき。
結合テストの段階で、入力まわりや遷移系でエラーがぼんぼん出るのはありえない。
仮にフリーランサーだったらもう仕事はまわってこないよね。
たとえば悪意のあるユーザーが想定外の攻撃をしてくるケースや
リテラシの低いユーザーが想定外の行動をする、そういうのを見つけてもらう場だと思う。
二つ目は、テストをお願いされた側の立場からのテスト。
「あ?テスト?俺忙しいんだけど・・・
あーはいはい、動いた動いた。おっけーじゃない?」
正常系どまんなか一回だけ動かして終わり。もしくは他の人がなんか指摘してたし俺はいっか。って人。
結構いる。
ご自身の作ったものはいかなる状況も想定し完璧な挙動をするためテストなど必要ない。
他の人?え?そういう風に作ってないの?穴がある?信じられないよ。開発者として失格じゃない?
ということなのでしょうか・・・
僕は糞みたいな三流プログラマですので、自分の作ったものはいくらテストしても不安が消えないのですが・・・
そういった不安とは無縁なのでしょう。羨ましい限りです。
僕は自身が開発したときは不安なので、他の方がテストの協力を申し出たら可能な限り協力します。
逆の立場だったらすごくありがたいし、何よりテストに漏れがあって不利益を蒙るのはユーザーですから。
三つ目は、プログラマ以外の立場からのテスト。
「私はシステムのことはよくわかりませんから・・・」
誰もディレクターとかマークアップとかデザイナにシステム的な指摘は求めてませんから!
ディレクターなら、仕様とプロジェクトの目的は何か、って考えられるでしょう。専門なんだから。
それが自分でかかわってないものでもさ、気になるとことか、あるでしょう。
普通はこういうサービスなら、こういう挙動すると思うんだけど・・・ここはこれでいいの?とかさ。
マークアッパーならさ、HTMLとかCSSの使い方とかさ、気になるでしょう。専門なんだから。
ここJS使ったほうがよくない?とかさ。
デザイナならさ、UI気に食わなかったりさ、するでしょう。専門なんだから。
ここボタン逆になってるんだけど。気に入らないんだけど。とかさ。
最終的にさ、使う人は誰なのか、喜ぶ人は誰なのか、不利益を蒙るのは誰なのかって考えたらさ。
なんか、やっぱテストに対する意識ってみんな違うんだけど、
職種、上長・同期問わずに僕が「この人すごいなぁ」と思う人はみんなテストに対する意識がしっかりしてる気がする。
まぁ気のせいかもしれんけど。
僕は自分がしょぼいのでテストは不可欠なだけです。