「単体テストを手動で行いエビデンス取る」の破壊力

2020/09/23(水) 12:29:11.02ID:irsqaiS+
単体テストは自動化するものだと思っていたから
一瞬何を言っているのかわからなかった
2020/09/23(水) 15:38:04.57ID:93RKYZzv
自動化=手抜き
2020/09/23(水) 16:08:31.57ID:C5g/Szna
SIだぁ
2020/09/23(水) 16:09:00.51ID:F6076QMN
手動=努力・根性・体育会系・無能
2020/09/23(水) 16:56:51.63ID:EcLAlZaL
たぶん、手動、自動化以前に単体テストができない人がいる気がする。
2020/09/23(水) 17:43:13.71ID: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)
{
エラー
}

みたいになるの?
無駄じゃね?
2020/09/23(水) 18:00:08.33ID:O1ICXtuo
>>5
指定されたテストケースを実行できない人はそういないだろうが
過不足ないテストケースを作り出すのはむしろできる人のほうが少ない
自動化を阻む一番の要因
2020/09/23(水) 18:10:37.43ID:9Qi89m1Q
>>6
1+2+3+4+5+6 の結果が 21 になってることを確かめるのがテストだろ
なんでテストで変数使うんだよw
95
垢版 |
2020/09/23(水) 19:22:31.50ID:Sj03UQBW
>>7
それな。
4,000行近くの神クラスがあらゆるクラスと相互で強力な依存関係を持っていて、さぁ!単体テストやろう!
って言われても...単体って何だよ(哲学)

こんな感じになる。
いやもう俺の会社やだ。泣きたいわ。
2020/09/23(水) 19:23:12.39ID:cCwBtdaA
>>8
どうやって21って出すん?
2020/09/23(水) 19:28:57.47ID:9Qi89m1Q
>>8
お前は仕様を先に考えないのか?
先にどうなるか答えは決まってるだろ
2020/09/23(水) 19:29:13.20ID:9Qi89m1Q
>>10へのレス
2020/09/23(水) 19:32:38.82ID:cCwBtdaA
>>8
エクセルとかで予め計算しておいた値と比較するんだろ?
俺とやってること変わんなくね?
2020/09/23(水) 19:35:59.63ID:cCwBtdaA
別で書いた計算式と本処理を比較するって点は一緒じゃん
それがエクセルでも処理言語でもやってることに違いなくね?
2020/09/23(水) 19:37:36.63ID:9Qi89m1Q
>>13
テストは、あらかじめわかっている答えと比較することなんですが?

あらかじめわかってるはずの答えを計算するなという話をしてる
その計算ロジックにバグがあったら、テスト(比較)で失敗したとしても
正しい値がなにかわからんだろ
2020/09/23(水) 19:38:38.76ID:cCwBtdaA
>>15
だからどうやって21出すんだよって聞いてんじゃん
何言ってるのかわからないの?
2020/09/23(水) 19:42:40.76ID:9Qi89m1Q
>>16
自分で仕様を考えたこと無いのか?

1,2,3,4,5,6を与えたら21になる関数を作るんだろ
21をだすなら電卓でもなんでも使えよ

電卓が不安なら色んな方法を使って21が正しいと
確信もてるまで努力しろよ

そして21と比較するだろうが、21と比較する場面で
計算式を使ったら今度はその計算式が正しいかを
努力するしかなくなるだろうーが
それこそ意味がない
2020/09/23(水) 19:48:02.82ID:cCwBtdaA
>>17
だからエクセルだか、電卓だか、別で計算した値と比較するだけで
どっちが正しいかなんてわかんねんだろお前w
2020/09/23(水) 19:53:07.37ID:9Qi89m1Q
>>18
どっちが正しいかわからないから
計算式を書くなと言ってる

