1 仕様書無しさん :2008/06/28(土) 19:49:20
何だよ、8割方終わった風な顔で、「コーディング終わりました。後はテストするだけです。」
って...
コーディングが終わってやっと3割終わったかどうかってところだろが。
コーディングが終わってからが本番だっちゅーの。テスト仕様書に従い、テストデータ用意して、
正常系、異常系含めて、抜かりなく全網羅テストすること。これがどれだけ大変なことか。
本当に理解してんのか? コーディングが終わってやっとスタートラインに立ったぐらいの気持ち
でいろよ、ってくヘラヘラしやがって。
こういう、テストを軽視する輩共が、プログラミングという作業を軽んじ、工数見積りを誤り、
徒に製造を急かし、バグの混入率を間接的に高めているということに気づかんのか。
どんな優秀な奴だって、人間だもの、間違いを犯す。バグを生み出す。それを極力未然に防ぐのが
テストだろ。いつバグが判明するかとドキドキしながら納品後の時間を過ごすか、自信と満足感を
もって笑顔で過ごすか。どちらがいいか自明のことだろ。
プログラミングはなぁ、テストに始まりテストに終わるんだよ。要件を理解し、その中に潜む異常
パターンを見抜き、どんだけ抜かりなくテストをやれるかが一流とカスを分かつ分水嶺だ。
コーディングなんかできてあたり前、肝心なのはテストだ。テストを極めてこそ、一流のプログラ
マーって呼べるんだよ。
この馬鹿者どもが。
普通はテスト書いてからコーディング
お疲れ様です、テスターさん。
普通は納品してからテスト
「ユキ!やめろ!まだテストもしていないんだぞ!!」
「今すればいいじゃありませんか!・・」
プログラマ一人に対してテスト担当者を一人付けるべきだな。
テストは重要だ。そしてプログラマーは自分のプログラムには甘い。
テストが仕様書
2.メソッドを実装する。
3.1で作ったテストクラスを使って2のメソッドをテストする。
4.テストを通らなければ修正する。
5.1へ戻って次のメソッドを実装する。
この繰り返しこそ、結局は一番確実で早い。
そしてテストクラスを使っていつでも今まで作ったものをテスト
できるから、勇気をもってリファクタリングができる。
それ、ユニットテストじゃん。ユニットテストは普通テスターがやるもの
じゃないっしょ。ユニットテストは、設計レベルの確認でしょ。そのやり方
は、開発規模が大きくなった場合は、現実的には無理だと思うぞ。
顧客の要求レベルのテスト、すなわち、システムテスト(ホワイトボック
ステスト)が、最重要でしょ。
> ユニットテストは、設計レベルの確認でしょ。そのやり方
> は、開発規模が大きくなった場合は、現実的には無理だと思うぞ。
逆だろ。
開発規模が大きいのに、ユニットテストをしていないところは
馬鹿 と断言していい。
ユニットテストは、開発者がやるものだと言っただろ。
開発規模が大きくなってもユニットテストは確実にやる。
開発者がな。
俺が言いたいのは、開発規模が大きくなれば、ユニットテストの
積み重ねだけでシステム全体のテストをしたことにはならないという
ことだ。
テスターは、カバレッジをどう確保するかが大切だろ。
ユニットテストに注力してホワイトボックステストをおろそかにするバカは
いないとは思うが、ユニットテストを強調するあたり、分かってないとしか
言いようがない。
ユニットテストは、開発規模が大きくなれば、自動化するもんだ。
うちは、QTP使ってる。システム揃えるのに数千万もする代物だ。
それでも、人件費に比べれば安いものさ。
UnitTestなんて非効率なもの大規模プロジェクトでは使わないんよ。
>>9
のやり方は、開発者にとって効果的だが、テスターが付き合う義理はねぇ。
テスターは、「顧客要求を満たせば、ソースコードは糞でも何でもいい。」
じゃねーのか?
プログラマーに、ユニットテストのスキルを身につけさすのが現実解だろ。
えーと、何万人月のシステムでも、あなたが担当するのは、一か月でたかだか
一人月かそこらですよ。
だから?
テストするなと?
大規模プロジェクトでUnitTestなんか使わないってのの反論。
> システムテスト(ホワイトボックステスト)が、最重要でしょ。
無理して知らない用語使うなw
指摘サンキュ。うっかりしてた、ブラックボックステストだった。
お恥ずかしい。
は?
上流工程こそ最重要だよ
テスト?やって当然だろ
はげどう
どうせ仕様が気に入らないっていって大改造させられるんだから
テストなんかしても意味ない
鉄道動かすプログラムですが、客にバグ出しさせますね^^v
ソフトにバグはつきものってことは十分擦り込んであるから大丈夫。
MSやらのおかげで最近はずいぶん理解を得やすくなった。
一般人のテストの感覚でいるんだろうな。
ちょっと使ってみて、うん動く。テストおっけーみたいな。
ソフトウェアのテストとは、動かないところがないか
探すものなんだよ。
ゲームで言えば、ストーリーどおりやってクリアするのはテストじゃない。
裏技を探すのがテストだ。
プログラマーに愛想振っているようではまだまだ半人前の若僧だ。
テスター道一筋6年目の俺様が言うのだから間違いない。
うちのプロジェクトでは、テスターってプログラマーより給料が少ない。
日本じゃテスターの地位は低いのだ。
だから、みんな、テスターになりたがらない。で、テスターの質が下がる。
現場は、テストの重要性を分かっているが、上層部は、テストは誰でも
できると思っている。馬鹿にでもわかるようにテストの重要性を
解いてくれないか?
テスト工数が軽んじられる傾向にあるのは確かだな。
テストにかかる時間と手間がちゃんと工数に考慮されたら、
そして経験と勘に頼るような人任せなやり方が改善されて、
テスト手法がちゃんと確立されて標準化されたら、みんな
定時で帰れるし、トラブルも減って、もう少しみんながハッ
ピーになれると思うんだけど。
でも現実は、製造とテストは一緒くたに丸投げされて、やら
される方もただ盲目的に「テストOK」の印をつけることだけ
が目的になっている。自分で製造もやってるから隙もできる。
これじゃぁ、質があがるわけない。せめて製造とテストは実施
者を分けるべきじゃないかと思う。
テスト仕様書でも書けよとは思う
どうせ基本設計が腐ってるんだからテストで潰すしかないのに
要求書はないのか?要求が明確なら少しの労力でテストシナリオを書けるだろ。
「ちゃんと動くプログラム」と「テスト」と「仕様書」をなぜに比べる?
一蓮托生だろ。
テストも出来ていない腐った仕様のプログラムは、ちゃんと動いているとは
言えない。
テスト > プログラミング
主従関係も逆転した。
プログラムにテストがくっついているのではない。
テストこそが主。
要件定義 → 用件を満たすテストパターンの洗い出し → テストクラスの作成 → テストを通すための実装
今や時代はこれ。テストドリブン。これ。いわば最初に足枷をはめるやり方。
一見手間がかかるように見えるかもしれんが、結果的には一番効率的。
客にもテストパターンをみせて、「こういう入力の場合はこうなればいいんですね」と、
意外と説明しやすい。
ま、普通だな。
詳細設計の前に、結果を先に作っておくと言うのも手だぞw
客に見せるテストパターンとテストクラスとでは粒度が違う気がするけど。
テストドリブンというようりユースケースドリブンじゃね?
要件定義と書いているけど、ユースケースつまりシナリオベースで要件を
整理するわけで、客にテストパターンを見せる必要はないわな。
よーは、日本人が苦手な「全体最適化」だろ。テストというコストが
高い工程を改善するのに全工程をテスト中心に考えるという考え方は
悪くないが、テストドリブンは、大規模プロジェクトでは、失敗
しやすいぜ。
要件定義をした後に、テストパターンを洗い出す必要があるということは
要件定義が完全に終わっていないことを物語っている。
要件定義が完璧ならテストパターンは自ずと決まってくる。
テストパターンを顧客に見せなくてはいけない時点で、
要件定義が不十分だということに気づくべきだな。
それでも抜けてるテストがあるのがお約束。
さらに、「こんな動かし方もしたいからこういうテストは?」とか聞かれて要件抜けてるのに向こうと気がついたりw
まあ、無い頃は良くテスト先に作らないでプロジェクト進んでたなーと思うけどな。
要件定義は、ドメイン知識と経験がいるからね。
開発手法をどうこねくり回しても、抜けをなくすことは不可能だよ。
それこそ要件定義や設計書なんかよりもな。
要件定義や設計書は所詮、人間が読むもの。
どこまで煮詰めても、あいまいさはなくならない。
そもそも、人間相手だから、なくそうともしていない。
なぜ要件定義や設計が簡単に変わるのがその証拠。
変えたときに絶対存在する問題、あいまいさを考えていないから。
ソフトウェアってのはコードで動く。
コンピュータが100%コードのとおり動く以上、
そこにあいまいさを含めてはいけない。
100%の機械相手だから、あいまいさをなくさないといけない。
人間相手の仕事と機械相手の仕事、どちらがあいまいさのない、
つまりバグのないものを作り上げるプロなのか、言うまでもない話。
頭冷やせ。
ソフトウェア開発は、機械だけ相手にしていたら良いわけではない。
金を払う顧客、それを使うユーザー、他人の作ったコンポーネント。
厳密さを求めるがゆえに大切なものを排除してはいけない。
曖昧なもの、変わるものをコントロールする事の方が重要だ。
ユニットテストはゴールではない。
顧客の要求を満たすことがゴールだ。
日本人はすぐに問題個所を血祭りにあげて「部分最適化」を試みる。
本当に必要なのは、開発プロセス全般の「全体最適化」だ。
その全体に影響を及ぼすのが「要件」じゃないのか?
ユニットテストだけをパーフェクトにしても、大した成果は出ないと
思うがな。
その変わるものをコントロールするのが
ユニットテストだ。
要求や設計変えても、要求仕様書や設計仕様所には
完璧なテストが存在しないから、
変えることをコントロールすることが不可能。
思いつきで変えるからバグがでる。
ユニットテストは一部分のテストではない。
要求から仕様まですべてを対象にしたテストなのだ。
まあがちがちにテストで固めておくと、馬鹿がバグ入れたときにすぐ引っかかるからな。
ユニットテスト+CVS+デイリービルドのコンボで何回救われたか…
正直、自分の手の届く範囲でコントロールできない要求仕様とか設計仕様とか営業wとかは
理想論吐くだけ虚しい。
変わった後ちゃんとテストしているか?
システムすべてをテストしないといけないんだぞ。
どうせしないだろう?
ユニットテストなら、変わった後すべてをテストしている。
それと同等のことをしないといけないんだぞ。
人間相手だから、あいまいな定義で十分。
それゆえに適当でコードなどで自動化もされていないから
面倒だからとまともなテストができない。
結局ちゃんとしたテストはコードでテストするしかないんだよ。
それがユニットテストなんだよ。
>変わった後ちゃんとテストしているか?
修正項目に直接関わらない所で仕様の不整合によるBUGが発覚する事が多いよなw
大規模プロジェクトになると、仕様の矛盾がそもそものBUGの原因になる事が多いよな。
同意。さらに言うなら、外部テスト(ブラックボックステスト)で
問題をちゃんと把握できるシステムは良いシステムだと思う。
「テスト可能なシステム」とうわけだ。
ユニットテストに主眼を置かなければ品質を保てないシステムは、どこか
おかしいと思うのだが・・・。
マ「すいません、これ以上仕様変更があると改修はともかく
テストが間に合いません」
上司「テストなんて現地ですればいいよ」
・・・
客「なんだこの不具合だらけのシステムは!こんなものをリリースするなんて
おたくはいったいry)」
それで上司が
「俺は関係ない、部下の独断だ」
とか言ったら最悪だな。
それに近いことは言うけどな
「すいません、開発担当のものたちがスケジュールの調整でうんぬん」
結局自分以外の誰かを悪人にしないとすまないらしい
理想としてはそうあるべきなのだろうが、仕様書を書く人に聞きたい。
本当に漏れの無い(全ての例外的な事象を考慮している)仕様書を書いていますか?
結局はプログラマがユニットテストという形で仕様書を書いていませんか?
こういう場合にはこうなるという仕様書がユニットテストの中にしか無いってことありませんか?
たぶんね。仕様書の内容を変更があるたびに短時間で
全て見直すことが出来ない限り漏れが無い仕様書を書くことは
出来ないと思うよ。
ユニットテストのように、OK/NGって表示されないのなら、間違っていてもいいもんね。
だから絶対仕様書のテストをサボるでしょ? 漏れの無い仕様書書かないでしょ?
だからプログラムコードではない自動的に何度も検証できない仕様書は、
あくまで参考資料のために作るのであって
ユニットテストを本当の仕様書&テストコードにするべきだよ。
時間は限られているからね。何万とある検証項目を何度もする時間は無いんだよ。
設計書にないコードを書くのは禁止されている。
設計書に間違いがあってもそのままコーディングされる。
設計書に不備があったら、設計者に戻され修正される。
そして、レビューが開催される。
責任関係があいまいになるような開発スタイルは、うちではありえない。
外資系なのでそのあたりはかなりドライ。
そんなに重視してないよ
マ辞めちまえ。おまい迷惑。
俺が辞めたら客が困るんだぜ
そう思っているのはおまいだけw
言うと思ったw
勘違いも甚だしいな。
お前が辞めた方が客は喜ぶぞ。
テストの不十分な商品渡されるよりよっぽど安心だろ。
そんな(おれらに被害が及ぶような)こと言うなよ
だって(めんどくさいんだもの)仕方ないじゃない
何の意味も無い
思って出している会社もあるぐらいだ。
下流の人をいじめる口実にするんですね。
まだ社会人になってないからいまいち言ってることがわからんが
バグを検出する度に「それはレアケースだから」と言い訳していたPGがいたな
正常系データ流してクリティカルエラー起こしてんのにレアはねーだろ!!単体テストすらしてねーのかよ!?って問い詰めたら「仕様書が悪い」とかファビョってんの
それを聞いた設計部隊からボコボコに言われて、最後に開発部隊の課長は胃潰瘍で入院した
要件定義、基本設計:3割
詳細設計、コーディング:2割
テスト:4割
リリース、アフター:1割
くらいかなあ。テスト大事だよテスト。
なんかかたっぱしから書き直すことになる罠
格差が大きいな。
テストプログラムを組んでカバリッジをチェックしながらの
全ステップテスト必須の処もあれば、
未だに目検だけのザルなテストやってるところも多い。
俺は諦めた。
が、なんだ最初のは。
ホワイトボックスとブラックボックスを勘違いするとか、新人でもありえん。
最初の以外も、テストの種類が対象とする物がおかしかったりするし、なんじゃこりゃ。
ソフトウェアテストに関する基本的な書物さえ読んでない奴がスレの半分以上なんじゃねーのかこれは。
やはり日本のITは暗いぞ。
JSTQBが普及してテストの地位が向上しますように…
普通は、どんな底辺DQNプログラマでも理解できるような仕様書と、
無理なく定義することができて初めて言える台詞だよね?
明らかに要件定義する人のスキル低すぎな人の愚痴にしか聞こえないよ。
もちろん、テストは重要だ。
っつーかさ、テスト工数減らして値段下げろっていう奴、いい加減法律で罰してくれないかね?
民主党サマのお力でさ。(嘲笑
業界全体でテストにリソース(時間含めた)割くのが重視されてないのが大きいけどな
というのは組込み系にたまにある現象。
CPUそのものが停められてたりとか遅いとか、対策めんどいぜ。
未だにテスターがデバッガーだと思ってる奴が後を立たん。
上もテストについてよく分かってないから見積もり取ってきても準備工数ほとんどないし、氏ね!!
「前のテストシート流用すればすぐテストできるでしょ?」できるかボケ!!
書類も作らず試験するとメタメタだな。
やっぱ辞めるべきだな。この仕事。
くさい匂いがプンプンするぜぇぇぇぇえ
つか、そのレベルの話はもはや「テスト」とかいちいち分離して考えるもんじゃなくてコーディングの一貫と言っていい。
そっち方面の人が多いのかな
ホワイトorブラックボックスの間違いを失笑してるんじゃないと思うぞ・・・
この業界、文脈が読めない子が多くて困る。
作業者が達成するものじゃあないんだよ。
管理者が達成するものなの。
○○テストだとか細かい話じゃあないんだよ・・・。
そもそも、テストの自動化技術とその価値を上が理解していないからな・・・
だれも認めないから使うことが出来ない・・・
結局力業でテストを繰り返すしかなくなる。
これはそもそもプログラマの仕事
本来脳内でやっていたことを記述して自動化したものだ
これだけで済むならそりゃテスタはいらん
全てはソースですよ。
紙はいらん。
俺「。。。。。orz」
アジャイルやTDD:自動テスト。多くはユニットテスト。開発と並行して実施。
日本の開発現場:人海戦術の手動テスト。多くは結合テスト。プログラミングが終わったあとで実施。
という違いがあると思う。
だから日本は非効率だと。
逆襲のシャア?
良い国なのか悪い国なのか、
いつも悩む
「不具合は決してなくならない。だからテストが重要です キリッ」っていったら、
そんなわけないと、向こうのお偉いさんと言い合いになった……。