- 1 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 12:29:11.02 ID:irsqaiS+.net]
- 単体テストは自動化するものだと思っていたから
一瞬何を言っているのかわからなかった
- 2 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 15:38:04.57 ID:93RKYZzv.net]
- 自動化=手抜き
- 3 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 16:08:31.57 ID:C5g/Szna.net]
- SIだぁ
- 4 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 16:09:00.51 ID:F6076QMN.net]
- 手動=努力・根性・体育会系・無能
- 5 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 16:56:51.63 ID:EcLAlZaL.net]
- たぶん、手動、自動化以前に単体テストができない人がいる気がする。
- 6 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 17:43:13.71 ID:qBH8cAxU.net]
- 自動化って
メソッドsumAtoFの場合 引数A,B,C,D,E,Fの 処理S=A+B+C+D+E+F 戻り値S のチェックって int S=sumAtoF(A,B,C,D,E,F); int chkS=A+B+C+D+E+F; if(S!=chkS) { エラー } みたいになるの? 無駄じゃね?
- 7 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 18:00:08.33 ID:O1ICXtuo.net]
- >>5
指定されたテストケースを実行できない人はそういないだろうが 過不足ないテストケースを作り出すのはむしろできる人のほうが少ない 自動化を阻む一番の要因
- 8 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 18:10:37.43 ID:9Qi89m1Q.net]
- >>6
1+2+3+4+5+6 の結果が 21 になってることを確かめるのがテストだろ なんでテストで変数使うんだよw
- 9 名前:5 mailto:sage [2020/09/23(水) 19:22:31.50 ID:Sj03UQBW.net]
- >>7
それな。 4,000行近くの神クラスがあらゆるクラスと相互で強力な依存関係を持っていて、さぁ!単体テストやろう! って言われても...単体って何だよ(哲学) こんな感じになる。 いやもう俺の会社やだ。泣きたいわ。
- 10 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:23:12.39 ID:cCwBtdaA.net]
- >>8
どうやって21って出すん?
- 11 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:28:57.47 ID:9Qi89m1Q.net]
- >>8
お前は仕様を先に考えないのか? 先にどうなるか答えは決まってるだろ
- 12 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:29:13.20 ID:9Qi89m1Q.net]
- >>10へのレス
- 13 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:32:38.82 ID:cCwBtdaA.net]
- >>8
エクセルとかで予め計算しておいた値と比較するんだろ? 俺とやってること変わんなくね?
- 14 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:35:59.63 ID:cCwBtdaA.net]
- 別で書いた計算式と本処理を比較するって点は一緒じゃん
それがエクセルでも処理言語でもやってることに違いなくね?
- 15 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:37:36.63 ID:9Qi89m1Q.net]
- >>13
テストは、あらかじめわかっている答えと比較することなんですが? あらかじめわかってるはずの答えを計算するなという話をしてる その計算ロジックにバグがあったら、テスト(比較)で失敗したとしても 正しい値がなにかわからんだろ
- 16 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:38:38.76 ID:cCwBtdaA.net]
- >>15
だからどうやって21出すんだよって聞いてんじゃん 何言ってるのかわからないの?
- 17 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:42:40.76 ID:9Qi89m1Q.net]
- >>16
自分で仕様を考えたこと無いのか? 1,2,3,4,5,6を与えたら21になる関数を作るんだろ 21をだすなら電卓でもなんでも使えよ 電卓が不安なら色んな方法を使って21が正しいと 確信もてるまで努力しろよ そして21と比較するだろうが、21と比較する場面で 計算式を使ったら今度はその計算式が正しいかを 努力するしかなくなるだろうーが それこそ意味がない
- 18 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:48:02.82 ID:cCwBtdaA.net]
- >>17
だからエクセルだか、電卓だか、別で計算した値と比較するだけで どっちが正しいかなんてわかんねんだろお前w
- 19 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:53:07.37 ID:9Qi89m1Q.net]
- >>18
どっちが正しいかわからないから 計算式を書くなと言ってる 両方が同じ計算式だったら間違っていてもわからんだろ 片方が固定値であれば、こちらが正しい値であると考えてることがわかる
- 20 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:55:55.85 ID:cCwBtdaA.net]
- >>19
大して違いないってw だったらログでも出して変数にしときなよ
- 21 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:57:05.25 ID:9Qi89m1Q.net]
- >>20
ログ出してどうするんだ? 何が正しいかどうかをどうやって確かめるんだw
- 22 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:58:00.53 ID:9Qi89m1Q.net]
- テストはロジック(関数)と固定値を比較することでやるという
基本的なことも知らないやつが居るとはなw
- 23 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 20:00:49.03 ID:cCwBtdaA.net]
- >>21
固定値が欲しいんだろ? だからログでも出せばいいじゃんってこと 結局さ やってることは1つの仕様に対して2つ処理書いてその値を比べてるだけ 別にテストコードに書いた値や処理のが正しい根拠もないし 本処理のが不出来である根拠もないでしょ
- 24 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 20:03:50.72 ID:I97mf4gB.net]
- 自動でやっても、テストコードとエビデンスのレビューをしろ、という
キチガイもいる
- 25 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 20:04:30.50 ID:cCwBtdaA.net]
- 俺、この結論はどこまで行っても出ないと思うぜ
どっちが正しいかなんて誰にもわからん
- 26 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 20:15:06.99 ID:9Qi89m1Q.net]
- >>23
お前はログに21と出力されているのを見て これがどうやって正しい答えだって判断するんだ? 正しい答えが21ってわからないって言ったのはお前だろw
- 27 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 20:16:03.34 ID:9Qi89m1Q.net]
- >>23
> やってることは1つの仕様に対して2つ処理書いてその値を比べてるだけ それはお前がやってる無意味なことですよね?w そんな無意味なことはしないで、 1つの処理と1つの正しい答えを比べろって 俺は言った
- 28 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 20:17:23.00 ID:cCwBtdaA.net]
- テストと言いつつできるのは計算過程と処理結果を残すだけだと思ってるよ俺は
長年考えた結果 正しい値なんてのは実は物理的に誰も知りえないということを理解した なのでテストで重視するのは俺は組んだコードのエビデンスの方 どんな処理書いてどんなログ出したか 自動テストは結局同じやつが作ってる以上同じ不具合入ってるだろうなって思ってるw
- 29 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 20:22:00.58 ID:9Qi89m1Q.net]
- > テストと言いつつできるのは計算過程と処理結果を残すだけだと思ってるよ俺は
処理結果を残すだけというのは 間違った処理結果を残していてもいいって話ですか?w そうですね。お前はログ取るまでで そのログを見るのは他の人ですもんね(笑) こいつに、盗まれないように見ててって言ったら 盗まれました。ちゃんと見てました。って言いそうw
- 30 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 20:28:09.64 ID:cCwBtdaA.net]
- >>29
うん だってさっきの21みたいにどこまで突き詰めたって 同じ仕様に対して別で2つ処理書いて比較してるだけだもの んでこれを同じやつがやってる以上こんなところに金なんかかけるだけ無駄
- 31 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 20:35:36.21 ID:9Qi89m1Q.net]
- >>30
論点がずれてるね。 お前はログを見て21であることを知って あとからこの21は正しいのだろうか?と考えて判断すると言ってる。 どうやって21が正しいか判断するの?w 俺は、最初に21が正しいと確信を持ってコードに書いてると言ってる。 だからお前がやってるログを取るだとかログを見るだとかいう無駄な作業がいらない
- 32 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 21:34:22.05 ID:O1ICXtuo.net]
- 世の中にはテストケース1個作ることすらできない人もいるんだな
これは驚いた
- 33 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 21:58:03.76 ID:cCwBtdaA.net]
- >>31
確信ってw 無理なこと言うなよw お前が本処理に書いたA+B+C+D+E+Fも 21を出すために書いたA+B+C+D+E+Fも どっちも胡散臭ぇんだよw こんな簡単なことがわからねーのかよ
- 34 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 21:58:08.70 ID:9Qi89m1Q.net]
- ある関数を作ったその関数は
1, 2, 3 という引数を与えると3421という値がログに出力された 「これが書いたコードにバグなんてあるはずがない。3421は正しい計算結果だ。」 そういってログを取れば十分とつぶやいた
- 35 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 21:59:03.06 ID:9Qi89m1Q.net]
- >>33
俺はそんなコード書いてないが? こんな簡単なことがわからねーのかよw IDも確認できねーのかよw
- 36 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 02:54:46.05 ID:2iTMkqwR.net]
- >>35
え?じゃあどうやって21出したん?
- 37 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 08:29:50.90 ID:o9SDcriM.net]
- >>7
んなプログラマーってどうやって仕事をしてんだろう?
- 38 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 09:17:28.17 ID:27/WCIy4.net]
- >>36
あのな、ソフトウェアの開発っていうのは ○○を入れたら○○になる関数が欲しい! という考えの連鎖で作っていくんだよ お前は誰かから課題を与えられるんだろうけどな 自分で考えて作るってことしたことないでしょ
- 39 名前:デフォルトの名無しさん [2020/09/24(木) 10:23:36.26 ID:ZK3wgiUi.net]
- 作って終わりのシステムだったら手動でも問題ないと思う
Sierのユーザはテストのエビデンスを欲しがる人が多いから エビデンスは納品物として残さないといけない 開発者よりもユーザ側の事情が大きいのじゃないかな
- 40 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 10:28:05.64 ID:27/WCIy4.net]
- 客「正しく動いているというエビデンスが欲しい」
SI「正しく動いてるかどうかなんてどうやって証明したらいいかしらん テストやったというスクショ用意すりゃいいんじゃないか?」 これ
- 41 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 10:41:05.69 ID:2iTMkqwR.net]
- そうそう、結局こういう入力(ユーザによる操作や設定ファイルも含む)に対してこう動くようにしましたよ
としか言えない だからエビデンスが重要だって言ってんじゃん 21が正解かどうかは誰にもわからないんだよ もっと複雑な計算で客も式は知ってるけど 実際に計算した値はわからんようなのだったらどうやって出すよ? PG「大丈夫、エクセルで数式でこのように出した値と一致しています!」 客「は?なんでそれが正しいの?」 PG「え?」 みたいになるやつはここの理解が足りない どこまで突き詰めても究極的にはわからない わからないものを説明しなければならない
- 42 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 10:45:22.65 ID:27/WCIy4.net]
- > 21が正解かどうかは誰にもわからないんだよ
じゃあログ出す意味ないじゃんw どうせ文字化け出力してても正解かどうかわからないだろ
- 43 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 10:47:21.97 ID:27/WCIy4.net]
- > もっと複雑な計算で客も式は知ってるけど
> 実際に計算した値はわからんようなのだったらどうやって出すよ? 計算式は神が作り出したものとか、いきなり湧いて出てきたって思ってそうw 高校レベルの数学はそうだね。計算式は覚えるもの だけどな、本当は計算式っていうのは、ある値を出したいと思って 「計算式を作る」ものなんだよ。作るのは計算式。それがコード
- 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
一つ一つ指定しない方法もあるよ そういうのもテストフレームワークに用意されてる
|

|