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