クソコードとは何かat TECH
クソコードとは何か - 暇つぶし2ch191:デフォルトの名無しさん
21/02/13 00:31:53.43 xw8mV6Gs.net
>>186
テストコード1000個書いて、1回あたり数秒でテストを終わらせる
手動で1000個のテストを数日かけてやって、バグがあったらまた数日かけて1000個のテストをやる
どっちが速いかって、明らかにテストコードじゃんw

192:デフォルトの名無しさん
21/02/13 00:32:35.09 xw8mV6Gs.net
テストコード不要って言ってるやつは
手動のテストにかかる時間を考慮してないってのがわかったなw

193:デフォルトの名無しさん
21/02/13 00:33:24.95 gxnJuOwS.net
>>187
もうバリバリヤバイ時間かかりそうだなw
これは何納品するなら許される重厚感?w

194:デフォルトの名無しさん
21/02/13 00:33:38.50 xw8mV6Gs.net
テスト作業の時間を減らすためにテストコードを書くってことを
理解してないってのが驚きだったわw

195:デフォルトの名無しさん
21/02/13 00:35:20.12 xw8mV6Gs.net
>>191
手動のテストは時間がかかるよ
テスト仕様書を書く→テスト仕様書のレビューする
この時点でテストコードのレビューをしたほうが速いんだが
しかも手動テストの場合テスト仕様書のレビューがOKでも
実際に作業者がその仕様書通りにテストしてることが担保できない
テストしたけどちゃんとテストできてませんでしたってのが頻発する

196:デフォルトの名無しさん
21/02/13 00:35:34.83 gxnJuOwS.net
あ、はい、もういいですw

197:デフォルトの名無しさん
21/02/13 01:16:16.14 uGwTnb+S.net
テストコード書かない奴にはどれだけ説明しても大抵無駄。
あいつら野菜毛嫌いするホリエみたいなもんだから。

198:デフォルトの名無しさん
21/02/13 01:24:52.43 zYMuRkWP.net
テストコードが何故正しいと言えるのか?
こんなもの作る工数は含まれてないし
単体テストなんかやらんからな(笑)
やりたいならテスターが書けよ(笑)
結合やらやればどうせバグがあれば出るんだし、まさかとは思うけどテストコード教の奴は単体だけで品質が担保されてますとか言うのか?(笑)
コミットした時点で動作チェックぐらいしてるやろ
なんか最近の出来ない奴はテストコード以前に動かないものを平気でコミットするからな

199:デフォルトの名無しさん
21/02/13 05:47:34.87 scVpGKPS.net
テストコードなかったらテスト作業に膨大な時間がかかるって話だろ?
テスト作業にかかる時間を無視するなよ

200:デフォルトの名無しさん
21/02/13 05:50:27.48 scVpGKPS.net
>>196
> なんか最近の出来ない奴はテストコード以前に動かないものを平気でコミットするからな
開発にテストの時間を含めてないからでしょ?w

201:デフォルトの名無しさん
21/02/13 09:16:03.51 gxnJuOwS.net
>>197
比較するのもバカらしい
テストコード書いてる時間に5回はできそうだなw

202:147
21/02/13 09:47:02.97 9XqVPVy+.net
いつの間にか盛り上がっててワロタ
流れを読まずに言わせてもらうと
テストコードって趣味で書くわけじゃなくて、品質を維持するため或いは開発費の無駄を無くすために書くものなんだぜ

203:デフォルトの名無しさん
21/02/13 09:52:35.14 32jiSkKt.net
テストコード頑張るぐらいなら結合テストで頑張ればいいじゃんどうせ画面絡みとかの方がバグ多いし

204:147
21/02/13 09:54:50.29 9XqVPVy+.net
>>201
テストコードを書けば、ビルドする度にテストが自動的に実行される
これが強み
手動で動作確認もやるけど、テストコードはあくまでのソースコードの質をチェックするための工程だし、目的が違う

205:デフォルトの名無しさん
21/02/13 10:01:23.85 32jiSkKt.net
>>202
目的が違うのは分かるけどテストコード書くコストも結合テストにかかるコストも両方出せるないなら結合テスト頑張る、又はseleniumとかでそっちの自動化頑張った方がコスパいのかなと

206:147
21/02/13 10:03:01.57 9XqVPVy+.net
あと、俺は画面がらみのテストも自動化してるよ
タッチとかの操作をテストフレームワークを使ってコンピュータにやらせてる
だから、同じテストを手作業でやらずに済む
最終チェックは念の為手作業でやるけど、バグが直るまで何百回でも自動的にテストができるのが強み
まぁ、それができない事情も知らないことはないけどね...static上司...ウッ頭が

207:デフォルトの名無しさん
21/02/13 10:04:08.61 gxnJuOwS.net
>>201
俺もそう思う
結合で頑張ろうよね
こんなのそもそもスタンドアロンでなんか動くに決まってんじゃん

208:147
21/02/13 10:07:00.21 9XqVPVy+.net
>>203
不具合はなるべく早く見つけ出した方が修正が楽
もしも、手動テストで不具合が発覚しても原因分析に時間がかかってしまうから...そこが問題
一方、テストコードだと行レベルで不具合の箇所がわかる
まぁ、単体テストをすり抜けることもあるから手動チェックもするが...

209:147
21/02/13 10:13:57.11 9XqVPVy+.net
まぁ、現場判断が一番だ
今、テストコードを書いても無駄だと感じるのなら、その通りなのだろう
ただ、へぇー
そんな職場もあるんだー程度に参考にしてくれれば

210:147
21/02/13 10:26:37.18 9XqVPVy+.net
ごめん、Selenium無視してた
まぁ、ほとんどUIとフレームワークのコードしか書かないのならテストコードを書こうとしても何をテストすればいいんだよwってなるかも

211:デフォルトの名無しさん
21/02/13 11:17:00.74 scVpGKPS.net
>>201
テストコードでできるようなことを、結合テストで全部やるとかアホだろw
結合テストにどれだけ時間がかかると思ってるんだ?

212:デフォルトの名無しさん
21/02/13 11:18:03.19 scVpGKPS.net
>>205
> 結合で頑張ろうよね
なんで同じことを時間がかかる方法でやろうとするの?
時間泥棒が目的なわけ?

213:デフォルトの名無しさん
21/02/13 11:19:19.42 scVpGKPS.net
>>199
> テストコード書いてる時間に5回はできそうだなw
テスト回数5回って少なすぎるだろw
5個のバグを1個ずつテストしたら終わりじゃんw

214:デフォルトの名無しさん
21/02/13 11:29:32.31 PYtZn7CJ.net
> 結合やらやればどうせバグがあれば出るんだし
とか言ってるやつに単体テストの重要性を説いても無駄
何回か痛い目に会えばいいんだけど無職みたいだからそれも無理だしw

215:デフォルトの名無しさん
21/02/13 11:53:52.62 gxnJuOwS.net
>>212
いや、もし単体で動いたとしてもUIがどういうタイミングでどの頻度で欲しいのか?
よくわかってないんだよ
奴らバカだから
どうせ進捗率出せないと困るとか
中断とリスタートができないと駄目だとか
うっせからそんな決まらねぇぞどうせ

216:デフォルトの名無しさん
21/02/13 15:05:52.87 scVpGKPS.net
単体テストの重要性がわからなくても
テスト時間がどれくらいかかるかぐらいわかると思うがな
何日かけて総合テストしてますか?

217:デフォルトの名無しさん
21/02/13 15:06:38.25 scVpGKPS.net
何日かけて結合テストしてますか?

218:デフォルトの名無しさん
21/02/13 15:10:25.52 scVpGKPS.net
全部結合テストでやればいいって言ってるやつは
結合テストも適当にしかしてないだろうな
数ヶ月かけて開発して、まとめて2、3回テストをするとかそんな感じだろ
時間がかかってそれ以上やれるわけがないんだから

219:デフォルトの名無しさん
21/02/13 16:01:22.66 ePSMeSNb.net
テスト対象がテスト済みのオープンソースライブラリだらけだったら、テストコードを書かないのはわかる
まぁ、ごりごりドメインロジックを記述する人がテストコードは不要とか言うと困るけど

220:デフォルトの名無しさん
21/02/13 16:05:55.90 scVpGKPS.net
テストコードを書かないでいいなら
テストもしないでいいってことになるんだが?

221:デフォルトの名無しさん
21/02/13 16:07:53.04 ePSMeSNb.net
>>218
まぁ、落ち着け
あと、誰に言ってる?

222:デフォルトの名無しさん
21/02/13 19:53:19.20 EpdeqUps.net
テストがどうよりクソコードを語れよ

223:デフォルトの名無しさん
21/02/13 20:16:55.86 Hi5efe9w.net
テストはビジネスロジックだけ書くのが普通

224:デフォルトの名無しさん
21/02/13 20:17:28.48 Hi5efe9w.net
プロが作ったなら要らない

225:デフォルトの名無しさん
21/02/14 18:52:08.05 UVTry2j6.net
開発者達とリーダー「単体テスト?テストコード?そんなのやっても開発費が無駄にかかる」
リーダー「開発者全員のコードを結合ッ!」
開発者達「ぐぁあああああ!!!」
リーダー「ど、どうした!?」
開発者達「4,294,967,295項目の不具合が発生した!しかも、どこのコードで不具合が起きてるのかよくわからん!!」
リーダー「お、お前ら落ち着け!」
リーダー「そ、そうだ...こんな時こそリファクタリングだ!」
リーダー「開発メンバーッ!開発メンバー全員集まれ!!」
リーダー「お前らッ!ここに4,294,967,295項目の不具合内容を書いた!各自、怪しいところを直せ!いいなッ!?」
リーダー「一斉に治すぞ...!いっせーのーせ...!」
開発者達「ぐぁあああああ!!今度はさっきと違う不具合が74,173,389,081ヶ所で発生したぁああああああああ!!」
リーダー「何やっとんじぁあああああ!!!お前らぁぁぁあああ!」
リーダー「ヤバイ!プロジェクトが炎上した!!」
全員「ぐぁぁぁあああああ!!」
→(チーン)

226:デフォルトの名無しさん
21/02/14 18:55:55.94 UVTry2j6.net
ということを懸念してるからこのスレで単体テスト&テストコードの話で盛り上がったのだろう(たぶん)

227:デフォルトの名無しさん
21/02/14 21:04:14.19 D24G58JB.net
なんかこれ面白いの?

