X



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

0001デフォルトの名無しさん
垢版 |
2020/09/23(水) 12:29:11.02ID:irsqaiS+
単体テストは自動化するものだと思っていたから
一瞬何を言っているのかわからなかった
0614デフォルトの名無しさん
垢版 |
2020/10/09(金) 11:43:22.54ID:8qJEmYsV
>>613
> 単体テストは一般的にもIPA的にも機能性にフォーカスしたテストだからその記述は誤り
理由は

単体テストは、機能性にフォーカスしたテストであり
プログラムの内部設計書に基づいてホワイトボックステストを実施し、要求性能を満たしているかの確認を行います。

間違ってないよね?
0615デフォルトの名無しさん
垢版 |
2020/10/09(金) 11:47:34.84ID:tUZvClkH
個性あふれる文化の前には定義など無意味。
単体テスト=コードレビューという場所だってあるんだぜ。
0616デフォルトの名無しさん
垢版 |
2020/10/09(金) 11:56:10.47ID:8qJEmYsV
>>615
その場所がどこか言えるなら、一般的な定義と言えるだろう

企業秘密だから言えるわけないとかいう話なら
それは一般的な定義じゃないだろう
0617デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:36:02.83ID:mOpqVRBo
>>613
試験勉強に毒されて正しいとされる回答を妄信するパターンだね
社会人になって治る人と治らない人がいるんだけど
治らない人は自分で考える力がないので総じて使えない
0618デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:40:07.10ID:EjYkYVIx
>>617
正しい回答とは限らないから、間違ってんだという
根拠をまったく言わずに否定するパターンだね
根拠がないなら主張するのやめたら?
0619デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:43:02.32ID:83iRAGlc
この手の議論をする時は国家資格や有名なベンダー資格等で扱う言葉で議論するべき。

そもそも、企業勤めで資格取る奴は経験も十分に積んでるよ。
資格なんて大学受験に比べれば楽すぎる。
なんで、たったの数千円でとれる資格を取らないの?

言葉が共有できない猿が議論に参加すると邪魔だから消えてほしいね。
0620デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:46:14.62ID:lC8K76Tw
なんで資格を取らないのかって議論にすり替えるのやめてほしい
0621デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:48:03.07ID:lC8K76Tw
>>616
一般的な定義かどうかを議論するのやめてほしい
0622デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:48:25.97ID:83iRAGlc
>>617 ←こいつが始めた話だろう。
それ以前にも似たような発言がある。
なぜ、そっちに突っ込まない。同一人物か?
0623デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:48:37.58ID:EjYkYVIx
資格を取らなくてもいいよ。
ただし世間一般の常識を知らないと潰しが効かなくなる
0624デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:49:44.16ID:EjYkYVIx
>>621
> 一般的な定義かどうかを議論するのやめてほしい

なぜ?一般的な定義で話をするのは当たり前でしょ?
そうでないなら○○の定義ではってちゃんと言うこと
一部でしか使われない定義をいっても通じるわけがないんだから
0625デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:51:35.65ID:lC8K76Tw
>>505
>パフォーマンスの性能のことだとすれば、性能以外は確認しない感じの文章になる
>
>普通に間違いっぽいね

仮定を置いて間違いが導かれるなら仮定が誤りだと結論できる
0626デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:53:40.49ID:lC8K76Tw
>>624
普通は通じるよ、語用論でググってみ、概念と単語を同じものだと思ってるから理解できないんだよ
君のコミュニケーションにおける相手の言葉への不寛容さはアスペと呼ばれてもおかしくないよ
0627デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:56:26.55ID:lC8K76Tw
言葉の一部を切り取って騒ぐマスコミとやってることは変わらん
文脈からどういう意味で使ってるのが類推して理解するのが普通の人のコミュニケーション
言葉の定義がー定義がーなんてリアルな会話ではやらないでしょ?
それをやったら会話にならないと思われるから
0629デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:59:02.45ID:lC8K76Tw
5chはアスペに寛容なコミュニティとも言えるかな
0630デフォルトの名無しさん
垢版 |
2020/10/09(金) 13:00:31.33ID:83iRAGlc
昼休みに話の通じない馬鹿に遭遇するとは思わなかった。
話さえ通じれば何でもいいが、駄目だなこりゃ。
厶板にが過疎化する理由がよくわかったよ。

