「単体テストを手動で行いエビデンス取る」の破壊力
- : デフォルトの名無しさん [sage] 2020/09/23(水) 12:29:11.02:irsqaiS+
- 単体テストは自動化するものだと思っていたから
一瞬何を言っているのかわからなかった - : デフォルトの名無しさん [sage] 2020/10/11(日) 00:58:37.49:jQvs4XJ7
- たんたい‐テスト【単体テスト】 の解説
《unit test》ソフトウエアテストの一。動作対象を小さな単位に分割してテストすることを指す。→結合テスト →ビッグバンテスト - : デフォルトの名無しさん [sage] 2020/10/11(日) 01:00:37.45:jQvs4XJ7
- 言葉の定義は設計書の付録についてくるでしょ
リアルな会話でやらない人は上流工程に参加してないだけ - : デフォルトの名無しさん [sage] 2020/10/11(日) 01:02:41.18:QQ2vPcGT
- ソフトウェアの最小単位は画面やページやろ?
どうやって1つの関数でテストできるっていうんだ? - : デフォルトの名無しさん [sage] 2020/10/11(日) 11:16:33.93:jQvs4XJ7
- そうなんだよ
小さい単位だとしか定義されていない
画面は論外としても関数だとは誰も言ってない
昔は暗黙の了解で
単体テスト=関数だった
推測だが
CUIアプリの場合:単体テスト=関数
GUIアプリの場合:単体テスト=1機能を実現する為の最小コンポーネント群
という風になってしまったんじゃないだろうか
要するにCUIのC言語アプリなら関数を最小単位にするのは直感的で
GUIのVBアプリならテキストボックス+ボタンのセットを最小単位とするのが直感的だった
だから自然と2つの意味が併存してしまい
しかも実施時には違和感を感じなかった - : デフォルトの名無しさん [sage] 2020/10/11(日) 11:39:31.27:rsxmIi7K
- 結論
無能は関数単位でテストする方法がわからない
その方法が存在することを知らない
だから実行ファイルを使ってテストすることしかできない - : デフォルトの名無しさん [sage] 2020/10/11(日) 11:41:06.19:rsxmIi7K
-
> CUIアプリの場合:単体テスト=関数
無能の場合CUIアプリのテストとは
実行ファイルを実行してテストする
例えばgitの場合、gitのすべてのコマンドを実行してテストする
git initをしたらどういうファイルが作成されるかをチェックしている - : デフォルトの名無しさん [] 2020/10/11(日) 11:53:56.56:kZXFoyze
- 対象になってる粒度次第
- : デフォルトの名無しさん [sage] 2020/10/11(日) 11:54:31.15:TaKoEgM9
-
ttp://https://github.com/git/git/tree/master/t
gitにgitのユニットテスト乗ってるけど半端ないよなこれ
シェルバッチで全部テストしてる - : デフォルトの名無しさん [sage] 2020/10/11(日) 12:00:01.38:mzj9OHDg
- 無能ほど無駄な仕事を多くやろうとする
コマンドごとにテストできることをわざわざ関数ごとにテストして膨大な工数を無駄にする
しかも関数のテストをしたってコマンドが正しく動作する保証にはならないから関数のテストは意味がない
バグが混入しにくい堅牢なコードを書くことに労力をかけて
テストはある程度大きな粒度でやったほうがいい
最小限のテストで最大の効果を得ることを考えろ
暇を持て余した学生のお遊びじゃないんだ
業務では工数は限られてる - : デフォルトの名無しさん [] 2020/10/11(日) 12:14:15.39:TaKoEgM9
- また業務ガイジ湧いてて草
- : デフォルトの名無しさん [sage] 2020/10/11(日) 12:24:51.84:mzj9OHDg
- 無職ガイジ
- : デフォルトの名無しさん [sage] 2020/10/11(日) 12:26:59.56:j3Pyb3UX
-
CUIとCLIは別やで
gitはCLI - : デフォルトの名無しさん [sage] 2020/10/11(日) 13:19:41.83:jQvs4XJ7
- 納品の為のテスト
トラブル対応の時間を減らす為のテスト
損害賠償を回避する為のテスト
同じように見えるテストでも目的は色々
目的が変われば手段も変わる - : デフォルトの名無しさん [sage] 2020/10/11(日) 18:23:47.93:z7d9ld+N
- なるほどな
仕様を満たしているか確認するためのテストはしなくていい現場ってのがあるわけだ - : デフォルトの名無しさん [sage] 2020/10/11(日) 19:39:47.33:ksbz56K1
- その種のテストはなぜか手動でやれとか言い出すのがSIerやで
- : デフォルトの名無しさん [sage] 2020/10/11(日) 19:47:52.34:jQvs4XJ7
- 自動テストはダメなの→自動テストが正しい事はどうやって担保するのか→人間のほうが信用できない→自動テスト作ってるのも人間→ふぁ?
人類はこうやって無駄を繰り返してきた
そもそも自動テストは繰り返し何度も行う前提
ウォーターフォールであるおまえらの現場では自動テストは相性が悪い - : デフォルトの名無しさん [sage] 2020/10/11(日) 19:49:19.76:kFRHzfrM
-
根本的にわかってないだろw
> そもそも自動テストは繰り返し何度も行う前提
テストが一回で終わることなんてありえないよ
バグを修正するたびに全部テストやり直しだからね
1つでも見つかったら全部やり直し - : デフォルトの名無しさん [sage] 2020/10/11(日) 20:08:06.89:IRO7qPRX
- バグはコンパイラに探させたほうがいい
だから関数型がいいんだ
関数型はテストもシンプルで少なくて済む - : デフォルトの名無しさん [sage] 2020/10/11(日) 20:27:18.34:dpbsaRzg
- 関数型で状態があるテストはどうやってやるの?
- : デフォルトの名無しさん [sage] 2020/10/11(日) 20:28:39.68:IRO7qPRX
- そんなものはない
- : デフォルトの名無しさん [sage] 2020/10/11(日) 20:51:40.01:dpbsaRzg
- ?
ゲームで設定から言語を
英語から日本語に変更したら
日本語で表示されるでしょ?
関数型でも同じことなんだが - : デフォルトの名無しさん [sage] 2020/10/11(日) 20:54:28.98:z7d9ld+N
- 英語を入力して、日本語が出力されるのを確認、じゃないの
- : デフォルトの名無しさん [] 2020/10/11(日) 21:07:29.17:jQvs4XJ7
- ナウなヤングはステートを持たないコーディングがバカウケでしょ?
DBに持たせてアプリケーションサーバには持たせない - : デフォルトの名無しさん [sage] 2020/10/11(日) 23:34:04.06:W4Wa1Rix
- 言語変更の問題なら、
すべきテストは異なる環境を網羅した横展開のテストだけど、
の指摘なら、全く同じ環境なのに手動で1000回試行しろと命じられる縦に掘っていくテスト - : デフォルトの名無しさん [sage] 2020/10/13(火) 19:03:34.58:iaFJXjyC
-
純粋に関数型を突き詰めるなら状態が必要な部分は全部引数に追い出すのが正解じゃないかな
多言語対応必要なラベルは言語コンフィグ参照なんかせずに毎度文字列を受け取れってことだ
まあ流石にそれはきついだろうから文字列そのものじゃなく文字列を吐くモナドを受け取る形でもいいと思うけど - : デフォルトの名無しさん [sage] 2020/10/15(木) 12:59:52.75:topCoxzZ
- 自動テストは効果がありませんって言われてるぞ
ttp://https://hypothesis.works/ - : デフォルトの名無しさん [] 2020/10/15(木) 16:45:53.96:HNijBbKl
-
ちゃんと読めよ
自動化してもテストケースは人間が作ってるから
テストケースも自動化しようぜ!っていうのがHypothesisっていうツールの役目だろ?
だから自動テスト自体を否定してるもんじゃないぞ
ttp://https://github.com/HypothesisWorks/hypothesis - : デフォルトの名無しさん [sage] 2020/10/15(木) 21:45:30.14:A5nmP/dE
- 老眼だからタイトル以外読めなかったんだよ
- : デフォルトの名無しさん [sage] 2020/10/16(金) 05:14:11.22:JZ/7iYjr
- × 自動テストは効果がありません
○ テストケースを自動化することは効果がありません
ttp://https://hypothesis.works/ - : デフォルトの名無しさん [sage] 2020/10/16(金) 08:32:18.61:FKXPrG5o
-
むしろ、従来の自動化程度では甘い。もっと自動化しようぜとしか読めないのだが。
てか、あんた、中学レベルの英語を読めないの? - : デフォルトの名無しさん [sage] 2020/10/16(金) 09:32:48.76:Rg7DLMwV
- ニンゲンに金銭を注入することで自動的に作業させてます。
- : デフォルトの名無しさん [sage] 2020/10/16(金) 12:10:17.32:nTFwSCW3
- 自動テストを実現できていれば
中身を他の言語で書き直しても
簡単に動作確認が取れるよな - : デフォルトの名無しさん [] 2020/10/16(金) 12:12:12.88:jRO02CLT
- 開発環境言語とテスト環境言語は一緒でも良いけど
開発環境とテスト環境は一緒にしてると移行しにくいな
ソースにテスト埋め込めます(キリッ
っていう言語多いけどさ - : デフォルトの名無しさん [sage] 2020/10/16(金) 18:51:33.46:z+duWmz5
- 全自動になったとしてさ
ルールは与えないといけないわけでしょ?
そのルールのデバッグできないの? - : デフォルトの名無しさん [sage] 2020/10/16(金) 20:57:43.76:nTFwSCW3
-
仕様書を数式で書けば可能だが - : デフォルトの名無しさん [sage] 2020/10/16(金) 21:42:50.76:Z7geSy3Q
- 仕様書に書いてあることだけチェックすりゃいいわけで
仕様書の項目以上増えることはない - : デフォルトの名無しさん [] 2020/10/17(土) 10:32:40.48:0qFIP5N2
- 仕様書からコード自動生成すればテスト不要説
- : デフォルトの名無しさん [sage] 2020/10/17(土) 10:42:01.97:5q1XC6C5
-
発想が貧弱 - : デフォルトの名無しさん [sage] 2020/10/17(土) 11:55:44.81:LinsUHOp
-
CASEツールやらUMLコード生成やらもう何十年も前からそういったアプローチがあるけど全くスタンダードになってない。
唯一Matlab+Simulinkが自動車業界で流行ってるぐらいかな?
開発言語の進化こそあるにせよ結局仕様書の曖昧さを具体化するのはソースコードのみであるという事実は何も変わってない。 - : デフォルトの名無しさん [sage] 2020/10/17(土) 12:29:10.51:Ty9bf9Kk
- 仕様書は結構曖昧に書かれている
その曖昧な仕様書をよんで、ここが曖昧ですと指摘できるAIが
実現できないと仕様書からコードは自動生成できるようにはならない
しかし曖昧な文章を理解できてかつ、曖昧な文章を曖昧だと指摘できるAIは作れるのかね? - : デフォルトの名無しさん [sage] 2020/10/17(土) 12:35:18.94:qrQLeEGD
- 仕様書が曖昧でも別に俺らは困らないよな
割と曖昧に組むこともできるし
会社の経営者層と俺らって一線引いてあること多いし
セキュリティが緩かったですなんて完全に他人事
客先常駐だったらそもそも仕様を決めたクソったれが悪いし
請負だったら出された要件を満たす項目だけ組むだけ
要件に最強のセキュリティとか書いてあったらできませんと返すことになるだろうが - : デフォルトの名無しさん [] 2020/10/17(土) 12:37:17.41:/Ip3Dsod
- アスペ型AI最強説
- : デフォルトの名無しさん [sage] 2020/10/17(土) 12:55:58.45:ef5D23Sc
- 仕様書から生成されたコードの動きをテストするのは
仕様の曖昧さとは関係ない
仕様に曖昧さがなくてもテストは必要 - : デフォルトの名無しさん [sage] 2020/10/17(土) 13:02:44.32:Ty9bf9Kk
-
> 仕様書が曖昧でも別に俺らは困らないよな
プログラムに直すときに修正しているからね
コンピュータ(AI含む)はそれができないから
仕様書からのコードの自動生成なんて不可能 - : デフォルトの名無しさん [sage] 2020/10/17(土) 13:23:25.28:9U6WfMT4
- 無知って怖いね
- : デフォルトの名無しさん [sage] 2020/10/17(土) 13:31:34.30:3xHHIx95
- 世の中には仕様記述言語というのがあってだな
- : デフォルトの名無しさん [sage] 2020/10/17(土) 15:10:30.11:zcPq/h/0
- ところが誰も使ったことがないのである
- : デフォルトの名無しさん [] 2020/10/17(土) 16:23:53.28:0qFIP5N2
- >仕様記述言語
rubyのことですねわかります - : デフォルトの名無しさん [sage] 2020/10/18(日) 11:43:25.20:FKsFCJUX
- ラヴィ
- : デフォルトの名無しさん [sage] 2020/10/20(火) 00:14:22.29:263iGv0V
- テーテテーテテッテッテッ
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキングが作成したキャッシュです。元のページはこちら。削除についてはこちら。