228:デフォルトの名無しさん
21/02/14 23:30:53.36 Xb0b89w4.net
テストコードを書く時間 vs テストコードを書かない時間
で比べてるからアホなんだよなw
「テストコードがある場合のテストする時間」
vs
「テストコードがない場合のテストする時間」
テストする時間で比べないと意味がないだろ
テストコードがないと何千回(例 1日15回×3ヶ月)とかテストやってられない
テストコード書いて90%のバグを修正していれば
何日もかかるような手動テストは10%だけでよくなる
バグ修正時のエンバグも防げる

229:デフォルトの名無しさん
21/02/15 00:43:29.18 JE19der5.net
まさかテストコード書く書かないでこれほど盛り上がるとは

230:デフォルトの名無しさん
21/02/15 01:20:08.98 89MhGAsi.net
>>226
でそのテストコードは何故必ず正しいと言えるの?
そもそもまともなコード書ける人は単体なんかやる必要無いんだよね
その後のテストは結局手動やろ

231:デフォルトの名無しさん
21/02/15 02:53:39.67 P+hwD+is.net
>>228
これはひどいw

232:デフォルトの名無しさん
21/02/15 04:33:13.60 uhj1tPkS.net
>>228
正しいと言えるかどうかじゃなくて、
やったテストがちゃんと再現できるのが重要
テストした?→やりました、ほら証拠のスクショがあります!
いやスクショあったって、手順間違えてたら意味ないでしょ
これを防ぐためにある
手動で数千もあるテストを間違いなく実行できるんか?
そしてそれを短時間で再実行できるんか?
手動だとテストに時間がかかってしょうがないと言ってるだろ

233:デフォルトの名無しさん
21/02/15 07:21:34.31 KYanFmnG.net
>>230
エビデンス(エクセルにスクショ貼り付け)とってその後Gitに更新がなければそれで終わりや
実行なんてできる必要ないでどうせ時間が経ったらWindows Updateで動かんなるし

234:デフォルトの名無しさん
21/02/15 07:24:49.59 KYanFmnG.net
>>230
そもそもそれWindows Update後も動くんか?
動かんとき、その動かん原因がWindows Updateの類やライブラリ更新の類なのか元から動かんのか
テストコードしか書いてないとき判別できるんか?
できないならスクショもとってもらうで

235:デフォルトの名無しさん
21/02/15 07:42:37.58 l6UtloU6.net
>>226
だから
>> 結合やらやればどうせバグがあれば出るんだし
>とか言ってるやつに単体テストの重要性を説いても無駄
なのよ
リグレッションテスト?なにそれ?美味しいの?
って言う現場は実存する

236:デフォルトの名無しさん
21/02/15 08:51:23.20 rF3y723p.net
>>228
ネタで書いたであろう>>223をマジでやってそう

237:デフォルトの名無しさん
21/02/15 09:34:53.84 KYanFmnG.net
ていうか単体テストコードを起こせる設計書や仕様書が重要なんであって
単体テストコードすらWindows Updateの前には無力よな
やっぱりドキュメントが重要なんだよ

238:デフォルトの名無しさん
21/02/15 10:20:12.92 JE19der5.net
よくわかってないんだけど、windows updateが単体テストにどう関係してくるの?

239:デフォルトの名無しさん
21/02/15 10:30:33.84 l6UtloU6.net
単体テストをアプリかなんかと勘違いしてるんじゃねw
むしろWindows updateの時なんかに威力を発揮するんだけどね

240:デフォルトの名無しさん
21/02/15 11:07:38.83 rF3y723p.net
プラットフォームの仕様がwinアップデートで変わったせいで不具合がでるってこと?
もし、それが当たり前だと思っているのなら認識を改めた方がいいよ
単体テストしろ

241:デフォルトの名無しさん
21/02/15 13:48:53.21 89MhGAsi.net
テストコード厨って結局そのテストコードが正しいか証明出来ない上に
書くのが当たり前と脳死しているだけというwww
マジでいらんから
その程度の脳だから底辺プログラマーから抜け出せないのだよw

242:デフォルトの名無しさん
21/02/15 14:52:00.93 K9nFtIWr.net
>>239
> テストコード厨って結局そのテストコードが正しいか証明出来ない上に
→算数のテスト問題は間違ってるかもしれないから算数のテストは無意味と同じ主張
> 書くのが当たり前と脳死しているだけというwww
→脳死してるのお前じゃね?
> マジでいらんから
→お前がいらん
> その程度の脳だから底辺プログラマーから抜け出せないのだよw
→お前だろ

243:デフォルトの名無しさん
21/02/15 15:05:46.19 Yv9X0Du7.net
>>239
手動で実行してるテストのテストケースが正しいかどうかどうやって証明するの?

244:デフォルトの名無しさん
21/02/15 17:45:20.19 PMcPEWsf.net
>>231
> エビデンス(エクセルにスクショ貼り付け)とってその後Gitに更新がなければそれで終わりや
いつにエビデンス取るんだよ?
テストしたあとにエビデンス取るんだよな?
つまりテストでバグが出ることがあるだろ
そのバグを修正するんだから、エビデンス取った後に更新あるだろ
エビデンスとってgitに更新ないときは
テストですべてOKだったときしかありえないだろ
何いってんだお前

245:デフォルトの名無しさん
21/02/15 17:47:48.67 PMcPEWsf.net
>>232
> そもそもそれWindows Update後も動くんか?
Windows Update後動かなかったらどうするんだよ?
修正しないのかよ?
テストする時に時間がかかるのは
全部を手動テストするのか
一部だけ手動テストして残りはテストコードによる自動再テストなのか
どっちのほうが時間かかるのか言ってみて
もちろん手動テストは全部スクショ取ってもらうで(笑)

246:デフォルトの名無しさん
21/02/15 17:48:47.87 PMcPEWsf.net
>>239
> テストコード厨って結局そのテストコードが正しいか証明出来ない上に
手動テストでテスト内容が正しいか証明する方法と同じ方法が使える
手動テストでテスト内容が正しいか証明する方法を言え

247:デフォルトの名無しさん
21/02/15 18:20:53.42 g92MWppk.net
客:何もしてないのに動かなくなりました!
(アプデは勝手にされてても気付かないパターン)

248:デフォルトの名無しさん
21/02/15 18:22:26.23 Y9YOwFs/.net
今から手動テストしますので1ヶ月ぐらいかかります
なにせ手動ですからね。ふっふっふ

249:デフォルトの名無しさん
21/02/15 18:27:58.41 c7rUji35.net
>>241
>>244
たぶん、まともなテストコードが書けない...そもそも、まともなクラス設計ができないから、そういう疑問を抱くんじゃないかな
>>76で、クソコード事例として挙げたコードみたいなクラス設計とかしてそう

250:デフォルトの名無しさん
21/02/15 18:30:00.42 2XXTIbH8.net
こんな単体テスト仕様書厨が居るんだからそりゃ老害老害言われるよ
頼むから60代だと言ってくれ
同じ世代にこんなん居たら怒鳴り散らすわ

251:デフォルトの名無しさん
21/02/15 18:47:28.42 c7rUji35.net
29だけど
誤解があったかもしれないから確認するけど、単体テスト仕様厨って何?
俺は必要だから単体テストの自動化を導入しているだけだけど、何か問題がありました?

252:デフォルトの名無しさん
21/02/15 21:37:06.55 SG2OCcUu.net
おまえらはすぐそうやって議題からすら遠ざかってしまうんよ
何かと何かの区別がつかない
手段が目的化してても平気

253:デフォルトの名無しさん
21/02/15 21:37:32.45 KYanFmnG.net
やっぱり単体テストはいいや
なんかやろうとか言ってた奴の手が一番遅いし

254:デフォルトの名無しさん
21/02/15 22:11:38.03 89MhGAsi.net
>>240
底辺が大発狂(笑)
こういう奴ってテストコード(笑)書いているのに低品質なクソコードしか書けない上にバグっているのに
テストコードが通ったから大丈夫とか平気で言いそう(笑)
こういうゴミが残業して給料だけはいいんだよな
優秀な奴は残業なんかしないしな

255:デフォルトの名無しさん
21/02/15 22:12:41.79 Y9YOwFs/.net
手動テストってテストした結果が曖昧なんだよな
「ちゃんと動くこと」
複数ある結果を全て書いてるところなんて見たことない

256:デフォルトの名無しさん
21/02/15 22:13:42.37 Y9YOwFs/.net
>>252
実際には「手動テストしたから大丈夫」なんだろ?
何が大丈夫なのか全くわからない
スクショだけじゃ、データベースの中身なんてわからんだろうに

257:デフォルトの名無しさん
21/02/15 22:44:18.63 l6UtloU6.net
>>239
> テストコード厨って結局そのテストコードが正しいか証明出来ない
もちろん完全にはできない
ただ単体テストのコードって
・値の設定
・被テストコードの呼出
・戻り値等のチェック
だから個々のテストコードは短いし普通は分岐ロジックないからレビューでバグを摘出するのは容易
もちろんそれでもテスト項目数は膨大なのでテストコードのステップ数もバカにならないからバグは作り込まれる
ただ作り込まれたテストコードのバグの大半はテスト失敗の形で現れるので修正することでバグを排除できる

258:デフォルトの名無しさん
21/02/15 22:55:52.85 Y9YOwFs/.net
それで手動テストで、やったテストが正しいか証明する方法はまだ?
スクショは正しいか証明する方法ではない

259:デフォルトの名無しさん
21/02/16 01:08:46.04 1bhKa/Av.net
なんか時間かかりすぎるよね

260:デフォルトの名無しさん
21/02/16 09:37:52.92 4/kXXcg7.net
唐突に「底辺」って言葉を使う人は大抵、底辺コンプレックスを抱えている奴だから>>256に反論はできない
だって底辺だから

261:デフォルトの名無しさん
21/02/16 09:42:16.10 JE34XZEs.net
>>258
底辺と自覚しているようで(笑)
そもそも単体テストなんていらないから
その後のテストで何もなければokだろ
証明とかテストという形式でやらないし残さないのだから(笑)
クソプログラマは必死でテストコード書いて通ってるから安心(笑)と思って後のテストでボコボコに指摘されそもそも仕様すらまともに理解してなかった(笑)ということが日常茶飯事やろ

262:デフォルトの名無しさん
21/02/16 10:20:55.15 IR9INNCG.net
>>259
お前の底辺コンプレックスとお前の日常とかどうでもいいから質問に答えたら?
その後のテストが正しいことってどうやって証明するんだ?
>>228書いたのお前だろ?