二度とこの板に来ないほうがいいな。
知的障害者との会話は疲れる。
0631デフォルトの名無しさん
垢版 |
2020/10/09(金) 13:01:02.93ID:EjYkYVIx
>>626
そんな話はしてない。通じるかどうかじゃなくて
"別の意味として"間違って通じてしまっては意味がないから
一般的な定義の話しようと言ってるだけ
0632デフォルトの名無しさん
垢版 |
2020/10/09(金) 13:03:06.66ID:EjYkYVIx
>>627
> 言葉の定義がー定義がーなんてリアルな会話ではやらないでしょ?

そりゃそうだろw
リアルな会話で「俺の会社では」なんて話をしないんだからw
0633デフォルトの名無しさん
垢版 |
2020/10/09(金) 13:20:26.77ID:lC8K76Tw
>>631
通じるわけがないって言ってましたよね、そんなことないですよってこと

>>632
リアルではしないんだ
0634デフォルトの名無しさん
垢版 |
2020/10/09(金) 13:47:09.26ID:JQ1AMLdD
で、その会社文化とやらのテスト分類定義を採用すると、
IPAのテスト分類定義を採用するのに比べてどんなメリットがあるんだい?
0635デフォルトの名無しさん
垢版 |
2020/10/10(土) 05:20:40.98ID:YQJRDE1T
何でこんなスレが伸びてるんだと思ったらあからさまな釣りに釣られてるやつが多かっただけか
0636デフォルトの名無しさん
垢版 |
2020/10/11(日) 00:58:37.49ID:jQvs4XJ7
たんたい‐テスト【単体テスト】 の解説
《unit test》ソフトウエアテストの一。動作対象を小さな単位に分割してテストすることを指す。→結合テスト →ビッグバンテスト
0637デフォルトの名無しさん
垢版 |
2020/10/11(日) 01:00:37.45ID:jQvs4XJ7
言葉の定義は設計書の付録についてくるでしょ
リアルな会話でやらない人は上流工程に参加してないだけ
0638デフォルトの名無しさん
垢版 |
2020/10/11(日) 01:02:41.18ID:QQ2vPcGT
ソフトウェアの最小単位は画面やページやろ?
どうやって1つの関数でテストできるっていうんだ?
0639デフォルトの名無しさん
垢版 |
2020/10/11(日) 11:16:33.93ID:jQvs4XJ7
そうなんだよ
小さい単位だとしか定義されていない
画面は論外としても関数だとは誰も言ってない

昔は暗黙の了解で
単体テスト=関数だった

推測だが
CUIアプリの場合:単体テスト=関数
GUIアプリの場合:単体テスト=1機能を実現する為の最小コンポーネント群
という風になってしまったんじゃないだろうか

要するにCUIのC言語アプリなら関数を最小単位にするのは直感的で
GUIのVBアプリならテキストボックス+ボタンのセットを最小単位とするのが直感的だった

だから自然と2つの意味が併存してしまい
しかも実施時には違和感を感じなかった
0640デフォルトの名無しさん
垢版 |
2020/10/11(日) 11:39:31.27ID:rsxmIi7K
結論

無能は関数単位でテストする方法がわからない
その方法が存在することを知らない
だから実行ファイルを使ってテストすることしかできない
0641デフォルトの名無しさん
垢版 |
2020/10/11(日) 11:41:06.19ID:rsxmIi7K
>>639
> CUIアプリの場合:単体テスト=関数

無能の場合CUIアプリのテストとは
実行ファイルを実行してテストする

