2ch勢いランキング 全部 1- 最新50

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


デフォルトの名無しさん [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
テーテテーテテッテッテッ

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

2ch勢いランキング 全部 1- 最新50 プログラム板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したキャッシュです。元のページはこちら。削除についてはこちら