263:デフォルトの名無しさん
21/02/16 10:29:37.64 ZcpmZlC/.net
>>259
> その後のテストで何もなければokだろ
だからその後にやった手動テストが正しくテストしたと
どうやって証明するんだって聞いてるんだが?

264:デフォルトの名無しさん
21/02/16 10:31:18.03 ZcpmZlC/.net
>>259
テストコードない人は、仕様をわかってないで完成しましたって言って
その後の手動テストで、ボロクソに言われるだろw

265:デフォルトの名無しさん
21/02/16 12:51:04.85 IR9INNCG.net
> クソプログラマは必死でテストコード書いて通ってるから安心(笑)と思って後のテストでボコボコに指摘されそもそも仕様すらまともに理解してなかった(笑)ということが日常茶飯事やろ
修復不可能なクソコードを必死にテストしてそうだなコイツw
お前のコードは今更、単体テストしても手遅れだから諦めろ
他のお前らは、こんなふうにならないように最初からテストを自動化して、常に品質を保証できるようにしておけよ

266:デフォルトの名無しさん
21/02/16 14:36:40.86 JE34XZEs.net
>>263
お前と違って結合やらその後のテストで俺が作ったものは、ほとんどバグなんて無いんだよ
要望がでて対応するくらい
お前の場合はスキルが低過ぎてバグだらけな上に仕様すら満たしてないものしか作れないだろ(笑)
こういう奴のことを俺はマイナスしか生産しないゴミとよんでる(笑)

267:デフォルトの名無しさん
21/02/16 14:48:04.48 hLN/ZNLb.net
と妄想する底辺であった

268:デフォルトの名無しさん
21/02/16 14:53:04.38 1bhKa/Av.net
今の所一箇所しか当たったことないな
単体テストの自動テスト
すげー無駄作業感すごかった

269:デフォルトの名無しさん
21/02/16 14:53:52.36 OZpOEjmI.net
>>264
底辺コンプレックス君、さっきからなんで>>260>>261の質問を無視するの?
オブジェクト指向アンチのイキリ底辺君と同じ匂いがする

270:デフォルトの名無しさん
21/02/16 14:57:32.28 YiD3bxyB.net
>>266
なぜ、無駄だと思ったのか理由を述べてほしい
興味がある

271:デフォルトの名無しさん
21/02/16 15:05:00.94 QovxsXZg.net
いいんじゃないの、優秀な人が揃っててバグがないならサイコーやん
超優秀なグーグルの技術者さんが単体テストツールとか作ってるのが現実だけどw

272:デフォルトの名無しさん
21/02/16 15:26:10.69 1bhKa/Av.net
>>268
ソースに基づいて機械的に書いてるだけでテストが何のテストにもなってないことが多かったとかじゃなくて
すべてのテストコードがそうなった
少なくとも網羅されてなくては意味がないので
複雑な分岐のあるコードを通すときは同じコードをテストコードに貼り付けてすべての取りうる値をループで回すように組んだ
switch caseのような文ね
それの更に上の階層のコードも
結局subルーチンの取りうる値が結局わからないというか数が多過ぎていちいち調べて�


273:轤黷ネいので サブルーチンのテストコードを貼り付けてさらに本ルーチンのテストを加える形で追加していった こんな手順でやるので一番うえの階層に行く頃には超巨大スパゲッティテストコードができていた



274:デフォルトの名無しさん
21/02/16 16:07:47.96 JE34XZEs.net
ホントテストが有用な説明を一切出来ないんだよなぁw
テストコード厨ってwww
頭が悪いからテスト書かないとボクのコードが正しいかわかりましぇーんwww
みたいなレベルなのかもしれんがw
こういう奴らって自分で動作確認しないでコミットしたりマジでしそうなんだよなぁw
普通はデバッグとかして大丈夫なものを上げるやろ
あ、デバッグの仕方やコールスタックとか全く知らんのかwwwwwwww
マイナスしか生産しない奴の場合、ちょっとパラメータ変えただけで動かないとか
エラー処理が無いとかそんなのばかりなんだよなw
それで、テストコードwも当然そのエラー処理に関するものは一切ないというwwwww

275:デフォルトの名無しさん
21/02/16 16:16:01.07 VGyCnBhh.net
wが多いほど余裕がなくて必死になってるように見えるぞ

276:デフォルトの名無しさん
21/02/16 16:58:55.10 +4LTd2t4.net
>>223で、すげー分かりやすい説明してるんだけどなぁ

277:デフォルトの名無しさん
21/02/16 17:13:03.88 +kNhNUJJ.net
芝の数は知能指数の低さを表す定期
池沼だから周りの指摘が理解できないのだろう
というかさ、単体テストができないレベルは論外なので他スレ逝ってください
お願いします

278:デフォルトの名無しさん
21/02/16 17:18:14.85 +kNhNUJJ.net
単体テストが必要ない→テスト済みのライブラリを使っており独自定義のモデルが無いから なら耳を傾けてやったが、流石に単体テストそのものの否定は論外
もし、これでテスト済みのフレームワークであるRailsやAndroid SDK、Django、Electron等を使ってたら嗤う
まぁ、フレームワークを一切使わない上、単体テストもしないとかだったらもっと嘲笑ってやるが

279:デフォルトの名無しさん
21/02/16 17:44:56.71 2fDc5cBr.net
>>270
文章がスパゲッティ過ぎて説得力ゼロ

280:デフォルトの名無しさん
21/02/16 17:52:58.50 +kNhNUJJ.net
>>270
> ソースに基づいて機械的に書いてるだけでテストが何のテストにもなってないことが多かったとかじゃなくて
> すべてのテストコードがそうなった
あなたはもう一人の頭おかしい人とは別人と見なして回答するけど、そもそもソースに基づいてテストケースを書くのが間違い
ソースを書く段階で既に正しいソースの答えが存在しないといけない
テストコードを書く→コード実装する→ビルドする→テストコードが自動で実行→コード修正する→ビルドする→テストコードが自動で実行
これを繰り返すから不具合の無いプログラムが書ける
もしも、これを否定するのなら、是非、もっと素晴らしい開発ノウハウを教えてほしいものだ
「俺がつくったものはほとんど不具合を出さない」とか、そういうイキリ情報だけ吐き出すのはどうでもいいから

281:デフォルトの名無しさん
21/02/16 18:08:22.87 1bhKa/Av.net
>>277
ソースがおかしかったらテストもおかしくなるの?

282:デフォルトの名無しさん
21/02/16 18:29:17.92 +kNhNUJJ.net
>>278
本来の単体テストでは、ソースがおかしかったらテストもおかしくなってはならないのだが...ソースに基づきテストコードを書くと、ソースがおかしいとテストコードもおかしくなる可能性はある
まぁ、ソースに基づきの本質的な意味にもよるけど
文面と自分の過去の経験(単体テストの無意味化)から、書き直しながら設計をする「書き直しプログラミング」という良くない実装をしているんじゃないかなーとも感じられたけど、そこら辺は大丈夫?

283:デフォルトの名無しさん
21/02/16 21:27:59.66 ZcpmZlC/.net
自動テストの欠点は
1. 時間がかかりすぎる。自動テストの数千倍
2. 正しくテストをしたという証拠が残らない

284:デフォルトの名無しさん
21/02/16 21:28:14.84 ZcpmZlC/.net
間違えたw
手動テストの欠点は
1. 時間がかかりすぎる。自動テストの数千倍
2. 正しくテストをしたという証拠が残らない

285:デフォルトの名無しさん
21/02/16 21:33:26.67 dPD3RJZH.net
テストが要らんと言う人の意見のほうが聞きたい
テストが要ると言う人の意見には興味は無い
PGとSEの区別も仕様書と要件定義書の区別も
人月も工数計算も俺にとっては興味が無いから
どうやって人類はクソコードを避けていくのかの意見だけが聞きたい

286:デフォルトの名無しさん
21/02/16 21:41:54.02 ZcpmZlC/.net
頑張ればできる。みたいな根性論はいらんで
何千人も人を投入すればできる。みたいな人海戦術もいらんで

287:デフォルトの名無しさん
21/02/16 21:46:50.65 2fDc5cBr.net
>>282
「~すればクソコードを避けられる」という意見があったとして
それが本当にクソコードを避けられるかどうか
どうやって確認するの?

288:デフォルトの名無しさん
21/02/16 22:09:23.42 dPD3RJZH.net
>>284
確認も何も
本当に避けられるかどうかがまずどうでもいい
もっと気楽にもっと率直に
「こういう糞を俺はこう避ける」の生の意見を聞きたい

289:デフォルトの名無しさん
21/02/16 22:16:43.61 ZcpmZlC/.net
>>284
それを聞いてる
「手動テストすればクソコードを避けられる」という意見があったとして
それが本当にクソコードを避けられるかどうか
どうやって確認するの?

290:デフォルトの名無しさん
21/02/17 02:14:29.51 9AWFfoq+.net
クソコード避けたいなら、まずクソなプロジェクトを避けることだな

291:デフォルトの名無しさん
21/02/17 02:46:54.37 fzT3JoWH.net
>>285
発想がすでにクソコード

292:デフォルトの名無しさん
21/02/17 07:57:46.74 cgz/Ol0S.net
元は>>228の発言なんだろうけど、もう触れるのはやめようぜ
俺ももっと建設的な意見が聞きたいよ

293:デフォルトの名無しさん
21/02/17 08:34:48.76 ty0uudwM.net
結局手動テストで、正しくテストを行ったことを
担保する方法は出ないで終わりか
結果のスクショだけじゃ役に立たないからね

294:デフォルトの名無しさん
21/02/17 12:04:03.72 KH04dI9l.net
コードがクソでもプログラマーがクソじゃなければ簡単に浄化できる
クソコードを避けようとするのは浄化スキルを持たないクソプログラマー

295:デフォルトの名無しさん
21/02/17 12:11:35.28 JcWwc4WJ.net
浄化が何を示すのかよくわからんけど単体テストコード無しでリファクタリングする勇気は俺にはないわ

296:デフォルトの名無しさん
21/02/17 12:31:42.99 H55Rd51D.net
俺もテストコードが無い上、手遅れなソースは直せる自身がないや
ほぼ作り直しになる未来しか見えない
テストコードを作れば済む話なら直せるけど、手遅れコードは無理

297:デフォルトの名無しさん
21/02/17 12:50:38.83 FZd5objq.net
具体性皆無
どうやって浄化(リファクタリング?)するのだか
たったの2行から嫌な予感しかしないけど、一応聞いてやろう