例えばgitの場合、gitのすべてのコマンドを実行してテストする
git initをしたらどういうファイルが作成されるかをチェックしている
0642デフォルトの名無しさん
垢版 |
2020/10/11(日) 11:53:56.56ID:kZXFoyze
対象になってる粒度次第
0644デフォルトの名無しさん
垢版 |
2020/10/11(日) 12:00:01.38ID:mzj9OHDg
無能ほど無駄な仕事を多くやろうとする

コマンドごとにテストできることをわざわざ関数ごとにテストして膨大な工数を無駄にする
しかも関数のテストをしたってコマンドが正しく動作する保証にはならないから関数のテストは意味がない

バグが混入しにくい堅牢なコードを書くことに労力をかけて
テストはある程度大きな粒度でやったほうがいい
最小限のテストで最大の効果を得ることを考えろ

暇を持て余した学生のお遊びじゃないんだ
業務では工数は限られてる
0645デフォルトの名無しさん
垢版 |
2020/10/11(日) 12:14:15.39ID:TaKoEgM9
また業務ガイジ湧いてて草
0648デフォルトの名無しさん
垢版 |
2020/10/11(日) 13:19:41.83ID:jQvs4XJ7
納品の為のテスト
トラブル対応の時間を減らす為のテスト
損害賠償を回避する為のテスト

同じように見えるテストでも目的は色々
目的が変われば手段も変わる
0649デフォルトの名無しさん
垢版 |
2020/10/11(日) 18:23:47.93ID:z7d9ld+N
なるほどな
仕様を満たしているか確認するためのテストはしなくていい現場ってのがあるわけだ
0651デフォルトの名無しさん
垢版 |
2020/10/11(日) 19:47:52.34ID:jQvs4XJ7
自動テストはダメなの→自動テストが正しい事はどうやって担保するのか→人間のほうが信用できない→自動テスト作ってるのも人間→ふぁ?

人類はこうやって無駄を繰り返してきた

そもそも自動テストは繰り返し何度も行う前提
ウォーターフォールであるおまえらの現場では自動テストは相性が悪い
0652デフォルトの名無しさん
垢版 |
2020/10/11(日) 19:49:19.76ID:kFRHzfrM
>>651
根本的にわかってないだろw

> そもそも自動テストは繰り返し何度も行う前提
テストが一回で終わることなんてありえないよ
バグを修正するたびに全部テストやり直しだからね
1つでも見つかったら全部やり直し
0653デフォルトの名無しさん
垢版 |
2020/10/11(日) 20:08:06.89ID:IRO7qPRX
バグはコンパイラに探させたほうがいい
だから関数型がいいんだ
関数型はテストもシンプルで少なくて済む
0656デフォルトの名無しさん
垢版 |
2020/10/11(日) 20:51:40.01ID:dpbsaRzg


ゲームで設定から言語を
英語から日本語に変更したら
日本語で表示されるでしょ?

関数型でも同じことなんだが
0658デフォルトの名無しさん
垢版 |
2020/10/11(日) 21:07:29.17ID:jQvs4XJ7
ナウなヤングはステートを持たないコーディングがバカウケでしょ?
DBに持たせてアプリケーションサーバには持たせない
0659デフォルトの名無しさん
垢版 |
2020/10/11(日) 23:34:04.06ID:W4Wa1Rix
言語変更の問題なら、
すべきテストは異なる環境を網羅した横展開のテストだけど、
>>1の指摘なら、全く同じ環境なのに手動で1000回試行しろと命じられる縦に掘っていくテスト
0660デフォルトの名無しさん
垢版 |
2020/10/13(火) 19:03:34.58ID:iaFJXjyC
>>656
純粋に関数型を突き詰めるなら状態が必要な部分は全部引数に追い出すのが正解じゃないかな
多言語対応必要なラベルは言語コンフィグ参照なんかせずに毎度文字列を受け取れってことだ
まあ流石にそれはきついだろうから文字列そのものじゃなく文字列を吐くモナドを受け取る形でもいいと思うけど
0662デフォルトの名無しさん
垢版 |
2020/10/15(木) 16:45:53.96ID:HNijBbKl
>>661
ちゃんと読めよ
自動化してもテストケースは人間が作ってるから
テストケースも自動化しようぜ!っていうのがHypothesisっていうツールの役目だろ?
だから自動テスト自体を否定してるもんじゃないぞ

