- 1 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 12:29:11.02 ID:irsqaiS+.net]
- 単体テストは自動化するものだと思っていたから
一瞬何を言っているのかわからなかった
- 44 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 10:51:24.16 ID:27/WCIy4.net]
- ゲームの当たり判定でも、あれとこれがぶつかったのは
どう計算すれば導き出されるんだ?って悩んで ぶつかったという答えを出す計算式を作り出すものなんだが 本を読んで計算式をみて、ぶつかったかどうか? この計算式を使えばぶつかったという答えが出るんだよ みたいに思ってるんだろう。 自分でアルゴリズムを考えたことがないから 計算式ググって、そのとおり計算して なるほど、これが計算した答えか。 答えなんて計算しないとわからんな。と言ってる 計算式を作り出したことがない
- 45 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 11:29:14.71 ID:2iTMkqwR.net]
- フフフ、雑魚の遠吠えが心地いいなw
- 46 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 11:30:08.73 ID:7nzCtSCV.net]
- 内部にジェネレータとかIOとかを持ってて、冪等じゃない関数のテストってどうやったらいいの?
そういうのは単体テストの対象外?
- 47 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 12:04:18.26 ID:27/WCIy4.net]
- >>45
1つぐらい何か言い返せよw お前がやってるそれが遠吠えじゃねーかw >>46 冪等性がなんで出てくるのか知らんが 与えられたデータ(引数だけじゃなくてすべての状態)が 同じであればその結果も同じになる テストというのは、固定のデータを使って固定の結果と比較するもの 固定のデータが用意するのが難しいのであれば その部分にスタブ(モック)を利用する 十分、単体テストの対象内 というか単体テストができないなら、その他のテストもできないだろ
- 48 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 12:35:20.58 ID:2iTMkqwR.net]
- >>47
だからなんの意味もねーってそれ お前がエクセルで計算した値だろw
- 49 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 12:37:03.68 ID:sW11ypIO.net]
- >>41
>そうそう、結局こういう入力(ユーザによる操作や設定ファイルも含む)に対してこう動くようにしましたよ >としか言えない 考え方が間違ってる 入力に対する出力が要求仕様通りになることをこういうテストケースで確認しましたよと言えればいい 21が正解かどうかは要求仕様による テストケースを作る能力の有無の前に 要件定義がまともにできてることが必要 できてなければデスマーチ確定
- 50 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 12:40:33.44 ID:2iTMkqwR.net]
- >>49
だからそう言ってるじゃん >>41にそう書いてあるだろ
- 51 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 12:51:30.19 ID:27/WCIy4.net]
- >>48
> お前がエクセルで計算した値だろw 何で計算するとかどうでもいい話だろ 何をする関数を作りたいのか? 作りたい関数は「何を入力とし、何を出力とするのか」 その仕様を決めてから関数を実装する。そして正しく実装されてるかテストする お前は仕様を決めずに、関数を実装して その関数が出力する答えが正しい!バグなんてない!って言ってんのか? 繰り返すぞ 仕様を決めてないのに関数を実装してんのか?
- 52 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 13:00:15.99 ID:wzh1JL/V.net]
- 関数なんかフィーリングでつくるだろうふつう
関数の設計?関数仕様書みたいのをいちいち書かせるタイプのアフォなんか?
- 53 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 13:08:10.28 ID:2iTMkqwR.net]
- >>51
ホントだ どうでもいいなw だから>>6でもいいんだよな?
- 54 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 13:17:28.23 ID:sW11ypIO.net]
- >>50
何を書いたつもりなの?
- 55 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 14:21:13.46 ID:27/WCIy4.net]
- >>53
> だから>>6でもいいんだよな? >>6には固定値が書かれてないから駄目だって言ってんだろ 理解できますか? あ、そう。理解できない。 ↓こうしろって言ってるだけなのに、理解できないのか?終わってるな int S=sumAtoF(1,2,3,4,5,6); int chkS=21; if(S!=chkS) { エラー }
- 56 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 14:27:23.42 ID:2iTMkqwR.net]
- >>55
え?じゃあどうやって21って出したの? こんなの固定値のわけないじゃん
- 57 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 14:29:36.05 ID:27/WCIy4.net]
- > え?じゃあどうやって21って出したの?
最初に関数を実装するんじゃやなくて 仕様を定義しましょうと言ってる お前は仕様を決めずにいきなり関数書いて、その関数の実行結果を出力して 俺がコードにバグを入れるなんてありえない。だから21が正しい!と言ってるだけ。 テストを全くしてない
- 58 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 14:31:27.33 ID:2iTMkqwR.net]
- >>57
それで? どうやって21を出したの? ここが品質のすべてを担保してるのにどうでもいいわけないだろアホか
- 59 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 14:35:32.71 ID:27/WCIy4.net]
- >>58
> どうやって21を出したの? 「例:1,2,3,4,5,6を引数に渡したら21を返す関数が欲しい」 という要件 最初は関数(コード)は存在しない 最初に関数(コード)を実装してはいけない 実装した関数(コード)で出してはいけない 実装する前に決める話 どうやって21を出したの? それはその関数が欲しい人に聞け
- 60 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 14:41:24.36 ID:2iTMkqwR.net]
- >>59
ええ?A+B+C+D+E+Fなんだけど?
- 61 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 14:42:20.05 ID:27/WCIy4.net]
- >>60
それは実装 最初に実装を書くなと何度もいわせるな
- 62 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 14:46:52.37 ID:2iTMkqwR.net]
- >>61
今回は客がそう言ったのな
- 63 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 14:47:41.87 ID:27/WCIy4.net]
- >>62
客はお前より頭がいいなw
- 64 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 19:32:55.83 ID:eJ60na0U.net]
- なんか荒れてんな。
単体テストって固定された仕様に対して実装者次第で変化するロジックをテストするものだろ。 例題があまりにも単純コードだからロジックと実装が一致するなんて現象が起きるのであって、考え方はテスト仕様を満たしているかどうかが重要。 だと思うんだぜ。
- 65 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 19:36:00.81 ID:eJ60na0U.net]
- >>64
> 例題があまりにも単純コードだからロジックと実装が一致するなんて現象が起きるのであって、 ロジック(実装内容)とテストコードの間違い
- 66 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 19:42:58.77 ID:4CFVaDi9.net]
- >>65
そこじゃないよ。 あのアホは「足し算をすることで21になるかどうかわからない」から コードを書いてそのコードの出力ログで21とでたからOKOK。 21になるかどうかわからないけどログにそう出てるからOKOKって言ってるわけだから
- 67 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 19:44:47.63 ID:4CFVaDi9.net]
- 仕様からロジックを作り出すことができなくて、
ロジックを与えられて、そのロジックをコードで書いてるだけの人間なんでしょう コーダーってやつ
- 68 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 19:57:39.46 ID:2iTMkqwR.net]
- >>66
ほう、それじゃ君はどうやって21を出すんだい? 偉そうなこと言ってるんだから誰もが納得できる解答をもっているんだよね?
- 69 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 20:02:12.92 ID:5Fx1JvjP.net]
- >>68
納得できてないの、お前だけみたいだぞ。 キョロキョロ見回してみなw
- 70 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 20:05:10.45 ID:2iTMkqwR.net]
- ちなみに俺は答えを持っているぜ
お前ら雑魚といっしょにするな お前らは正しいかどうかわからない自動テスト(笑)をずっと動かしていればいいよ
- 71 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 20:23:16.24 ID:MX/I4ATg.net]
- なんだかなぁ...。
sumAtoFって名前からして引数のAからFを足したやつを吐き出すのが仕様なんだろ? じゃあ、その仕様に合ったテストコードを書けばいいじゃん。 って話なのだが...まぁ、それ以前に、だ。 うん?単体テストをする上でテスト対象のメソッドの仕様がわかりませんってやばくね?
- 72 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 20:50:51.14 ID:4CFVaDi9.net]
- >>71
テストコードを書くには、関数の計算結果がわかっていなければいけない だが関数を実装しなければ、計算結果は求められない 関数を実装するまで、計算結果はわからない などと言ってるやつだからなぁ どうしようもないよw
- 73 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 20:51:48.12 ID:4CFVaDi9.net]
- >>70
ほう、それじゃ君はどうやってログに21がでてて安心するんだい?
- 74 名前:デフォルトの名無しさん [2020/09/24(木) 21:04:31.28 ID:4CFVaDi9.net]
- アホの相手飽きたから質問w
BDDとTDDとATDD について 調べてみるとBDDは受け入れテストのような説明がされていて これってATDD(Acceptance Test Driven Development)のことだと思うだけど ・・・正確に言えば受け入れテスト駆動開発と言うべきか・・・はいいとして、 でもrspecってBDDと名乗っているけど、どうてみてATDDではないように思えるんだよな 開発者のためのテストが主だし。 cucumberは明らかに受け入れテストだと思う。rspecにturnipを組み合わせても 受け入れテストになると思う。でも素のrspecはBDD(ATDD)ではなくTDDだと思う さらにググるとBDDを取り入れたTDDと書いてあるのも見つけた rspecってBDDを名乗ってるけど正確な言い方ではないってことなのか? さらにrspecの言うBDDと同じ意味で使ってるテストフレームワークが多い気がするけど 最初から受け入れテストとして作られたものは本来(?)の意味こそがBDDだみたいな感じで BDDという用語を使ってる気がする という認識はあってる?
- 75 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 21:33:03.21 ID:4CFVaDi9.net]
- 和田さんのいう「誰のためのテストか」っていうのが
これらの用語の使い分けとして一番しっくり来るんだよな ただこういう観点で使い分けられてないという事実があるわけで困る
- 76 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 21:35:44.19 ID:4CFVaDi9.net]
- https://www.slideshare.net/nowsprinting/bdd-33testing
Scenario BDDとかSpec BDDとかいう用語が出てきたw
- 77 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 21:35:55.23 ID:80+YcRw8.net]
- BDD は、rspec, jest みたいに、describe, it を使うもの
- 78 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 21:43:19.82 ID:4CFVaDi9.net]
- >>77
俺もそう思っていたんだが、どうも違うんだよな 人それぞれで言ってる意味が微妙に異なってる たぶん、この意見は正解。2つの意味がある。 https://ukstudio.jp/posts/2011/07/02/bdd/ > BDDにはふたつの種類がある > 1. TDDの言い換えのBDD(開発寄り) > 2. ATDD(受け入れテスト)でのBDD(ユーザ寄り) 2つの意味があるのは、まあよくある話なんだけど 1.界隈では何の説明もなくBDDはTDDの言い換えとして使っており 2.界隈では何の説明もなくBDDはATDD前提で語っており 各解説を見ると、この2つの種類がまるでなかったような書き方がされてる それぞれの専門家は、どちらかの用語として使っていて こういうそれほど有名でない人だけが違いに気づいているという感じがする あ、和田さんは有名だけどねw
- 79 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 21:49:49.61 ID:4CFVaDi9.net]
- BDDはTDDの言い換えとして広まっちゃってるけど
BDDのオリジナルは多分受け入れテストの方だと思う だからrspecのBDDは本来のBDDではない!と専門家が批判記事でも 出していればまだ良かったんだけど、それがないから困惑してる rspecがBDDを名乗っており誰も批判してないからrspecはBDDである。 それを真似たjestなどもBDDである。共通する特徴はdescribe, itである。 これが開発者の間で広まってる認識・・・だと思うんだけど受け入れテスト業界では rspecのBDDを否定せずに、それでいてBDDはATDDであるという前提で語るから困る ちなみにATDDっていうのはcucumberみたいなものね
- 80 名前:77 mailto:sage [2020/09/25(金) 00:42:40.39 ID:mGml3uVc.net]
- RSpec と言えば、ソニックガーデンの伊藤淳一。
Read Everyday Rails も翻訳してる 「伊藤淳一 rspec」で検索! 色々な記事を書いてる
- 81 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 03:29:42.83 ID:N+dUj7Ty.net]
- > RSpec と言えば、ソニックガーデンの伊藤淳一。
その人ぐらいしかいないから名前が知られてるだけで 特別参考になることは言ってないかな 大幅に間違ってないってだけで、大多数の人と同じレベル TDDやBDDじゃなくて、 xBehaveとxSpecで検索すべきだった おそらくrspecはxSpec系と呼ぶのが適切なのだろう
- 82 名前:77 mailto:sage [2020/09/25(金) 08:24:28.60 ID:mGml3uVc.net]
- 伊藤淳一は、YouTube の動画もある
他には、Serverspec の作者、宮下剛輔もいる
- 83 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 08:25:42.75 ID:N+dUj7Ty.net]
- > 伊藤淳一は、YouTube の動画もある
あれやめて欲しい せめて文字に起こせと
- 84 名前:77 mailto:sage [2020/09/25(金) 10:00:48.60 ID:mGml3uVc.net]
- Ruby のYouTube 動画で、Dean DeHart というマニアックな香具師がいる
- 85 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 12:07:26.03 ID:0u8f+Kls.net]
- テスト書き始めるとオブジェクト指向おじさんから関数型おじさんになってしまう
Javaでも全部staticメソッド
- 86 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 12:34:53.67 ID:buHis4lt.net]
- ユニットテスト全く書いたことないのか?っていうレスが最初の方で飛び交っててやべーな
それどころかテストケースの洗い出しとかその辺の事全く知らなそう
- 87 名前:デフォルトの名無しさん [2020/09/25(金) 12:39:20.85 ID:ycF3TYue.net]
- >>86
テスターに任せるだけだから気にしなくていい
- 88 名前:デフォルトの名無しさん [2020/09/25(金) 12:40:49.42 ID:ycF3TYue.net]
- なんでもかんでも自分でやろうとするな
組織は集団の力を使えるから強いんだ テストはテストの専門家に任せるべきだ
- 89 名前:デフォルトの名無しさん [2020/09/25(金) 12:41:36.82 ID:ycF3TYue.net]
- 単体テストを頑張っても品質はあがらない
結合テスト、総合テストを頑張るべきだ
- 90 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 12:41:43.82 ID:I1EnBauF.net]
- 効率化しすぎたら仕事が無くなるよ
- 91 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 13:28:09.77 ID:buHis4lt.net]
- >>89
>単体テストを頑張っても品質はあがらない >結合テスト、総合テストを頑張るべきだ 単体テストの重要性を知らんのか レガシーコード三部作を買って読んで来い
- 92 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 13:43:09.13 ID:ME9URhdt.net]
- >>91
例えばチェックする値の理論値が12.375だったとするじゃん? でも計算結果は 12.37499999999998 だったんよ お前、これどうすんの?
- 93 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 13:53:32.14 ID:q10QaMUD.net]
- >>92
精度付きで比較する テストフレームワークがそういう機能を用意してる
- 94 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 13:59:40.89 ID:ME9URhdt.net]
- >>93
えー一個一個設定すんのー?
- 95 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:10:34.08 ID:6tDTZ4vt.net]
- >>89
> 結合テスト、総合テストを頑張るべきだ 手戻りが大きくて時間がかかりすぎる
- 96 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:11:41.28 ID:6tDTZ4vt.net]
- >>94
お前ならどうするのか言ってみ もしかしてログにでていてそれっぽい値だからOKって 目を凝らして何百個も判断するのか?w
- 97 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:13:18.07 ID:ME9URhdt.net]
- >>96
いや、得に仕様は出てないんでテキトーに判定して欲しいんですが
- 98 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:14:39.69 ID:6tDTZ4vt.net]
- >>88
テストの専門家というのは、テスト技術の専門家であって テスト作業の専門家なんていねーぞw それは単なるテスター。テスト作業してるだけで専門家じゃない ひどい場合は仕様も何も知らないやつが手動でテストしてしてたりするからな テストの効率化?人増やして人海戦術でやることだなみたいに思ってるやつ
- 99 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:16:02.24 ID:6tDTZ4vt.net]
- >>97
テキトーに判定って 12.37499 という間違った 計算結果になってる場合でも場合OKにするってこと?
- 100 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:16:55.57 ID:q10QaMUD.net]
- >>94
一つ一つ指定しない方法もあるよ そういうのもテストフレームワークに用意されてる
- 101 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:17:17.38 ID:ME9URhdt.net]
- >>99
概ね当たり感出てるじゃないですか?
- 102 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:18:58.91 ID:6tDTZ4vt.net]
- >>101
だから、間違った計算結果でも 概ね当たり感出てるからOKにするってことですよね? って聞いてるんですが
- 103 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:19:54.83 ID:ME9URhdt.net]
- >>100
どんな設定よ? 0.99999999999998みたいなのを概ね1.0お判定してくれそう?
- 104 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:20:46.52 ID:9rvIESf7.net]
- ビッグバンテストって今時はやらないの?
- 105 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:22:03.54 ID:6tDTZ4vt.net]
- >>103
> 0.99999999999998みたいなのを概ね1.0お判定してくれそう? 0.99999999999998 を 概ね1.0と判定してほしいの? 0.9999999999998 だった場合は? 0.999999999998 だった場合は? 0.99999999998 だった場合は? 0.9999999998 だった場合は? 0.999999998 だった場合は? 0.99999998 だった場合は? 0.9999998 だった場合は? 0.999998 だった場合は? 0.99998 だった場合は? 0.9998 だった場合は? 0.998 だった場合は? 0.98 だった場合は?
- 106 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:23:23.64 ID:ME9URhdt.net]
- >>105
一番下は最悪だなw
- 107 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:24:39.14 ID:ME9URhdt.net]
- 概ね当たり感わかんねーんだよな自動テスト作ってるやつバカだから
- 108 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:25:43.16 ID:6tDTZ4vt.net]
- >>106
下から2番目は? 下から3番目は? 下から4番目は? 下から5番目は? 下から6番目は? 下から7番目は? 下から8番目は? 下から9番目は? 下から10番目は? 下から11番目は? 下から12番目は? 複数質問してるんだから全部答えてよw
- 109 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:25:50.55 ID:buHis4lt.net]
- >>97
>いや、得に仕様は出てないんでテキトーに判定して欲しいんですが そういう曖昧な仕様だからバグに繋がるんだろうがwwwwwwwwwww 特に浮動小数点の計算なんてよくバグに繋がるから仕様はっきり決めてテストしなきゃダメだろ 桁数どうするかとかね あと数値系のテストってそこまでパターン無いぞ ・一般的な正常値 ・境界値 ・最大値/最小値 ・異常系(メソッドの仕様によって変わる、nullとか空白とか) テストフレームワークには網羅的なテストデータの投入と判定を一気にやってくれるし それぞれでテストコードを書く必要はないぜ
- 110 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:26:19.14 ID:6tDTZ4vt.net]
- >>107
> 概ね当たり感わかんねーんだよな自動テスト作ってるやつバカだから お前にその概ね当たり感を聞いてるのに、その質問に答えられないお前はバカってことになるよ
- 111 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:27:41.32 ID:6tDTZ4vt.net]
- 消費税計算で1円ずれてても概ねおっけー♪
トランザクションが1万件あっても1万円しかずれなーい とかいいそうなんだよなw
- 112 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:29:30.05 ID:ME9URhdt.net]
- やっぱり自動テストは駄目だな
- 113 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:29:41.05 ID:cdg8K9Zm.net]
- >>92
浮動小数点の計算するなら許容誤差ぐらいは理解してからやれよ…
- 114 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:30:27.43 ID:6tDTZ4vt.net]
- >>112
質問に答えられなかったという結末で良いね
- 115 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:33:10.23 ID:buHis4lt.net]
- >>110
というか「概ねオッケー」っていう考え方ってプログラミングだとめちゃくちゃ危険だからな α版とか仕様の仮決め段階だったらまだいいけど、正式リリースの時までその状態にしておくと 絶対にそこ起因のバグか仕様か分からん動きが発生してトラブルになって揉める 当時の議事録とか仕様書の調査に入って悲惨な惨状になるのが良く見える
- 116 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:33:13.10 ID:ME9URhdt.net]
- >>113
いや仕様が出てれば有効桁数いくつか指定すればいいけど 計算式しか出てないやつは直前の複雑な計算に引っ張られてる感しかないんだよなぁ
- 117 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:37:20.82 ID:buHis4lt.net]
- >>116
python辺りのユニットテストフレームワークだと丸め桁まで指定できるから それで満足する? https://docs.python.org/ja/3/library/unittest.html#unittest.TestCase.assertAlmostEqual
- 118 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:38:08.40 ID:cdg8K9Zm.net]
- >>116
引っ張られるとかイミフなこと言われても…
- 119 名前:デフォルトの名無しさん [2020/09/25(金) 14:38:09.18 ID:ycF3TYue.net]
- >>95
単体テスト用意してるから実装がグダグダになるんやで 実装に集中しろ
- 120 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:40:29.77 ID:ME9URhdt.net]
- いや、突っ込んだ引数と理論値から有効桁数勝手に判断しろ
人間ならできる
- 121 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:40:44.40 ID:buHis4lt.net]
- >>119
>単体テスト用意してるから実装がグダグダになるんやで >実装に集中しろ そうやって場当たり的な実装になるから クソみたいなコードが量産されるんだろうが……
- 122 名前:デフォルトの名無しさん [2020/09/25(金) 14:41:04.05 ID:ycF3TYue.net]
- 単体テストに時間割く方が危険
IDEや静的解析があるから単体試験で見つかるようなコーディングミスは ほとんどない、むしろバグの多くは仕様に対する認識不足によるものが多い 結合、総合テストを重視したが良い
- 123 名前:デフォルトの名無しさん [2020/09/25(金) 14:41:45.39 ID:ycF3TYue.net]
- >>121
んなこたーない、単体テストもコードの一部だからバグ増やすだけ
- 124 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:42:28.28 ID:buHis4lt.net]
- >>120
>いや、突っ込んだ引数と理論値から有効桁数勝手に判断しろ >人間ならできる あのそれ、テストした人によって合格の成否が変わりかねないっていう テストとして一番あり得ない事なんだけど理解してる?
- 125 名前:デフォルトの名無しさん [2020/09/25(金) 14:42:30.10 ID:ycF3TYue.net]
- 7Payもドコモ口座も単体テストはちゃんとできてただろw
総合テストを軽視した結果があれ
- 126 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:43:15.68 ID:ME9URhdt.net]
- >>124
だって値2000個以上あるし
- 127 名前:デフォルトの名無しさん [2020/09/25(金) 14:43:24.31 ID:ycF3TYue.net]
- 単体テストはプログラマの自己満、システムの品質をあげないどころか
結合、総合テストの時間を減らしてシステムの品質下げることになってる
- 128 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:44:14.77 ID:qv4TcM/Q.net]
- まーた、仕様を理解しないままテストするとかほざく単体テストを理解してない馬鹿が湧いたのか。
いい加減にしろや。
- 129 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:45:09.32 ID:buHis4lt.net]
- >>126
そういう意味で大変って思ってるなら テストデータ流すして結果が出た後、 その桁数からparseで指定する桁数を決めてから判定すりゃ良い
- 130 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:45:31.29 ID:ME9URhdt.net]
- 2000個どころじゃねーな
変数30個ぐらいのクラス200個以上あるもんな 一個一個有効桁数の設定なんかしてらんねーよ
- 131 名前:デフォルトの名無しさん [2020/09/25(金) 14:46:13.92 ID:ycF3TYue.net]
- 単体テストは自己満、リファクタリングは時間の無駄
- 132 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:48:43.20 ID:buHis4lt.net]
- >>122
>単体テストに時間割く方が危険 >IDEや静的解析があるから単体試験で見つかるようなコーディングミスは >ほとんどない、むしろバグの多くは仕様に対する認識不足によるものが多い >結合、総合テストを重視したが良い は……? いやいやお前は単体テストをなんだと思ってるん? そんなショボい事になんか使わんぞ 仕様を関数レベルにまで落としこんで、その振舞が正しいかを見るのに使うんだぞ むしろ仕様認識不足がバグの原因っていうなら、それこそ単体テスト書かなきゃダメだぞ 特に仕様変更とかでコード修正入れたら回帰テストする必要があるから 単体テストが無いと修正前の担保とれんやん、やべーやつだなお前
- 133 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:51:51.39 ID:qv4TcM/Q.net]
- たしかに単体テストすらできないゴミプログラマーがするリファクタリングは虚無だわな。
まともに設計できないだろうし。
- 134 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:53:14.71 ID:ME9URhdt.net]
- 時間がかかるのでメソッド単位の出力値のテストはなかったことにします
- 135 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:53:57.34 ID:q10QaMUD.net]
- >>125
あれはテストの問題じゃなく仕様の問題 それも仕様のリスクは精査されてたが意思決定者がそのリスクを軽視しただけ よくある話
- 136 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 14:54:34.63 ID:buHis4lt.net]
- 単体テストとかTDDとか全く分からんなら
この動画が一番参考になるから見ておけ https://www.youtube.com/watch?v=Q-FJ3XmFlT8&list=WL&index=4&ab_channel=TDDBC-Online >>133 そもそもリファクタリングって単体テスト有りきじゃね? コードが悲惨すぎて単体テストの実装すら困難って時には リファクタリング→単体テスト→リファクタリング→再テストっていう流れになるけど 基本的には現行動作を保証するために単体テスト実装→リファクタリング→再テストが基本だし
- 137 名前:デフォルトの名無しさん [2020/09/25(金) 14:56:10.10 ID:ycF3TYue.net]
- >>132
単体w 単体で仕様確認する暇あったら結合、総合で確認しろよw 単体で仕様確認できると思ってる方がやべーわwwww テスラのロケット知ってるか? 部品のテスト頑張ったらロケットが飛ぶと思ってそうだなお前
- 138 名前:デフォルトの名無しさん [2020/09/25(金) 14:57:19.88 ID:ycF3TYue.net]
- >>135
総合テストを重視してたらその仕様の問題もはっきりわかったってことだ お前のように単体テスト頑張るやつが開発者だったんだろw よくある話だな
- 139 名前:デフォルトの名無しさん [2020/09/25(金) 14:58:31.75 ID:ycF3TYue.net]
- テスラではシミュレーションをなくして実地で何回もロケット打ち上げること
繰り返して洗練させていったんだよ 単体テストやるやつは所詮ホリエモンロケットなんだよwwwww
- 140 名前:デフォルトの名無しさん [2020/09/25(金) 15:00:33.39 ID:ycF3TYue.net]
- 単体テストとリファクタリングを重視していたのは15年前〜8年前まで
日進月歩で進化するシステム開発の現在の常識は単体テストとリファクタリングを禁止する方向
- 141 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 15:02:31.40 ID:qv4TcM/Q.net]
- >>136
俺の発言は皮肉で言っただけだから、あまり気にせんでくれ。 俺があげたのはまさに、コードが悲惨すぎて単体テストができない例。そういう人達の頭の中では単体テストって無意味なんだろうな(遠い目) って皮肉だから深い意味はない。
- 142 名前:デフォルトの名無しさん [2020/09/25(金) 15:02:39.27 ID:ycF3TYue.net]
- TDDはプログラミング界のマナー講師だからなwwww
ありもしない偽の常識でっち上げて自分が日銭稼ぐのを目的にやってるだけだから
- 143 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 15:10:55.77 ID:buHis4lt.net]
- >>137
あのな? 単体テスト、結合テスト、総合テストもどれも重要なんだよ で、単体テストで扱けるものは結合テスト、総合テストでもこけるんだよ 単体テストで拾えるレベルのものを何度も時間と手間かけて結合・総合テストやる方が気が狂ってるわ >>140 >日進月歩で進化するシステム開発の現在の常識は単体テストとリファクタリングを禁止する方向 で、どこの奴が言ってるの? 常識って言うなら少なくとも本ぐらいは出てるよねー? あ、ファクタリングと単体テストの重要性は大体この辺の本に載ってるぞ ・リーダブルコード ・リファクタリング 既存のコードを安全に改善する(第2版) ・ベタープログラマ ・テスト駆動開発 ・レガシーコード改善ガイド ・レガシーソフトウェア改善ガイド ・レガシーコードからの脱却
- 144 名前:デフォルトの名無しさん mailto:sage [2020/09/25(金) 15:15:51.85 ID:+2VBuIVO.net]
- >>142
お前が一番マナー講師臭がプンプンするぞw しかも説明のしかたに説得力がないからかなり質の低い部類の講師だな
|

|