298:デフォルトの名無しさん
21/02/17 13:00:59.13 pFFqlpSR.net
テストコードが無いなら書けばいいじゃん
クソコードを放置して新たなクソを付け足すのもクソプログラマーだな

299:デフォルトの名無しさん
21/02/17 13:50:01.10 FZd5objq.net
>>295
クソコード呼ばわりするレベルに至る時点で、テストコードを追加して直せばいいじゃんで済むレベルじゃないと思うのだが
まぁ、俺の想像するクソコードと貴方の想像するクソコードが乖離している可能性はあるけど

300:デフォルトの名無しさん
21/02/17 14:04:39.81 DzAxBoaP.net
テストコードって学校で習わなかったなぁ

301:デフォルトの名無しさん
21/02/17 14:15:56.78 bkC92bnI.net
頭の悪いマウント合戦やってるクソスレ上げんなカス

302:デフォルトの名無しさん
21/02/17 14:24:26.00 8PenPzn3.net
晒し上げ

303:デフォルトの名無しさん
21/02/17 14:27:57.95 ty0uudwM.net
>>295
テストコードがないのに、どうやって正しいテストがわかるのかね?
テストが本当に正しいという担保はどうやって取るのかずっと聞いてる

304:デフォルトの名無しさん
21/02/17 14:35:24.50 7XrGtYbS.net
>>300
仕様があればテストコードがなくても何が正しいかわかるよね?
仕様がないなら仕様を作ればいいよね?
何が正しいかを決めればいいだけ
できない言い訳ばかりしてクソにクソを積み重ねる君たちがクソコードの現況だから

305:デフォルトの名無しさん
21/02/17 14:37:56.30 ty0uudwM.net
>>301
> 仕様があればテストコードがなくても何が正しいかわかるよね?
その仕様が正しいという担保は?
仕様が間違ってるなんてよくある話

306:デフォルトの名無しさん
21/02/17 14:47:15.95 csyh4HrV.net
はいはい、この話はやめやめ
頼むから【隔離】文字を入れた隔離スレで議論してくれ

307:デフォルトの名無しさん
21/02/17 15:11:11.02 4I2sE0QP.net
>>302
それは仕様書が間違ってるんであって仕様が間違ってるのとは違う
仕様書が間違ってると判断できる術があるなら何が正しいかわかるということ
結局テストと同じ話なんだけどあれこれ言い訳してクソを放置してるだけだよね

308:デフォルトの名無しさん
21/02/17 18:21:56.56 k81iZNBk.net
継続的イ...継続的な品質維持を破壊するようなコードを列挙していこうぜ
スレの趣旨的にはアンチパターンの研究が本来の目的だろうし
「構造が理解できないコード」とか
「責務を見失ったクラス」とか
「コピペしたような共通のコードが複数箇所あって、一部のソースを変更したら114,519箇所のコード書き直しが要求されるコード」とか

309:デフォルトの名無しさん
21/02/17 18:27:10.12 ar54zOTy.net
TDD知らんの?

310:デフォルトの名無しさん
21/02/17 18:30:50.13 k81iZNBk.net
>>306
知ってるけど流れ察しろ

311:デフォルトの名無しさん
21/02/17 18:32:30.85 8Df3qLX7.net
馬鹿が文章を書くとこうなりますの見本スレ

312:デフォルトの名無しさん
21/02/17 18:44:03.73 ltamn3iy.net
クソコード:大概が自己満足のオナニーに起因する
自動テスト:出来ているやつはホトンド居ない、なぜなら自動テストで致命的な問題が
      出てこないで後から発見されるから、セキュリティ・ホールも右に同じ
      大概が自己満足のオナニー
だが自動テストは必要悪である。テスト原理主義者はカバレッジが100%で無ければ教義に反する異端者として
処分され、変数の代入さえテストを要求するが、致命的な問題が後から発見された場合にはテストすら破壊する
破壊的なリファクタリングを必要とし、テストコードの修正と二重苦の責めを負う

313:デフォルトの名無しさん
21/02/17 18:50:55.02 dlextU55.net
>>305
視野が狭すぎてちょっと引く・・・
君みたいなプログラマーが継続的な品質維持を破壊する1番の原因

314:デフォルトの名無しさん
21/02/17 18:55:30.33 UmDM7l2a.net
>>310が空気読んでなくて引く
どう考えても継続的イとか言いかけているあたりがで、荒らしを相手にすんなという意味なのにそれを解説しないと伝わらないことに引くわ
あっ言っちゃった

315:デフォルトの名無しさん
21/02/17 18:59:25.09 JcWwc4WJ.net
>>295
テストコードがない時点でろくな仕様書がない可能性が高いと思う
コードからテストコードを作るのはめっちゃ大変だし

316:デフォルトの名無しさん
21/02/17 19:10:33.57 UlO/vFMl.net
継続的淫夢ローション

317:デフォルトの名無しさん
21/02/17 19:19:20.02 DzAxBoaP.net
>>298
1番馬鹿なのはお前

318:デフォルトの名無しさん
21/02/17 19:29:15.15 p8cob7ED.net
テストコードはあって当たり前の前提でスレタイの話がしたかった...

319:デフォルトの名無しさん
21/02/17 19:40:45.14 p8cob7ED.net
まぁ、意味のあるテストコードがあればクソコードと言われるレベルのものはなくなるけどさ、そうじゃなくて
クソコードと良いコードを知った上でテスト駆動やるべきだからこそ、クソコードの分析がしたかったよ...

320:デフォルトの名無しさん
21/02/17 20:38:23.05 ltamn3iy.net
むしろ時代の流れは既にテストコードを「書く」という流れではなく、既に外部ソフトウェアを利用して
テストする段階に来ている。これは日本では「単体」しないのですか?と受け止めれれるがそうではない。
例えばテストしづらいソフトウェアにはLinux-KernelがあるがリリースはTorvaldsが十分に安定していると
「感じ」たときにリリースされる。ではLinuxは全くテストしていないですか?と思うがそうではない。
Kernelはテストコードが書きづらいため、様々な工夫がされる。外部ツールとして静的コード分析、
継続的インテグレーションツール、テスト自動化など様々なツールが使われる。もちろん単体テストもある。
現在のソフトウェアの主流において(ランダムな引数を渡す)ファジングテストツール(Fuzzer)なども
使われる。日本では一向に使われる気配は無い(誰も使わない・知らない企業独自のプロダクトのような
自動ツールが使われるのみである)ストレステストツールは何も知らない営業のアホが書いた根拠不明の
性能要件を満たすためのツールではないのである。フェイクデータを用意してテストするのが一部では
流行っているがそれでは網羅性はない。
例えば、1ファンクション/メソッド/スコープの変数の数、分岐の数、ループ、演算子の数の増えれば
増えるほど複雑度は増大しバグが発生しやすくなるはずである。そう言った統計的な手法を見ないで
宗教のようにテストコードばかりに注目するのは悪である。

321:デフォルトの名無しさん
21/02/17 20:56:14.06 3Rkqt+9c.net
>>312
むしろテストコードがないからこそ仕様書をきっちり更新してる可能性のほうが高いやろ
それにコードからテストコードを作るのはアンチパターンだぞ

322:デフォルトの名無しさん
21/02/17 21:16:09.34 3Rkqt+9c.net
>>316
自分がクソコードだと思う例をあげて解説してみればいいんでない?
クソだと思ったものが意外とそうでもない場合もあればその逆もあるから

323:デフォルトの名無しさん
21/02/17 21:24:29.62 v0/tbLAB.net
再利用性の無いクラスは糞
お前らもあるやろ?
アプリ全体で一箇所でしかインスタンス化されないようなクラス
邪魔だなぁと思いつつも
それを書く事で若干の整理と局所化が得られるから作っちゃうようなクラス

324:デフォルトの名無しさん
21/02/17 21:48:55.78 FwS3TBTC.net
>>317
嘘つくな(笑)
オープンソースでなんか証拠持ってきてみ

325:デフォルトの名無しさん
21/02/17 22:15:44.97 ltamn3iy.net
>>321
いろいろ書いてますが、どの辺が嘘だと言っていますか?全て?

326:デフォルトの名無しさん
21/02/17 22:36:40.80 JcWwc4WJ.net
>>318
> むしろテストコードがないからこそ仕様書をきっちり更新してる可能性のほうが高いやろ
ないない、世の中にはテストコードも仕様書もちゃんとしてる組織とテストコードもないし仕様書もちゃんとしてないクズ組織しかないと思っていい
> それにコードからテストコードを作るのはアンチパターンだぞ
そんなことはみんなわかってる
やむを得ずのケースな

327:デフォルトの名無しさん
21/02/17 22:43:42.98 FwS3TBTC.net
仕様書をきっちり更新しているとして、
ちゃんとその通りにテストしたことを担保するのはどうすればいいの?
なんでこの質問に答えられないの?

328:デフォルトの名無しさん
21/02/17 22:44:31.47 FwS3TBTC.net
>>322
ソースを持ってきてない所全て

329:デフォルトの名無しさん
21/02/17 22:52:29.81 gjncEnw2.net
パーフェクトRuby on Rails には、
毎週モジュールを更新してテストするように書いてある
こういうのが出来るのは、Ruby/Rails コミッターのいるような技術力のある自社開発系だけ。
普通の会社は、できた後は放置するだけw
一切、更新しない
会社全体で、AWS の800資格と、
全12資格を持つ、ジェダイマスターが7人いる、クラスメソッドの動画を見ると、
全部、Lambda などのサーバーレス
自社で毎週、OS・アプリ・モジュールなどを更新してテストできる、会社は無い。
だから、AWS がOS・Aurora などのデータベースなどを更新する、サーバーレスを使う
サイボウズのkintone は、Kubernetes で毎日すべてのシステムを破棄して、作り直している。
これが究極のTDD・継続的インテグレーション
毎日、全システムをrolling update する

330:デフォルトの名無しさん
21/02/17 23:03:43.66 3Rkqt+9c.net
>>323
>そんなことはみんなわかってる
>やむを得ずのケースな
やむを得ずのケースもやっちゃダメ
わかってるつもりでわかってないパターン

331:デフォルトの名無しさん
21/02/17 23:09:24.60 ltamn3iy.net
>>324-325
まあ暇だから相手するけど、「その通りにテストしたことを担保する」っていうのはテストコードを
流しただけでは出来ませんよ。なぜならテストにもバグが介在するからです。イテレーションテストでも
反復回数が足りなければデグレします。極限値テストでもその中にバグを起こす特定値が無ければ
何の意味もありません。多くの人があんたの質問には答える価値があんまりないからじゃないかな?
「ソースを持ってきて」という表現方法もプログラミングに置き換えると非常に曖昧で解釈が不明です。
情報源のURLを提示しろ、元のオープンソース(笑)を証拠を持ってこいよ」どちらにも取れますが
プログラミングには向かない人だと思います。マウントポジション取りたいだけなら話は良く分かりますが
煽りたいだけであれば、幼稚園にでも通いなさい