両方が同じ計算式だったら間違っていてもわからんだろ
片方が固定値であれば、こちらが正しい値であると考えてることがわかる
2020/09/23(水) 19:55:55.85ID:cCwBtdaA
>>19
大して違いないってw
だったらログでも出して変数にしときなよ
2020/09/23(水) 19:57:05.25ID:9Qi89m1Q
>>20
ログ出してどうするんだ?
何が正しいかどうかをどうやって確かめるんだw
2020/09/23(水) 19:58:00.53ID:9Qi89m1Q
テストはロジック(関数)と固定値を比較することでやるという
基本的なことも知らないやつが居るとはなw
2020/09/23(水) 20:00:49.03ID:cCwBtdaA
>>21
固定値が欲しいんだろ?
だからログでも出せばいいじゃんってこと

結局さ
やってることは1つの仕様に対して2つ処理書いてその値を比べてるだけ
別にテストコードに書いた値や処理のが正しい根拠もないし
本処理のが不出来である根拠もないでしょ
2020/09/23(水) 20:03:50.72ID:I97mf4gB
自動でやっても、テストコードとエビデンスのレビューをしろ、という
キチガイもいる
2020/09/23(水) 20:04:30.50ID:cCwBtdaA
俺、この結論はどこまで行っても出ないと思うぜ
どっちが正しいかなんて誰にもわからん
2020/09/23(水) 20:15:06.99ID:9Qi89m1Q
>>23
お前はログに21と出力されているのを見て
これがどうやって正しい答えだって判断するんだ?
正しい答えが21ってわからないって言ったのはお前だろw
2020/09/23(水) 20:16:03.34ID:9Qi89m1Q
>>23
> やってることは1つの仕様に対して2つ処理書いてその値を比べてるだけ

それはお前がやってる無意味なことですよね?w

そんな無意味なことはしないで、
1つの処理と1つの正しい答えを比べろって
俺は言った
2020/09/23(水) 20:17:23.00ID:cCwBtdaA
テストと言いつつできるのは計算過程と処理結果を残すだけだと思ってるよ俺は
長年考えた結果
正しい値なんてのは実は物理的に誰も知りえないということを理解した

なのでテストで重視するのは俺は組んだコードのエビデンスの方
どんな処理書いてどんなログ出したか
自動テストは結局同じやつが作ってる以上同じ不具合入ってるだろうなって思ってるw
2020/09/23(水) 20:22:00.58ID:9Qi89m1Q
> テストと言いつつできるのは計算過程と処理結果を残すだけだと思ってるよ俺は

処理結果を残すだけというのは
間違った処理結果を残していてもいいって話ですか?w

そうですね。お前はログ取るまでで
そのログを見るのは他の人ですもんね(笑)


こいつに、盗まれないように見ててって言ったら
盗まれました。ちゃんと見てました。って言いそうw
2020/09/23(水) 20:28:09.64ID:cCwBtdaA
>>29
うん
だってさっきの21みたいにどこまで突き詰めたって
同じ仕様に対して別で2つ処理書いて比較してるだけだもの
んでこれを同じやつがやってる以上こんなところに金なんかかけるだけ無駄
2020/09/23(水) 20:35:36.21ID:9Qi89m1Q
>>30
論点がずれてるね。

お前はログを見て21であることを知って
あとからこの21は正しいのだろうか?と考えて判断すると言ってる。
どうやって21が正しいか判断するの?w

俺は、最初に21が正しいと確信を持ってコードに書いてると言ってる。
だからお前がやってるログを取るだとかログを見るだとかいう無駄な作業がいらない
2020/09/23(水) 21:34:22.05ID:O1ICXtuo
世の中にはテストケース1個作ることすらできない人もいるんだな
これは驚いた
2020/09/23(水) 21:58:03.76ID:cCwBtdaA
>>31
確信ってw
無理なこと言うなよw

お前が本処理に書いたA+B+C+D+E+Fも
21を出すために書いたA+B+C+D+E+Fも
どっちも胡散臭ぇんだよw

こんな簡単なことがわからねーのかよ
2020/09/23(水) 21:58:08.70ID:9Qi89m1Q
ある関数を作ったその関数は
1, 2, 3 という引数を与えると3421という値がログに出力された

「これが書いたコードにバグなんてあるはずがない。3421は正しい計算結果だ。」

そういってログを取れば十分とつぶやいた
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況