Skill Divide & Presenter Divide(技術屋さんDivide)
ちょっとお仕事の愚痴。
現場にもよりますが、プログラムを書く仕事をしていると、大概それがらみのドキュメントを書く話がついて回ります。設計書やらテスト仕様書やらレポートやら。
設計書ははっきり言ってかかなしゃーない。なかったら提案も問題提起もできないし、そもそも組めない。これは書く側にまわったらなるたけ細かく書くようにしている。
今回の愚痴の対象は、テスト仕様書&レポート。
ほとんどの場合は手でExcelやらWordやらに地味に書いていくしかなく、今の現場はその典型。
そして書いた分だけ手でテストをする。これもよくある風景。
てかね、元COBOLerさんがプロジェクト仕切りやってるんで、昔ながらのやりかたになっちゃうのはしょうがないかとは一応思う。
ところが今やっているのは.NETでWebアプリ。
んで原則納品物使ってテストしなさいってんで、Webから入力→狙いのメソッド起動&テスト、をいちいち手でやるしなかないって状況で。
正直めんどうだなとは思ってた。テスターによっては漏れが出るようなケースのカキかただし、そもそもン千件のケース、1〜2ヶ月おきに発生するn次納品のたびに手でやるってどうなのかなーとは思ってた。外注だから何も言ってはいないけど。
で、昨日。
別の場所で動いてるチームのリーダーと仕切りさんとでテスト仕様書どうするかってな話をしていた。
ところが、別働隊のリーダーが「テスト仕様書なんか書かん」と言い出した。
なんでもNUnitなる自動テストツールを使ってやるからテスト仕様書を作んなくてもいいだろうというのがその人の言い分。
仕切りさんにしてみれば寝耳に水の話だったようで納品物としてテスト仕様書を収めてくれなきゃ困る、そもそもそのテストの信憑性を誰が判断するんだってんで電話をはさんで大喧嘩。
当然外注なんで黙っているわけですが、正直なとこ、身内だったらどっちにも文句をつけてやるとこ。
まず仕切りさんに。
信憑性がうんぬんいうなら、人の手ほど信憑性のおけんものないでしょうと。それでなくても誤解をまねくよーなケースの書き方しておいてよーゆーわと。
んで別働隊のリーダーさん
・・・便利なのはわかるけどもうちょい説明と妥協ののしようがあるでしょうがと・・・。
NUnitは使ったことはないのだけどおんなじ思想からできた(てかこっちが元祖?)のJUnitは使ったことがあって。
大雑把に、「TESTを動かすためのクラスを継承から作って、その中に入力、予想出力を定義し自分の作ったクラスのメソッド類を呼び出し出力を様相と比較し成否を判定する。これをを一度全ケース分書いてしまえばあとは実行するだけ」ってなもの。
つまりは一度作ってしまえばあとは昼休みでも帰る前でも実行して、テストはPCが勝手にやってくれるので、テスト手段の再現性としては非常に信憑性のおけるものになり、これは別働隊リーダーさんの言い分に軍配が上がる。
だけど組み込んだコードを見ればどのテストケースを流したかってのは読めるのは事実だけど、それを客が見て分かるわけがない。このことだけなら仕切りさんが正しくて、別働隊のリーダーさんはあんまり客ないし素人のこと考えてない(かもしれない)
でもね。
実はちょーっと書き方工夫したらテストレポートの結果くらいでっちあげられんのよ。
入力値、予想結果は自分で書く、成否判定はトラップくらいできる、あとは通し番号とどのメソッドを使ったかを書き足してCSVなりtab区切りファイルとして出力してやりゃあとはExcel上でどうにでもなったりする。
むかーしJUnitを使ったプロジェクトのリーダーさんはそれでテストレポートをでっち上げて依頼先を丸め込んでおりました。これを別働隊リーダーさんがやればドキュメントもできて、手間も省けて万々歳なのに。
昔を懐かしんでもしゃーないけど比較してみるとなーんかお粗末だよなぁ・・・。
それにしたって仕切りさんと別働隊のリーダーさんと、なんで同じ会社で教育受けてこんなに差がでるかね・・・。
しかし・・・よーやるわ東京と大分で・・・。
#うわ、ちょっとじゃないよ・・・。