332:デフォルトの名無しさん
21/02/17 23:14:35.28 FwS3TBTC.net
>>328
初っ端から論点をすり替えるなよ
もう一回やり直し
「手動テストでどうやってちゃんと書いてあるとおりにテストしたと担保するの?」

333:デフォルトの名無しさん
21/02/17 23:16:22.98 ltamn3iy.net
手動テストなんて1回も書いた事無いのに、すべての人があんた以外の同一人物じゃないんだから
あんたの脳内が正常に回ってるかテストしたほうがいいんじゃないですか?

334:デフォルトの名無しさん
21/02/17 23:19:03.48 FwS3TBTC.net
>>328
わかりやすく言えば
一人目「なんか手順を省いちゃった気がするけど、次の人がちゃんとやるだろうからヨシ」
二人目「正しく動いてない気がするけど、前の人がスクショとってOKって言ってるからヨシ」
三人目「前の二人がOKって言ってるからヨシ」
こんなたくさんのスクショあっても見る時間ねーよヨシ
これをどうやって防ぐの?

335:デフォルトの名無しさん
21/02/17 23:19:39.55 FwS3TBTC.net
>>330
論点をすり替えて答えた気になるなって言ってるだけ
「手動テストでどうやってちゃんと書いてあるとおりにテストしたと担保するの?」

336:デフォルトの名無しさん
21/02/17 23:24:26.28 ltamn3iy.net
こいつは相手にしちゃダメな人だったか、テスラでもトヨタでも自動運転のテストを公道でやってますが
担保するために何をやっているかと言えば色々な現実的な状況や環境、人の動きなど特殊な例外パターンを
実地でチェックシートを用意してテストしてます。コードを書いて自己満足しているわけではありません。
そもそも自動運転というか自動学習のようなモデルでは何が正しいのかを定義することさえ困難です
「論点をすり替えて答えた気」といっていますがあなたが何を「論点」としているのか、まったくもって
説明していません。とても残念な方だと思いますが同僚や仲間には迷惑をかけないようにしましょう

337:デフォルトの名無しさん
21/02/17 23:26:31.02 FwS3TBTC.net
>>333
だから論点すり替えるなって言ってるだろ
自動運転の話なんかしてないんだわ
「手動テストでどうやってちゃんと書いてあるとおりにテストしたと担保するの?」
これに答えればいい。色々やってます!は答えじゃないからな

338:デフォルトの名無しさん
21/02/17 23:35:59.81 ltamn3iy.net
「手動テストでどうやってちゃんと書いてあるとおりにテストしたと担保するの?」
「(手動テストでは)テスト項目を作成し、(完璧な)テスト要員はテスト(それに完全に従い)した結果を記録します」
この時、不良なテスト要員やテスト抜け、人間らしいヒューマンエラー許容しません。これはテストコードを
作成した場合についても同じです。だからあんたの脳内に大事にしまってある「論点」を語りなさい

339:デフォルトの名無しさん
21/02/17 23:52:39.21 rF5wbzd/.net
自動テストだと手動テストでできない説明ができるって?

340:デフォルトの名無しさん
21/02/18 00:00:13.06 uiIjzHNM.net
>>335
> 「(手動テストでは)テスト項目を作成し、(完璧な)テスト要員はテスト(それに完全に従い)した結果を記録します」
完璧なテスト要員なんて存在しません。
書いてあるテスト項目通りに、人間が作業したことを担保(記録)する方法を聞いています。
「完璧に記録するにはどうすればいいですか?」という質問に対して
「結果を記録します」は答えになっていません。
それが質問です。

341:デフォルトの名無しさん
21/02/18 00:03:21.14 CDAKHrDM.net
自動テストはオマケ。最後は品質保証チーム。

342:デフォルトの名無しさん
21/02/18 00:04:06.22 uiIjzHNM.net
>>336
> 自動テストだと手動テストでできない説明ができるって?
今の論点は「テスト項目通りに間違いなくテストを行ったか?」です
人間がやる以上、間違い(ミス)すること作業することはできないので、それを防ぐのが自動テストです。
もし手動テストでやる場合「書いてあるテスト項目に従い人間が間違いなく行動する」
または「人間の行動を後から再現できるように完璧に記録する」のどちらかが必要になるはずです
これだけやって、ようやく自動テストと同等の信頼性が得られますが、
それでも実行速度(テスト実行時間)はコンピュータにはかないません。

343:デフォルトの名無しさん
21/02/18 00:04:52.19 uiIjzHNM.net
人間がやる以上、間違い(ミス)することなく作業することはできないので、それを防ぐのが自動テストです。

344:デフォルトの名無しさん
21/02/18 00:05:13.93 GR+auC/2.net
やっぱマウントポジション取りたいストレスだらけの無能ハゲやったか
手動テストって上の方でも書いてるけど、ほんまもんの気狂いだなww
同様にテストコードも完璧なテストなんてありませんし書けません

345:デフォルトの名無しさん
21/02/18 00:07:58.06 uiIjzHNM.net
>>341
いやちゃんと>>339に書いたんだからレスしろよ
マウント取るんじゃなくて、お前がマウント取られに行ってるじゃんw
言い返す言葉はなにもない。だがレスだけはしたいんだって

346:デフォルトの名無しさん
21/02/18 00:09:19.27 uiIjzHNM.net
> 同様にテストコードも完璧なテストなんてありませんし書けません
だーれも完璧なテストがあるなんて言ってない
完璧なテストがない=必ず後で修正が入るからこそ、
何度も高速に同じテストを実行できることが重要なんだわ

347:デフォルトの名無しさん
21/02/18 00:10:15.82 uiIjzHNM.net
何度も高速に同じテストを実行できることが重要だから
それを人間の手動テストでどうやるの?と聞いてる
無理。だから自動テストが重要
って答えになるやろが?

348:デフォルトの名無しさん
21/02/18 00:29:33.49 unHOG45Z.net
は?全く苦労に見合った見返りが見えないんだが?
あとサブルーチンの戻り値で分岐しまくるコードが入りまくってるときに
テストコードってどうやって書くの?
戻り値を意図的に制御できないじゃん?

349:デフォルトの名無しさん
21/02/18 00:31:37.57 uiIjzHNM.net
>>345
> あとサブルーチンの戻り値で分岐しまくるコードが入りまくってるときに
手動テストってどうやるの?
それを書くのが先だ

350:デフォルトの名無しさん
21/02/18 00:34:28.27 uiIjzHNM.net
手動テスト vs 自動テストで
ドロー(引き分け)になる項目を持ってきて
勝てると思ってるんだろうか?
手動テストは、高速に同じテストを何度も実行できない
手動テストは、正しくテストをしたという担保がない
この項目で負けてるだろうが
そこに引き分け項目持ってきても勝てねーよw

351:デフォルトの名無しさん
21/02/18 00:42:57.81 80X4NLoW.net
なんかもう、テストコード書く書かないのスレ立ててそこでやれば?いつまでこのネタ引っ張るの?

352:デフォルトの名無しさん
21/02/18 00:43:39.30 GR+auC/2.net
>>342
思い込みのハゲしい人ですね。最初からいいますよ?私は自動テストも手動テストも否定してない。まず上の方の
人たちと同一人物視をやめなさい。あなたは「担保するの」と書いていて「速度」のことなんて、ID上は今まで
1回も言っていません。ちゃんと質問するなら
「手動テスト”だけ”で仕様通りにテストを行い、変更があったら”同じテストを繰り返した”と
 担保して、素早いテストの繰り返しによる開発を継続するのでしょうか?」ですよね
もちろん手動テスト”だけ”でも時間と費用があれば無理ではありませんが、当然時間がかかります。
この質問であれば、「素早い開発」の要件を満たせないのでテストコードによるイテレーションテスト「も」
必要になります。「無理」というのはあんたの頭の中でできてるストーリーに無理ができているだけです。
「嘘つくな(笑) オープンソースでなんか証拠持ってきてみ 」
このような会話は5chだから通用しますが、現実世界ではあなたは爪弾きでしょう。何を言いたいのか
サッパリ分かりません。日本語が不自由な方かと思いましたが、思考が不自由な方だ
1.聞きたいことが質問にまとめられていない
2.聞きたいことを回答する人を馬鹿にして遊んでる
3.最初から(自分だけの)結論ありきで語っている
また頻繁に変更が入るコードで何度も同じテストを実行することはありますが、変更が入らないコードでは
同じテストを実行する事は無駄です。一部のツールはテスト結果で省略すらします。
自動vs手動という考えはあんたの頭の中にしかない初めて披露された考えです。この両者は対立構造では
ありませんし、ましてや勝つとか負けるとかどーでもいい事です。それがマウントと言っているのですよ

353:デフォルトの名無しさん
21/02/18 00:44:42.11 vQ0bM4Ab.net
>>345
一般的な言語なら普通にできるよ

354:デフォルトの名無しさん
21/02/18 00:45:02.81 uiIjzHNM.net
長文読まないよ

355:デフォルトの名無しさん
21/02/18 00:45:40.48 uiIjzHNM.net
結局の所、手動テストは時間がかかって
信頼性もないってことだろ

356:デフォルトの名無しさん
21/02/18 00:46:31.03 unHOG45Z.net
>>347
自動テストでそれは解決できないだろ

357:デフォルトの名無しさん
21/02/18 00:48:39.39 uiIjzHNM.net
>>353
それはシートベルトでは衝突事故は防げないだろ論法?w
手動テストは、高速に同じテストを何度も実行できない
手動テストは、正しくテストをしたという担保がない
自動テストで解決できてるだろ

358:デフォルトの名無しさん
21/02/18 00:49:53.24 GR+auC/2.net
>>348
ごめんね、引数が100個あればクソコードかと言えば、そうでもなく可変引数展開するような言語では
配列渡しになったりするので「テストコード」も「開発手法」もここのタイトルだと何も関係ないね

359:デフォルトの名無しさん
21/02/18 00:51:16.80 unHOG45Z.net
>>354
自動テストってなんで正しいの?

360:デフォルトの名無しさん
21/02/18 00:52:15.60 unHOG45Z.net
自動テストってコードありきで作っちゃったゴミカステストしか見たことないよ