https://github.com/HypothesisWorks/hypothesis
0665デフォルトの名無しさん
垢版 |
2020/10/16(金) 08:32:18.61ID:FKXPrG5o
>>664
むしろ、従来の自動化程度では甘い。もっと自動化しようぜとしか読めないのだが。
てか、あんた、中学レベルの英語を読めないの?
0667デフォルトの名無しさん
垢版 |
2020/10/16(金) 12:10:17.32ID:nTFwSCW3
自動テストを実現できていれば
中身を他の言語で書き直しても
簡単に動作確認が取れるよな
0668デフォルトの名無しさん
垢版 |
2020/10/16(金) 12:12:12.88ID:jRO02CLT
開発環境言語とテスト環境言語は一緒でも良いけど
開発環境とテスト環境は一緒にしてると移行しにくいな

ソースにテスト埋め込めます(キリッ
っていう言語多いけどさ
0669デフォルトの名無しさん
垢版 |
2020/10/16(金) 18:51:33.46ID:z+duWmz5
全自動になったとしてさ
ルールは与えないといけないわけでしょ?
そのルールのデバッグできないの?
0671デフォルトの名無しさん
垢版 |
2020/10/16(金) 21:42:50.76ID:Z7geSy3Q
仕様書に書いてあることだけチェックすりゃいいわけで
仕様書の項目以上増えることはない
0672デフォルトの名無しさん
垢版 |
2020/10/17(土) 10:32:40.48ID:0qFIP5N2
仕様書からコード自動生成すればテスト不要説
0674デフォルトの名無しさん
垢版 |
2020/10/17(土) 11:55:44.81ID:LinsUHOp
>>672
CASEツールやらUMLコード生成やらもう何十年も前からそういったアプローチがあるけど全くスタンダードになってない。
唯一Matlab+Simulinkが自動車業界で流行ってるぐらいかな?
開発言語の進化こそあるにせよ結局仕様書の曖昧さを具体化するのはソースコードのみであるという事実は何も変わってない。
0675デフォルトの名無しさん
垢版 |
2020/10/17(土) 12:29:10.51ID:Ty9bf9Kk
仕様書は結構曖昧に書かれている
その曖昧な仕様書をよんで、ここが曖昧ですと指摘できるAIが
実現できないと仕様書からコードは自動生成できるようにはならない

しかし曖昧な文章を理解できてかつ、曖昧な文章を曖昧だと指摘できるAIは作れるのかね?
0676デフォルトの名無しさん
垢版 |
2020/10/17(土) 12:35:18.94ID:qrQLeEGD
仕様書が曖昧でも別に俺らは困らないよな
割と曖昧に組むこともできるし

会社の経営者層と俺らって一線引いてあること多いし
セキュリティが緩かったですなんて完全に他人事
客先常駐だったらそもそも仕様を決めたクソったれが悪いし
請負だったら出された要件を満たす項目だけ組むだけ
要件に最強のセキュリティとか書いてあったらできませんと返すことになるだろうが
0677デフォルトの名無しさん
垢版 |
2020/10/17(土) 12:37:17.41ID:/Ip3Dsod
アスペ型AI最強説
0678デフォルトの名無しさん
垢版 |
2020/10/17(土) 12:55:58.45ID:ef5D23Sc
仕様書から生成されたコードの動きをテストするのは
仕様の曖昧さとは関係ない
仕様に曖昧さがなくてもテストは必要
0679デフォルトの名無しさん
垢版 |
2020/10/17(土) 13:02:44.32ID:Ty9bf9Kk
>>676
> 仕様書が曖昧でも別に俺らは困らないよな

プログラムに直すときに修正しているからね
コンピュータ(AI含む)はそれができないから
仕様書からのコードの自動生成なんて不可能
0683デフォルトの名無しさん
垢版 |
2020/10/17(土) 16:23:53.28ID:0qFIP5N2
>仕様記述言語

rubyのことですねわかります
0687デフォルトの名無しさん
垢版 |
2021/05/04(火) 11:11:34.18ID:b1y0cGGl
俺は単体テスト煽りの意見を支持する
単体テストは杓子定規な方便だよ
ネクタイと革靴の有無で大人度を判断するような本質からズレたまま根付いたスタンダード
まるで無駄とは言わんが、なくなった方が世界が少しシンプルになるやつだ
0689デフォルトの名無しさん
垢版 |
2021/08/22(日) 09:13:05.54ID:0Cz6ueFz
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
0690デフォルトの名無しさん
垢版 |
2021/08/22(日) 10:26:58.06ID:0Cz6ueFz
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
0691デフォルトの名無しさん
垢版 |
2021/09/30(木) 00:33:23.23ID:LxZQn4OD
きれいなテストが書けるやつのコードは読みやすいよ
テストに工数がかかるし意味ないって言ってるやつはCLEANなコードが書けていないだけ
0692デフォルトの名無しさん
垢版 |
2022/01/25(火) 07:14:27.74ID:oh1CnL8E
おまえらテストいちいち自動化してんの?
マジでえらいな
おれ時間勿体無いしそんな時間あったらネットしたりしてたいから
手動でぱぱっと終わらして
仕様変更来ても関係なさそうな部分だったらテストしないわ
0694デフォルトの名無しさん
垢版 |
2022/02/23(水) 22:50:38.23ID:vebGIGPQ
なんだか20年くらい前にユースケース図が流行ったときに
全く役立たない棒人形ばかり仕様書に書いていた事を思い出した。
テストプログラムもユースケースと同じように書いてる本人も意味が分かっていないかも?
0695デフォルトの名無しさん
垢版 |
2022/02/24(木) 05:17:14.07ID:p2TrS2W4
テストプログラムがなんのことか知らないけど、
よく使われている有名なオープンソースソフトウェアには
かならずテストコードがありますよね?

テストコードの重要性は否定できないのでは?
ユースケースは殆ど見かけないけど
0696デフォルトの名無しさん
垢版 |
2022/02/24(木) 09:59:05.05ID:bIfpVEhP
>>695
ユースケース図のコピペと同じで
常にパスするテストコードばかりのプロジェクトも見たことある。

関係ないがその会社は他にも難があり

VisualSourceSafe(当時)みたいな履歴管理システムは分かりにくいから使うな。
クラスはトレースが困難だから使うのはやめるように
JavaのInterfece宣言がプライベードメソッドにだけされている。
DBでSelectした場合は必ずInsertした順序で出るから・・・

今でもこんなところがありそうなので怖い。
0697デフォルトの名無しさん
垢版 |
2022/02/26(土) 11:15:18.32ID:G6ZMwUwP
え?ユースケース図は今は書かないの?
要件定義ではいつも書いてるけど
0698デフォルトの名無しさん
垢版 |
2022/09/23(金) 05:40:13.22ID:SjZ1QYT4
このスレ加齢臭すごいな
汎用系→WEB系に転職したけど
まさに汎用系の現場にいたようなやつらばかりだね

どうせアレだろ?「スクリプト言語は簡単!バカでも出来る!!」信仰なんだろ?
一生COBOLでPERFORM文でも書いとけや
金になるからって若手に変な仕事押し付けないでください。
0702デフォルトの名無しさん
垢版 |
2022/11/17(木) 15:17:22.85ID:4/RBxSzs
ユニットテストにエクセル生成のライブラリをくっつけたやつが有れば便利なんじゃないかと思ってる
0705デフォルトの名無しさん
垢版 |
2023/04/18(火) 08:37:01.78ID:7G0k8gAq
単体テストって改修した部分のコードをexcelに貼り付けて確認表を埋めるんだろ。知ってる。
0707デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:23:05.16ID:pNuOLFVm
>>704
テストパラメータをズラズラ並べる時なんかはcopilotの補完がかなり利くね
テストデータを外出しにすると逆に補完が利きづらいから外出ししたくなくなるw
レスを投稿する


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