- オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
207 :デフォルトの名無しさん[sage]:2016/06/02(木) 01:47:36.18 ID:3RkkmY6H - さて、スレが流れた所で話を戻すかw
>>140 > どう組んでもチェック項目は絶対同じ数と内容になる そうでもないというか、その発想は抜けがあるよ。 たとえば数値が偶数か奇数かを文字列で返す関数があったとしよう。 function foo(value) { return (value % 2 == 0) ? 'even' : odd'; } これのチェック項目はfoo(0)とfoo(1)の2つで十分だろう。 だけどさ、関数の中身がこうなっていたらどうする? (1レスに収めるためにわざと改行せずに一行にしたけどそこは無視して) function foo(value) { var i = value % 10; if (i == 0) return 'even'; if (i == 1) return 'odd'; if (i == 2) return 'even'; if (i == 3) return 'odd'; if (i == 4) return 'even'; if (i == 5) return 'odd'; if (i == 6) return 'odd'; if (i == 7) return 'odd'; if (i == 8) return 'even'; if (i == 9) return 'odd'; } わざとバグを入れたけど、バグが無ければこの関数は仕様どおりに動くしfoo(0)とfoo(1)のテストにも通る。 だけどこの関数にはバグがあるし、だからチェック項目は2つでは十分ではないということになる。 コーディングの仕方でチェック項目数は変わらないっていうのは、半分は正しい。 もし2つあるコードのどちらも同じぐらい正しい品質であればその通り。 だけどこの例の場合は違う。2つのテストでは足りないということになっている。 この例のあるべき姿はチェック項目数を増やすのではなくて、コードをリファクタリングしてシンプルにすること。 そうすることでチェック項目は2つになるわけだが、ここまでの話で明らかなように 「コーディングの仕方でテスト項目は変わる」というか「悪いコードだとバグがないことを担保するためのテスト項目は増える」
|
- オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
208 :デフォルトの名無しさん[sage]:2016/06/02(木) 01:49:05.94 ID:3RkkmY6H - 何だ俺、最初から一貫して同じこと言ってるやんw
|
- オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
210 :デフォルトの名無しさん[sage]:2016/06/02(木) 01:51:43.92 ID:3RkkmY6H - >>209
だから、そのvalの取りうる値ってなんだよ?w >>198の質問にも答えてないぞお前w
|
- オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
240 :デフォルトの名無しさん[sage]:2016/06/02(木) 22:51:27.39 ID:3RkkmY6H - >>212
> 仕様書に書いてあるだろ? 仕様書には「整数」って書いてあるけど、 そしたら、無限にある整数を全部テストしろって話でしょう?w
|
- + JavaScript の質問用スレッド vol.120 + [無断転載禁止]©2ch.net
400 :デフォルトの名無しさん[sage]:2016/06/02(木) 23:25:10.25 ID:3RkkmY6H - >>385
> 関連つければいいだけだよね > その通り > つけてないけど ってことは、ORM使ってないのか? ORM使ってプログラム言語でモデルを定義していってその関連もモデルで定義する。 その結果をマイグレーション機能を使ってデータベースに反映、 ついでにER図も生成しちゃうっていうのが今時の開発でしょう? モデルに関連を定義しておかなければ、あるモデルから関連している 別のモデルのデータを取得するのができないわけで開発効率下がりまくりでしょ? (厳密に言えば手動でコードを書けば取得できるがそれだとORMを使う意味がない)
|
- オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
243 :デフォルトの名無しさん[sage]:2016/06/02(木) 23:37:42.96 ID:3RkkmY6H - >>242
> 駄目な仕様書だな > 上限も下限も定義されてないでモノなんて作れっかよ 作れるだろ?Pythonは無限リストを作れるのが特徴だ。 無限リストには上限も下限もない。
|
- オブジェクト指向システムの設計 170 [無断転載禁止]©2ch.net
244 :デフォルトの名無しさん[sage]:2016/06/02(木) 23:40:01.75 ID:3RkkmY6H - RubyのBigNumも上限も下限もないな。
http://docs.ruby-lang.org/ja/2.2.0/class/Bignum.html あえて言えばメモリサイズによる制限は受けるが、 じゃあメモリサイズいっぱいの桁数の数値(何桁だと思う?w)を 全部テストするのかとw
|