361:デフォルトの名無しさん
21/02/18 00:54:40.11 uiIjzHNM.net
>>356
それをいうなら、
「自動テストは、正しくテストをしたという担保があるの?」
だよね。
コンピュータは書いたとおりに動く
だから、テストコードで書いたテストを
正しく行ったことが担保されている
それに対して人間は、いくらテスト指示書にこうしろと
書いてあったとしても間違えることがあるしサボることもある
なんかおかしい気がしたけど気づかずにスクショ取ってOKと記入してしまうこともある
だがあとになって調べようとしても、その時のテストが
間違っていたり手抜きしたことがわからない

362:デフォルトの名無しさん
21/02/18 00:56:12.19 GR+auC/2.net
>>357
OSSなら基本的にテストファーストはしてないね、プロトタイプ作って0.1にバージョニングして
後からテストコード追加ですね。業務コードだとTDDを最初からやろうとする企業もあるけどさ
作ったテストが要件や機能に合わなくなることはあるあるネタだ

363:デフォルトの名無しさん
21/02/18 00:57:26.69 unHOG45Z.net
>>358
いや、ないよ

364:デフォルトの名無しさん
21/02/18 00:57:49.51 uiIjzHNM.net
>>359
普通、一つのコミットの中にテストコードと実装コードが含まれるけど
テストファーストしてないという根拠は?
後からテストコードが追加されたことがあるからといって、
それはテストファーストしてない理由にはならない

365:デフォルトの名無しさん
21/02/18 00:58:20.53 uiIjzHNM.net
>>360
何か言い返せよw
言い返せないのにレスだけするか�


366:迺pをかくんだぞw



367:デフォルトの名無しさん
21/02/18 00:59:52.93 unHOG45Z.net
>>362
だってないもん
単体テストなんか仕様書ビルドしてできたわけでもねーのにそんな正しさがいきなり入る前提なのが気が狂ってる

368:デフォルトの名無しさん
21/02/18 01:01:03.98 unHOG45Z.net
バカが作ればバカなりな正常が定義されるだけだろ
夢みんな

369:デフォルトの名無しさん
21/02/18 01:01:59.98 uiIjzHNM.net
>>363
ああ「正しさ」だけ書いて論点をすり替えようとしてるのねw
俺がずーっと言ってるのは
「手動テストでどうやってちゃんと書いてあるとおりにテストしたと担保するの?」

370:デフォルトの名無しさん
21/02/18 01:02:43.80 uiIjzHNM.net
手動テストではいくらテスト項目が書いてあったからって
そのとおり正しくテストしたという保証がまったくないんだわ
人間は間違えることがあるから

371:デフォルトの名無しさん
21/02/18 01:04:27.27 unHOG45Z.net
>>365
いや、それ自動テストと手動テストに違いないじゃん
自動テストの間違ったテストコードで正常になっちゃったも
手動テストで間違ったエビデンスのとり方して正常になっちゃったも
違いねーし
頭おかしんちゃう?お前

372:デフォルトの名無しさん
21/02/18 01:06:47.98 uiIjzHNM.net
>>367
自動テストの間違ったテストコードで正常になっちゃった場合は
テストコードを見れば、テストコードが間違っていたとあとからわかる
手動テストでは、テスト作業が間違っていたのかどうかもわからない
あとから見た所で、作業内容自体までスクショ取ってないから。
それとも監視カメラで作業員の行動を動画で撮って
あとからその動画を眺めるつもりか?
コンビニの監視カメラの映像を確認するように
一体何時間時間がかかると思ってるんだ

373:デフォルトの名無しさん
21/02/18 01:07:56.11 unHOG45Z.net
>>368
え?わかるやり方もあるでしょ?バカなん?

374:デフォルトの名無しさん
21/02/18 01:08:25.16 uiIjzHNM.net
だから手動テストでは
もう一回やったら再現できませんでしたとか
ちゃんとテストしたのに実際は動きませんでした
とか発生した時に、その原因の追求ができない
うごくからヨシっていう
適当な仕事をしてる

375:デフォルトの名無しさん
21/02/18 01:09:01.59 uiIjzHNM.net
>>369
その分るやり方を書けよw
お前議論できねーな
言い返す言葉がないならレスしなくていいんだぞ?

376:デフォルトの名無しさん
21/02/18 01:09:10.15 unHOG45Z.net
>>368
あとテストコード見たってわかんないよ
仕様書見るんでしょ?
それは手動テストだって同じだよね?

377:デフォルトの名無しさん
21/02/18 01:10:46.79 unHOG45Z.net
>>370
は?
自動テストだって同じでしょ?
デバイス絡みがコードだけで動くわけ無いじゃん

378:デフォルトの名無しさん
21/02/18 01:11:16.43 uiIjzHNM.net
>>372
テストコードみれば、実際にやったテストがわかるだろ?
馬鹿なのか?
手動テストでは、何が書いてあっても
実際にどういうテストをやったかがわからない
人間が間違えたかもしれないって話をしてるのだが
ついてこれてる?

379:デフォルトの名無しさん
21/02/18 01:11:52.03 unHOG45Z.net
俺がつないであるプリンタを踵落としで叩き割ったらもう動かないよね?

380:デフォルトの名無しさん
21/02/18 01:12:02.27 uiIjzHNM.net
>>373
> 自動テストだって同じでしょ?
なにが同じなんだよ?
自動テストなら実際にやったテストがわかる or 手動テストではわからない
って話をしてるんだが、ついてこれてる?

381:デフォルトの名無しさん
21/02/18 01:12:12.31 GR+auC/2.net
>>363
「普通、一つのコミットの中にテストコードと実装コードが含まれる」間違い、0点です。
OSSでもクローズドソースでも普通はコミットの中には、偏在が生じます。TDD推進や原理主義者では
テストコード比率は80%だと主張する方もいます。一般的にOSSではテストコードがほとんどない方が
多いです。もちろんこれの正当性を主張するわけでもありませんが、何故そうなるのかと言えば多くが
個人開発だからです。いい加減な自動テストが含まれていて、それをテストファーストと主張するなら
主張すればいいですよw

382:デフォルトの名無しさん
21/02/18 01:13:10.82 uiIjzHNM.net
>>375
その点テストコードは、バージョン管理するから
動いていたものが動かなくなった原因までしっかり記録される

383:デフォルトの名無しさん
21/02/18 01:13:51.03 unHOG45Z.net
>>374
は?それが正しいかどうかは仕様書見ないとわからないだろ?
仕様書とテストコードとコード見るんやな
なんか無駄じゃねぇの?
仕様書とコード見るだけでよくね?
なんでテストコード書く必要あったんだっけ?

384:デフォルトの名無しさん
21/02/18 01:15:16.04 unHOG45Z.net
そもそも仕様書とコードを見比べてどうして正しいかわからないんだっけ?

385:デフォルトの名無しさん
21/02/18 01:15:18.95 uiIjzHNM.net
>>377
> 「普通、一つのコミットの中にテストコードと実装コードが含まれる」間違い、0点です。
ん?証拠を持ってくればいいわけ?
例なんていくらでもあるけど、一つのコミットの中にテストコードと実装コードが含まれてます。
URLリンク(github.com)

386:デフォルトの名無しさん
21/02/18 01:15:52.08 unHOG45Z.net
>>381
ウィルス

387:デフォルトの名無しさん
21/02/18 01:16:06.06 uiIjzHNM.net
>>379
いい加減「正しい」の意味をすり替えるのやめろ
「書いてあるとおりに正しくテストした」ことが
自動テストならわかるって言ってるだろ

388:デフォルトの名無しさん
21/02/18 01:16:36.10 uiIjzHNM.net
>>382
そうだよね。そうやって嘘を付くしかないもんねw

389:デフォルトの名無しさん
21/02/18 01:17:07.59 unHOG45Z.net
>>383
え?それは仕様書通りって意味でないとビジネスで役に立たないよね?

390:デフォルトの名無しさん
21/02/18 01:17:45.50 unHOG45Z.net
自動テストでどうやって仕様書通りかどうかわかるの?

391:デフォルトの名無しさん
21/02/18 01:18:14.28 unHOG45Z.net
お前のテストコードがクソコードだったら終わりじゃん

392:デフォルトの名無しさん
21/02/18 01:20:25.65 unHOG45Z.net
さっきからなんの正しい説明にもなってないじゃん
自動テストも手動テストも仕様書通りかどうかテストすんだろ
何度も言わせるなクソが

393:デフォルトの名無しさん
21/02/18 01:27:53.27 GR+auC/2.net
>>381
js系の人ですか(笑)reactの場合、ver17.0.0になってもissueのOpen数が500あります。明らかにデグレ�


394:� 生んでいますが、issueのClose数も1万近くです。テストが完璧だとどうやって担保しているでしょうか?(笑) リリース数は数えたら137回です



395:デフォルトの名無しさん
21/02/18 01:35:12.01 GR+auC/2.net
>>381
ん?ショーコですか?誰もそんな事言ってないと思いますが?w
参考までにそのコミットの1つ前にはテストコードが含まれてませんが?w2つ前も含まれてませんw
対象コードはCIのコードですがwよくあるFix typo も多くはテストコードとやらは含まれませんね。

396:デフォルトの名無しさん
21/02/18 01:55:43.96 GR+auC/2.net
>>387
”「書いてあるとおりに正しくテストしたことが自動テストならわかる」って言ってるだろ ”
上の方を見ても1回もそんな事はいってませんね・・・それと、日本語の区切りがおかしいので
直しておきました。「書いてあるとおりに正しくテストした」これを一言で言えばオナニー猿です。
逃げてしまったのか

397:デフォルトの名無しさん
21/02/18 06:37:17.08 EVRbmhyV.net
>>327
はいはい、どうしようもない現実を知らないとか幸福な人生で何よりですw

398:デフォルトの名無しさん
21/02/18 06:54:09.45 qR1rH4Mn.net
テストの内容(文章 or コード)が、仕様書通りかは、手動テストも自動テストもわからない
この勝負はドロー(引き分け)

テストの内容(文章 or コード)が仕様書通り正しいと仮定する
手動テストは、テストの内容を正しく実行したとは限らないが
自動テストであれば、テストの内容を正しく実行したことが保証される
なぜならコードは書いたとおりに動くから
この勝負は自動テストの勝ち

399:デフォルトの名無しさん
21/02/18 07:11:33.36 K1XgX+kk.net
>>393
だからテストコードのテストを行わなければ完結しない
ということだね

400:デフォルトの名無しさん
21/02/18 08:22:53.92 qR1rH4Mn.net
>>394
テストコードのテストというのは意味不明
お前の理屈だと、テストのテストが必要になるだろ
テストのテストのテストも必要になるだろ
アホらしい
テストコードに必要なのはコードレビュー
テストコードのレビューが必要なように
テスト実行手順書のレビューも必要
この勝負はドロー
そしてテストコードのレビューがOKだった場合
書いてあるテストコードの通りテストは行われるが
テスト実行手順書のレビューがOKでも
手動でテストすると、そのとおりにテストが行われるとは限らない
ということで、手動テストの負けになる

401:デフォルトの名無しさん
21/02/18 10:15:13.26 64/LOwh9.net
>>308

402:デフォルトの名無しさん
21/02/18 10:27:02.08 PBViQ2A6.net
俺が折角>>305で流れ戻してやろうと思ったのに馬鹿を刺激すんな
もう手遅れだけど
馬鹿は詭弁を並べて相手にならねーから会話するな
馬鹿と会話しようとするから疲れる
テキトーに流しとけ

403:デフォルトの名無しさん
21/02/18 11:03:49.56 gOUQkM00.net
推奨するやつの頭が悪いから
テストの自動化自体も悪く見えるパターンだなこれ
ルビきちパターン

404:デフォルトの名無しさん
21/02/18 11:05:28.89 ZCTHPCfZ.net
>>397
馬鹿筆頭の自覚無しw

405:デフォルトの名無しさん
21/02/18 11:40:46.00 Nx8G+5tf.net
>>399
煽り耐性無さ過ぎ...

406:デフォルトの名無しさん
21/02/18 11:49:50.78 nrHJXjYu.net
スレの趣旨的にはむしろ>>305が正しい

407:デフォルトの名無しさん
21/02/18 12:14:02.17 2k7+F3J5.net
>>1>>305の中身がペラいから欲しい反応を貰えないだけやろ

408:デフォルトの名無しさん
21/02/18 12:21:36.18 2k7+F3J5.net
>>320の"再利用性の無いクラスは糞"でトライしてみたんだろうけどペラすぎて役に立たないから誰も反応しない

409:デフォルトの名無しさん
21/02/18 12:27:34.11 nrHJXjYu.net
そう?
むしろさり気なくanemic domainの話をしてる奴らがいたから、良スレの予感したのに一人の馬鹿が荒らした挙げ句に単体テストの必要性の有無とかいう低レベルスレになってがっかりしてる俺がここにいるけど?
内容がペラいってか、本当の経験者なら察せるし、一言二言から深堀すればいいのに

410:デフォルトの名無しさん
21/02/18 12:28:13.80 nrHJXjYu.net
単体テストの話で流れるせいで誰も手が出せん
何なら、隔離スレいる?

411:デフォルトの名無しさん
21/02/18 12:55:48.46 nrHJXjYu.net
ペラいとか言うけど、そもそも>>320の言ってることわかる?
他人を批判する前に貴方の実力チェックがしたいのだが、なんで再利用できないクラスがクソなのかわかる?

412:デフォルトの名無しさん
21/02/18 14:03:58.21 d72Uy3wC.net
>>406
>なんで再利用できないクラスがクソなのかわかる?
その考え方がペラいって言ってんのにわかんないやつだな
これ全部同一人物じゃなきゃありえんな

413:デフォルトの名無しさん
21/02/18 14:20:32.85 nrHJXjYu.net
>>407
その考えとは?わからないから教えてくれや

414:デフォルトの名無しさん
21/02/18 14:52:32.67 nrHJXjYu.net
>>407
まさか再利用できないクラスが普通だとか思ってる?流石にそれはレベル低すぎてその発想はなかったけど、そういうこと?
たのむから伝わるように文章を書いてくれ
お前の文章こそ情報量がない
あるのは相手にマウントを取ろうとする意気込みだけ

415:デフォルトの名無しさん
21/02/18 15:50:41.18 bN9e6Enp.net
>>408
一般常識を持たず
自分の半径5cmの出来事の一側面だけを見て
コンテキストを無視して一般化しようとする考え方

416:デフォルトの名無しさん
21/02/18 15:59:27.62 nrHJXjYu.net
>>410
一般常識?ID変えながら、こんな時間に2chやる俺らが?w
発言元からコンテキスト境界を読み取れずに他人を批判するお前こそ薄ペラ野郎だわ

417:デフォルトの名無しさん
21/02/18 17:08:42.38 kV6+8waU.net
まず再利用性とは何かをまるで理解していない
アプリ全体の一箇所でしかインスタンス化されないからといって再利用性が無いとは言わない
再利用には様々な形があるにもかかわらずインスタンス化される箇所の数という著しく狭い一つの側面だけしか見えていない
そもそもインスタンス化される箇所の数と、そのクラスがクソかどうかとは何の関係も無い
ないない尽くし

418:デフォルトの名無しさん
21/02/18 17:23:27.31 kV6+8waU.net
クラスの再利用性の度合いが低ければそのクラスがクソかと言えば全くそんなことは無い
クソがどうかは再利用性の度合いとは関係ない
クラスベースのOO言語を使ってるならどんなアプリでそのアプリ特有の処理はそのアプリの用途に特化したクラスで実現する
当然、一般的に言うところのクラスとしての再利用性は無い
それだけでクソだと言い出したらGoogleが作るものでもMSが作るものでも世の中のアプリはほぼ全てクソの塊

419:デフォルトの名無しさん
21/02/18 17:49:20.06 HwjlNY0O.net
ジョブがやたら多いシステムきつい

420:デフォルトの名無しさん
21/02/18 17:53:10.20 EQNcYV6O.net
>>413
> クラスベースのOO言語を使ってるならどんなアプリでそのアプリ特有の処理はそのアプリの用途に特化したクラスで実現する
> 当然、一般的に言うところのクラスとしての再利用性は無い
そんなの当たり前じゃん
殺人事件が起きて殺人は駄目だと訴える遺族の前で死刑囚は殺してはいけないと言うのか?とか言い出すようなもの
それくらい察してやれ

421:デフォルトの名無しさん
21/02/18 17:59:21.72 EQNcYV6O.net
って、アプリ特有ってまさか業務特有の処理とかじゃないよな?
フレームワーク特有だったらわかるけど

422:デフォルトの名無しさん
21/02/18 18:07:15.94 TPOb/Xi+.net
組込してるけど、USBクラス、SDカードクラスのインスタンス化が封じられていて、しかもUSBクラスの中にMCUのポートに依存する処理が書かれてたらクソだと思う
なんで、回路構成変わるたびにいちいちUSBのロジックを実装しなきゃなんねーんだよクソがって言いたい

423:デフォルトの名無しさん
21/02/18 18:40:52.03 uVIafMoc.net
>>417
なんで修正しないの?
staticなメソッドとメンバーのみを使うとしても必要なところを入れ替えるように作れるでしょ

424:デフォルトの名無しさん
21/02/18 18:56:01.13 z09WEaLy.net
トイレ行っていい?

425:デフォルトの名無しさん
21/02/18 19:02:24.32 TPOb/Xi+.net
>>418
文面だと伝わりづらいと思うからコード書くけど
USBポートが2ポートある場合
USB usb1 = new USB(port1)
USB usb2 = new USB(port2)
で済むのに、インスタンス化を封じられたら
USB1 usb1 = USB1.getSingleton()
USB2 usb2 = USB2.getSingleton()
みたいにUSB1クラス、USB2クラスを自分で定義しないといけなくなるからやめた方がいいよって話
なぜかというと、USB1と2に同じコードを書かないといけないし、もし、USBの処理に仕様変更が生じると、今後はUSB1と2を変更しないと駄目だから
面倒でしょ?2個程度なら...という油断は命取り
>>419
ご自由に

426:デフォルトの名無しさん
21/02/18 19:30:22.47 unHOG45Z.net
>>395
それで?
仕様書通りであると説明できたん?

427:デフォルトの名無しさん
21/02/18 20:13:35.08 qR1rH4Mn.net
>>421
何度も言ってるが
仕様書通りのテストコード(or テスト手順書)になってるかはレビューで確認する
その点ではテストコードも手動テストの手順書も差はない
差があるのは
テストコードの通りにコンピュータが実行したか(実行したと保証される)
テスト手順書のとおりに人間が実行したか(実行したと保証されない)
この点で、手動テストは劣っている
>>421
なにか言い返す言葉があるならどうぞ

428:デフォルトの名無しさん
21/02/18 20:54:43.88 Tudb2iMs.net
>>420
インスタンス化しとるやーん
USBに共通する処理をコンポジションで切り出してれば1箇所の修正で済むよね
シングルトンにするメリットがある前提ならそのコードの形だけでクソコードだとは思わないな

429:デフォルトの名無しさん
21/02/18 21:58:25.07 unHOG45Z.net
>>422
え?コードレビューの他にテストコードのレビューやるの?
何がよかったんだっけ?

430:320
21/02/18 22:15:10.24 1R5qg2DM.net
反応してくれるやつがおっただけでも嬉しいわ(ヽ´ω`)

431:デフォルトの名無しさん
21/02/18 22:24:23.85 1R5qg2DM.net
>>412
ワイはそれをあると言っている
インスタンス化された個数こそがそのクラスの価値だと言っている
抽象クラスやインタフェースについてはこの主張では扱わない
アホらしいと思うのなら聞き流してくれていい

432:デフォルトの名無しさん
21/02/18 22:27:00.40 1R5qg2DM.net
>>404
単体テストがどうのこうのってもう心底どうでもいいよなw
俺もそれの結論について興味が持てない

433:デフォルトの名無しさん
21/02/18 22:30:19.90 1R5qg2DM.net
>>420
インスタンス化を封じて苦しくなってくるのあるよなw
最初のうちはそれでよさそうに思えるんだけどね

434:デフォルトの名無しさん
21/02/18 22:55:26.26 GanGg3no.net
>>426
インスタンス化された個数と
インスタンス化される箇所の個数は全然違うと思うんだが?
コード上では1箇所でしかインスタンス化されないがリクエスト毎にインスタンス生成されるクラスとか

435:デフォルトの名無しさん
21/02/18 23:10:12.48 1R5qg2DM.net
ごめんね下のほうの意味が本来言いたかったこと
実行時のことは考えず単にコード上での評価

436:デフォルトの名無しさん
21/02/18 23:35:55.78 lCP5Fc9O.net
>>430
そうすると何か特殊な前提を置いてるかインスタンス化する箇所という言葉の定義が全く違うかだな
インスタンス化がnewしたりファクトリメソッドを呼ぶ事だとしたら
Webでもモバイルでもデスクトップでもコード上の1箇所でしかインスタンス化されないクラスが結構な割合で存在するほうが普通
わかりやすいところで言えばコントローラクラスやアプリケーションクラス

437:デフォルトの名無しさん
21/02/19 02:02:43.04 C4/TpWTT.net
>>420
USB io = USB.create(port1)で物理的なUSBが重複する可能性があり、排他制御が必要ならそうすると思うよ。
USB io = new USB(port1)で個別にインスタンス作って、マルチスレッド・マルチプロセスで動くなら必要ないけど
自然的なコンストラクタでメンバー変数は初期化されることに意味があるだけで、それ以外の構築初期化を
しようとしたらファクトリーメソッドが必要になる。もちろんnewの後にメンバーメソッドを�


438:�回自分で 呼び出して初期化しても良いわけだけど、ま、言いたいことは確かに安易な設計でシングルインスタンスは 避けるべきだけど、近代的なクラス型の言語によるメンバーの隠蔽とファクトリーメソッドは無関係



439:デフォルトの名無しさん
21/02/19 02:35:10.05 lLyiEvh3.net
>>424
> え?コードレビューの他にテストコードのレビューやるの?
当たり前だろ
お前コードレビューをするのは当然として、
お前、テスト手順書のレビューしないのか?
だからお前がやったテストはいつも抜けがあるんだろうがw
すいません、テストが漏れてましたじゃねーよ、いっつもいっつも

440:デフォルトの名無しさん
21/02/19 02:43:27.34 3DiTZZbV.net
>>433
じゃあテストコードのテストもいるよね?

441:デフォルトの名無しさん
21/02/19 02:59:07.17 lLyiEvh3.net
>>434
お前の真似をすると
テスト手順書のテストもいるよね?
当然、答えは「はい」になるよねw

442:デフォルトの名無しさん
21/02/19 06:52:05.98 zJ55MHzK.net
>>434
いらない、レビューで足りる
理由は>>255に書いてある

443:デフォルトの名無しさん
21/02/19 07:43:49.70 tQjoVXv/.net
>>435
え?設計書のテストが?
テストコードってもんにしたから特有の手順が増えちゃってるんだろ

444:デフォルトの名無しさん
21/02/19 07:48:43.11 tQjoVXv/.net
設計書
→コード→テスト
→テスト手順書→レビュー
で済むはずが
設計書
→コード→テスト
→テストコード
→レビュー
→テスト
になってるんだろ
テストコードがソースコードである以上テストしないわけにはいかんだろ

445:420
21/02/19 07:59:08.25 PldOIixM.net
>>423
伝わりにくくてすまん
紛らわしい言い方だったか
>>428
分かってくれてありがとう

446:デフォルトの名無しさん
21/02/19 08:24:00.57 IIFo83yT.net
クソ言語とは
PHP、Swift、Python
JavaScriptも昔はかなりクソだったが完全に復活した
Obj-CはSwiftに取って代わられることは無かった、コード効率が良すぎる

447:デフォルトの名無しさん
21/02/19 08:51:26.62 f7HYpZpv.net
>>438
レビューのあとの「テスト」ってビルドボタンを押す度に走るテストのこと?
それとと、gitとかにcommitする度に走るテストのこと?
作業をカテゴリ分けすると増えているように見えるだけで、作業量は減っているように見えるが
途中からこのスレ来たから、流れがわかっていない

448:デフォルトの名無しさん
21/02/19 08:52:42.54 hd6MOPhf.net
>>441
おk
半年Romれ

449:デフォルトの名無しさん
21/02/19 08:54:08.49 f7HYpZpv.net
>>438
あと、よく見ると手順が間違ってる
> 設計書
→コード
→テストコード
→レビュー(?)
→テスト(自動化)
if 自動化のテストにすべて合格したら
→結合テスト以降のテスト
だよ

450:デフォルトの名無しさん
21/02/19 09:01:26.16 f7HYpZpv.net
>>442
あっ(察し)
失礼しました(退場)

451:デフォルトの名無しさん
21/02/19 10:36:32.08 zJ55MHzK.net
>>438
> 設計書
> →コード→テスト
> →テスト手順書→レビュー
もうこの時点で意味不明w
普通は
1) 設計書 ⇒ コード(⇒ レビュー)
2) 設計書 ⇒ テスト手順書 ⇒ レビュー
3) 手動テスト(工数大)
だろ
で、自動テストなら
1) 設計書 ⇒ コード
2) 設計書 ⇒ テストコード ⇒ レビュー
3) 自動テスト(工数ほぼ "0")
要するにテストコードは計算機に対するテスト手順書だから手間は変わらんよ
むしろプログラマーだと仕様書よりコード書く方が楽と思う奴もいっぱいいるしw
あとどっちもテストと書いてるけど手動テストと自動テストでは工数が全く違うから同じ「テスト」という言葉でごまかすなよ
なおテストコードはデバッグが必要と主張するなら>>255にちゃんと反論しろ

452:デフォルトの名無しさん
21/02/19 10:53:49.57 IIFo83yT.net
テストコードは暇なら書くレベルの価値しかない。
テスト仕様書に漏れがない事が最も重要。
実データで実動作で検証するのが納品条件。

453:デフォルトの名無しさん
21/02/19 11:02:12.72 8jP4Tkvg.net
実機繋がってないと無意味なテストにしかならんの多いのよな

454:デフォルトの名無しさん
21/02/19 11:29:00.52 RipgTCDE.net
>>438
> テストコードがソースコードである以上テストしないわけにはいかんだろ
だからいらない
馬鹿なのかな?
テストコードのテストなんてお前したことないだろ?
世の中の誰もしたことないわw
そんなものありはしないんだから

> 設計書
> →コード→テスト
> →テスト手順書→レビュー
> で済むはずが
だめでしょ?レビューが正しいかをテストしなきゃwww

455:デフォルトの名無しさん
21/02/19 11:45:25.31 3OrjGIvj.net
>>448
まて、そのレビューは本当に大丈夫なのか?
レビューが適切かどうかも検証しよう(名案)

456:デフォルトの名無しさん
21/02/19 11:47:16.24 3OrjGIvj.net
間違えた
レビューが正しいかのテストが適切かどうかもテストしよう
だった

457:デフォルトの名無しさん
21/02/19 11:50:29.27 RipgTCDE.net
レビューした結果もちゃんと記録しないといけないからな
レビューの結果をドキュメントとして残すなら
そのドキュメントのレビューも必要になる
当然の帰結だ

458:デフォルトの名無しさん
21/02/19 11:52:44.73 wrciXaB+.net
単体テストの範囲でこんな凝った仕組みいらんよ
一番やりたい結合は今度セッティングのが時間かかるんで

459:デフォルトの名無しさん
21/02/19 12:21:07.58 RipgTCDE.net
「結合テストはすごく時間がかかる」
え?なんで?
「単体テストでやるべきことも
全部結合テストで手動でテストやってるからさ!」
↑馬鹿じゃね?

460:デフォルトの名無しさん
21/02/19 12:30:35.44 F46jrkhY.net
敢えて皆と同じくらいテストコードの書き方を知ってる自分が弁護するけど
class クソクラス
 頻繁に仕様が変わるメソッド
  クソコード
 不具合が生じると仕様が変わるメソッド
  クソコード
 思考停止でプライベート変数のgetter
  思考停止の変数リターン
 思考停止でプライベート変数のsetter
  思考停止の変数代入
みたいなクラスを単体テストするところを考えてみよう
他の皆の無駄じゃない主張は疑いもなく事実だろうけど、テストコードは無駄という主張はある意味では事実なのだと思う
これは...扱うコードの質の違いが生んだ悲劇
そう、事故だったんだ
テストコード厨呼ばわりについては...うん(諦め)

461:デフォルトの名無しさん
21/02/19 12:34:28.76 RipgTCDE.net
>>454
テストコードが無駄なケースでは
手動テストも無駄になる
頻繁に仕様が変わるメソッドがあったとして
手動テストをしたら時間の節約になるとでも?
ああ、テストしないってことね(笑)
プロの仕事じゃねーよ

462:デフォルトの名無しさん
21/02/19 12:43:07.19 F46jrkhY.net
>>455
> ああ、テストしないってことね(笑)
たぶん、彼の言う手動テストは俺らの言う「テストしない」のレベルだと思う
ややこしいのは主張している本人は「テストしたつもり」になっている点

463:デフォルトの名無しさん
21/02/19 12:54:53.31 F46jrkhY.net
>>455
TDD前提で語ってた
クソコードのテストコードを書こうとしたら、直ぐに設計は是正されないとだぞ

464:デフォルトの名無しさん
21/02/19 13:02:30.29 F46jrkhY.net
まず、クラス設計する際にテストコードみたいなコードを書いたりしない?
クラス利用者から見たクラスの使い勝手を確かめる意味で
で、何度も試行錯誤して、素晴らしいクラスモデルができたらテストコードを書いて、その後、実装をして...
この作業プロセスができていないから単体テストは無駄だという主張が生まれたと思っていた

465:デフォルトの名無しさん
21/02/19 13:19:31.43 IIFo83yT.net
>>458
abstractクラス<T>から頭の中で書いてるよ、それで十分
テストコードが必要なケースは、mockableAPIから全ケース流す時くらい、実データだとめんどくさいから

466:デフォルトの名無しさん
21/02/19 14:03:37.42 RipgTCDE.net
>>456
そうなんだよな。テストしたつもりになってるんだろうなって思うよ
「手動テストでテストできる!
リリース前に、人を大量に集めて人海戦術でテストするんだ!」
なんて言われたら、バグ出たらどうするの?って聞きたくなる
「バグを直して(そこだけ)テストするだけじゃないか!」っていうだろうな
たぶん、そこだけしかテストして無くて全体の再テストをしないだろう
最後にもう一回テストすればいい? いやいやバグはなくならないんだから
最後なんてありえないだろ
時間がないときは小さいバグは運用でカバーとかいってリリースするんだろ?
そしてあとから修正するんだろ?再テストするだろ?
何回小さいバグを修正する?そのたびに人を大量に集めて人海戦術でテストする?
どんだけ時間とコストがかかるんだよ?
たぶんその答えは
「小さいバグの修正なんだから、たぶん他に影響してないはずだ。動いていればヨシっ」
なんだろ?
プロの仕事じゃねーよ
自動テストしてるプロジェクトでは、一日数回のリリースと全テストを行うことだってある
このスピードに手動テストでは追いつけない


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch