「単体テストを手動で行いエビデンス取る」の破壊力
するわけねえわwwwユーザと関係ないだろうがバカがwwwww 何のためのテストだよwwwwww
意味のないテストやって尺稼ぎしてんじゃねえぞ経営者目線で仕事しろ ユーザと関係ないところで一生懸命頑張っても誰も認めねえからな
売上に一ミリも寄与しないこと頑張ってどうするんだwwwwwwwww
wwwwユーザから目をそらすために関係ないこと頑張ってるんだろwwwwww
パソコンが好きなだけじゃ会社は成り立たねえんだよwwwwwwwww >>364
> ログ出力だって機能の一つなんだからテストするでしょ?
わざとかもしれないけど(笑)話がすり替わってる
ログ出力機能のテストの話じゃなくて
○○機能のテストをするとき、その機能の結果をログに出力して
その出力を目視で人力比較してテストするのはアホという話をしてる 単体テストのテストコード書くほうが100倍アホだからwwwwww
wwwwwwwそこんとこ忘れんといてよwwwwwwwwwwwwww 自動テストでも実行結果をログに出力できるわけで
コンピュータで「比較」までやるか、人力で「比較」するか
誰が「比較」するのか?が違う所なんだよね なんかよくわからないところに噛み付いてるのでスルー これの話だからな
289 自分:デフォルトの名無しさん[sage] 投稿日:2020/09/26(土) 20:50:49.34 ID:c/9EiqGf [4/8]
単体テスト(自動テスト)で正しい値と比較 vs 目視確認でそれっぽい値かどうかチェック
って話だったの忘れたのかな?w
291 返信:デフォルトの名無しさん[] 投稿日:2020/09/26(土) 20:52:18.62 ID:IgGP+BQU [29/30]
>>289
結局最後に頼れるのは人間の目だからな
何のために目が付いてるか考えろ
ログを見るためだろうが 関数の入力仕様と出力仕様が明確なら
ログ出力関数のテストは簡単
でもログ出力関数を使う処理が正しくログ出力してるかどうかのテストはそう簡単ではない
なぜならログ出力の正しさを判定するためにはログ出力以外の結果は正しいということが事前にわかってなければいけないから
つまりログ出力だけでは処理の正しさを証明することは出来ない
テストで「正しいと証明できる」という考え自体がある種の幻想 このスレ見てると一体どういう自動テストを実装してて
どういうログを流してるのか本当に気になるわ
そんな突き抜けバグ(不具合起きてるのに何故か正常終了扱いになってる状態)を抱えた自動テストばっかり使ってるの?
本当にどういう自動テストを想定してるのか分からん
まさかログに値だけ出して、後でその値が正しいのか人間がチェックしてるのか?
それ自動テストじゃなくて、ただの自動実行だよ
テストっていうならグリーン/レッド判定まで実装してなきゃ使いもんにならん > 本当にどういう自動テストを想定してるのか分からん
> まさかログに値だけ出して、後でその値が正しいのか人間がチェックしてるのか?
ログに値だけだして〜って言ってる人は、自動テストしてないよ
ログに値だけだして目視確認する手動テストでいいって言ってる
なぜなら正しい結果がわからないから
これ↓ね。こいつの言ってる意味がわからんと思うけど、意味不明だと俺も思うw
28 名前:デフォルトの名無しさん[sage] 投稿日:2020/09/23(水) 20:17:23.00 ID:cCwBtdaA [9/11]
テストと言いつつできるのは計算過程と処理結果を残すだけだと思ってるよ俺は
長年考えた結果
正しい値なんてのは実は物理的に誰も知りえないということを理解した
なのでテストで重視するのは俺は組んだコードのエビデンスの方
どんな処理書いてどんなログ出したか
自動テストは結局同じやつが作ってる以上同じ不具合入ってるだろうなって思ってるw そろそろレス古事記に構うのをやめようか…
テストはバカだという証明はできるけど、いくら指摘しても修正しない限りバカはバカのままだし エビデンスとはテストを端折らずに実行しましたと言う証拠であって
動作の正しさやテスト手順の正しさを証明する証拠ではない
エビデンスという名の作業ログ 自社開発ならエビデンスは要らんよ
しょせん対外的な作業証明でしかないからな
それよりテストコード、テスト可能なコードを書いてくれや 細かいことで揉めるから、
>>1のような提案をする空気だけは読めるバカが出世して管理職になんだな。この業界は >>378
そのとおり
バグっている場合は、そのバグの様子をスクショしてるだろうからバグがあるというエビデンスにはなるだろう
しかしバグがないというエビデンスにはならない。これは自動テストでも同じだが、大きな違いは
バグってないというスクショをとっても、正しくテストを実行したというエビデンスにはならないという点
スクショ取るだけではテストケースは書いてあっても、そのテストどおりにテストをしたという証拠にはならない
最終結果だけでなく一連の動作を動画で撮影してるならまだわかるが、間違って手順でテストしたかもしれない
つまりエビデンスというのは(手順が間違ってるかもしれないけど)ちゃんと作業しましたという意味にしかならない
どういう手順でテストを実行したかという記録が含まれていない
自動テストの場合は最終結果だけでなくどういう手順でテストを実行したかが記録されている。
必要なら再実行もできる。だからこれこそが本当のエビデンスになる。 スクショには正しい手順でテストを実行したかが記録されていないのだから
作業をしましたという報告でしかない。
バグのスクショは意味があるが、正しく動きましたというスクショは必要ない
だからこれは本来この項目をテストOKでしたとチェックリストにチェックつけるだけで十分
チェックリストにOKでしたというチェックをつければ十分なことに
スクショを必要とするのは、単に作業者の報告を信用してないという意味でしかない 単体テスト書いとけば改修しても自動で既存機能が壊れてないことが確認できる
ゆえに機能の改修を心置きなくできる
テストがないと気軽に既存機能に手を入れるわけにはいかなくなる
(あたりまえ) 自動テストがないと手動テストをしないといけない
それは膨大な作業量となる
だからバグのないコードを書け、作ったら改修はするな!と叫ぶ
バグがあったときのことまで考えてない
仕様に変更があったときのことまで考えてない
一旦書いたら終わりという前提でいるやつがいる そのほうがビジネスとしては美味しんだ
テクニカルな面で優れた手法がビジネスでも優れた手法であるとは限らない >>385
単にビジネスが下手なだけだろ?
内部は楽をして、外部に対してこんなに頑張ってるんですよーってアピールすればいいだけ
外部に頑張りをアピールするために、実際に内部でも無駄に頑張る必要はない >>382
>バグのスクショは意味があるが、正しく動きましたというスクショは必要ない
正しく動いてたと思っていたものに後から不具合が見つかった場合
前回テスト時のスクショがあると調査が効率的にできる
それは自動でも手動でも同じ
>スクショを必要とするのは、単に作業者の報告を信用してないという意味でしかない
個人への信用に依存したシステムはミスがあれば個人を責めることになるのですぐブラック化する
典型的なマネジメント能力不足の例 > 正しく動いてたと思っていたものに後から不具合が見つかった場合
> 前回テスト時のスクショがあると調査が効率的にできる
不具合があると既に分かった後の話ですよね?
スクショがあると、どう効率的に調査できるんですか? >>387
> 個人への信用に依存したシステムはミスがあれば個人を責めることになるのですぐブラック化する
だから自動テストでコードにするんですよね。他の人がテスト内容をレビューできるように
スクショだと、実際どういう手順でテストしたのかが記録されてないから
ちゃんとテストしてないだろ!って個人を責めることにつながる 手動テストで問題なのが、前やったときのテストと完全に同じ状態が作れないということ
作業の順番でも状態が変わってくるから前後にやったテストによって成功したり失敗したりする
だから改めて同じと思った手順でテストしたら失敗することがある
スクショを取っていても「お前この前ちゃんとやってなかっただろ!」と責められる >>388
自分で考えて
>>389
自動か手動かには関係ない
自動化したUIテストでスクショ取らないのかな? >>391
UIテストってわざわざ書いたってことは
それ以外には当てはまらないって自覚してるのかなw 自動化したUIのテストでスクショを撮るというのはおかしな表現で
"テスト"を自動化していれば、当然自動的にテストされるわけよ
スクショはいらない
>>391が言ってることのほんとうの意味は
UIのスクショを自動で撮っているだけで
UIのテストは人が目で見てやってる手動テストだろう?
それとも違うんか? UIのテストを人が目で見ず本当に自動化してるんか? でもいい感じにお高いツールはUIテスト時のスクショも自動で撮ってくれるからねw
ないからっていらないやいって悔し涙流さなくていいぜ 別に高くなくても取ってくれるやろw
論点はそこじゃない
取った後どうするのかだろ 高いツール使ってるんだぜ悔しいだろ
みたいな意味かな? >>395
撮ったあとどうするもこうするもお高いツールはクリックすればすぐ見れるんだよ
手動でエクセルに貼る作業とかないから ただ・・・
(実はあんまり手間減らないんだけどな) 自動化は人間が楽をするために自動化してるだけなんだからログでもスクショでも何でも良いけど、テスト結果がグリーンであってもエビデンスは人間の目で検証しないとダメだよ。自動化の利点は、手動テストやってる要員や係るリソースを他のことに回せるってだけ。 自動テストがプログラマの自己満と言われる所以はテストパターンを無限に作成できるからだよ。sumAtoFで引数を6個取るなら0,0,0,0,0,0から9,9,9,9,9,9の範囲や、マイナス値とか小数点とかnull値を含めていくらでもテストパターンが作れる。しかも再実施も簡単。手動テストじゃそうはいかないからね。 >>400
手動テストでもテストパターンは無限に作れると思うが?w >>399
> テスト結果がグリーンであってもエビデンスは人間の目で検証しないとダメだよ。
え?なんで?愛情がどうとかどうでもいい話だよw >>399
あ、初めて自動化したときだけエビデンスの検証してねってこと。次の改修では追加・変更したテストパターンのエビデンスを検証する。それ以外の既存のテストパターンは結果がグリーンであればそれでデグレとしての証明は担保できてると思うよ >>403
PGした人がテストパターンも作ってたら同じ不具合が混入する可能性があるでしょ >>402
手動テストでも無限に作れるけど人海戦術しないとテストしきれないでしょ。テストの規模とプロジェクトによってはそんなの現実的じゃない。だから自動化のが簡単。 >>400
>自動テストがプログラマの自己満と言われる所以はテストパターンを無限に作成できるからだよ。sumAtoFで引数を6個取るなら0,0,0,0,0,0から9,9,9,9,9,9の範囲や、マイナス値とか小数点とかnull値を含めていくらでもテストパターンが作れる。しかも再実施も簡単。手動テストじゃそうはいかないからね。
流石にテストパターンの洗い出しすら考えないのは頭おかしいやろ
自動テストの実装コストもタダじゃないし
というか不要なテストパターン(重複してるテストパターン)は消すぞ普通…… というかテスト自動化で無限にテストが出来るって思ってる奴もいるのかよおおおもう
あれだな、デジタル庁も作られるんだし
品質管理の観点として、テストに関してちゃんとガイドラインと共通規格決めてくれ
頭痛くなってきた >>408
理論上は可能だよねって話をしただけだよ。現場ではそんな無意味なテストしてないから発狂しないでよw
テストパターン考えるときに大丈夫だとは分かっていても不安だから盛り込むパターンも少しくらいはあるよねってこと。人間だもん。ちょっと多めにテストして安心したいよね。 無限に作るとか、藻舞ら、境界値テストを知らんのか?w
例えば、正常範囲を10〜20 と決めたら、論理的に、9, 10, 20, 21 だけでOK のはずw
-1, 0 も、9と同じ。
11, 19 も、10, 20 と同じ
100 も、21 と同じ
こういうのを論理的思考と言う。
どれとどれが、同じグループですか? と言う問題 >>405
> PGした人がテストパターンも作ってたら同じ不具合が混入する可能性があるでしょ
え?なんで?w
テストパターンってお前コードから生成すんのか?
そもそも最初に、入力決めて、出力決めて、
そうなるように作るというのに意味がわからん >>410
そうやって自動テストでもテストする値を決めるよね
無限に自動テストできるわけじゃないんだからさぁw >>411
テストパターンを基にテストコードを書くよ。
最初に入力を決めて次に出力を決めてそうなるようにテストコードを書くよ。
テストを実行したら全部グリーンでもテストコードのコーレビューをするよ。 >>413
> テストパターンを基にテストコードを書くよ。
そのテストパターンが間違っていたらどうするんだ!
まあそういう事はあるよねw テストそのものが間違ってるってこと
でもPGがテストパターンを作ると間違えるってのが意味がわからない
PGが作ってもPG以外が作っても、テストパターンを間違える可能性は変わらない
> テストを実行したら全部グリーンでもテストコードのコーレビューをするよ。
手動テストの場合どうするんだろうね。テストコードに相当するのはテスト手順なわけで
テスト手順もレビューも必要なんだが、手動テストだとテストパターンのレビューしかしてなさそうw
テストパターンはあってるけどテスト手順が間違っていて意味のないテストをしてたりしてな
テストするときは先にデータを初期化して、この手順でデータ作ってからやらないとだめじゃないですか!みたいな >>413
> 最初に入力を決めて次に出力を決めてそうなるようにテストコードを書くよ。
ここは言葉が間違ってるね
× 入力を決めて次に出力を決めてそうなるようにテストコードを書くよ。
○ 入力を与えて出力が決めたとおりになってるかを確認するテストコードを書くよ
TDDではそのあとに、テストに通るように実装コードを書く >>410
9.9999999999999999や20.000000000000001は?
境界値分析+同値分割は基本だけど
型の境界も意識しないとそのうちバグるよ >>414
>PGが作ってもPG以外が作っても、テストパターンを間違える可能性は変わらない
コードを書いた人とそれに対するテストコードを書いた人が同じなら
同じ勘違いや同じ観点不足が発生するリスクは高まるよ
例えば>>410が書いた例で整数値以外の入力という観点が欠落してれば
コードでもその対応を書かないしテストの必要性にも考えが及ばない
ただだからといって必ず違う人が書いたほうがいいというわけじゃない
低減できるリスクと作業効率とを考えて判断するもの >>414
・PG組んだ人が一番思い込みが強いから、もしかしたら他の有識者と認識が乖離しているかもしれない。まぁレビュアがしっかりしてれば大丈夫。
・手動テストの場合は、テスト条件を満たしていることが担保できるようなスクショを取得するよ。テスト条件どおりに実施してくれたかどうかは実施者を信用するしかないね。エビデンスに細工されたら誰も気づかないと思う。
ちゃんと実施してるつもりでも実際は細かい操作とか大事な操作をミスっちゃってて、それでもたまたま予想結果と一致しちゃう事もあるかもしれない。だけどそんな偶然は滅多に起きない。後でアドホックテストもするし、結合試験や統合試験で発見できればok。
・エビデンスとテスト手順とパターンを見比べて「これは何のテストをなんだ?」って思うことは稀によくあるね。
・手動テストでテストデータが必要な場合は事前準備としてそういうデータを用意してからテスト開始するよ。 >>417
> 例えば>>410が書いた例で整数値以外の入力という観点が欠落してれば
> コードでもその対応を書かないしテストの必要性にも考えが及ばない
だからそれ、コード書かない人でも
整数値以外の入力という観点が欠落することあるじゃんって言ってる
むしろコードを書かない人のほうが、テストの必要性に考えが呼ばないことのほうが多い
「数値入れたらこういう計算してくださいね」
→ 文字入れたら?え?文字入れた時?文字なんて入るの?そんなの想定外だよ set○○○系の値を設定するだけのメソッドってあるじゃん
ケース1:resultがOKならOKとする
ケース2:get○○○系メソッドを実行して値を確認する
ケース3:実際にその値の変更の影響をうける処理を実行して確認する
実はもう結合まで来てんだけどどうやって確認する? あ、やってみたらget○○○系もよくわかんなかった
値取得できたけどそれが何?
何が取れると正しいの?ってのが一連の処理の流れだと取得できるべき正しい値が本気でわからん >>421
> 実はもう結合まで来てんだけどどうやって確認する?
確認する前に結合したのが悪いって話だろ?
もうリリースしちゃったんだけどどうやってテストする?みたいな話だw >>422
> 値取得できたけどそれが何?
「値取得できた」
それがテスト
(手動で)テストしてOKだったから何?と言われてもな
意味ないと思うなら(手動で)テストしないでいいんじゃない?w >>422
> 何が取れると正しいの?
そんなに作る前からわかってる話ですよね?
作ってるなら「目的」があるはずですが
あなたは一体何を作ってるんですか? あ、あれか。教科書写経してるだけだから
自分が何を作ってるかわからないとか
んで作ってみて動かしたら・・・ゲームだった!みたいな事やってんの?w コンパイラ作ってるんだが、検査は自動でランダム構文生成とかしてやってるよ
もちろん普通の検査もやるんだけど、それだけだとパターン数が発散して検査しきれない
ランダム検査はテスト件数でいうと1000億件とかになる
不具合でるのはそのうち5件とかだったりするんだけどね >>427
だからそれを手動でやればいいんですよ! 自動化する単体テスト=関数単位のテスト
エビデンスをとる単体テスト=1個の機能のテスト。例えば入力欄1個など > エビデンスをとる単体テスト=1個の機能のテスト。例えば入力欄1個など
その"エビデンス"でどうやって入力欄1個の機能がOKだと証明するの?
入力欄1個の機能がOKであると、誰もが認られるようなエビデンスとはどんなものが知りたい
そこに入力欄の画像が1個あったって、機能が満たされてるかなんてわからんしね >>430
機能がOKだと証明するわけではない
「テスト項目の通り実行したらこの通りの画面になった」
つまり、テストを行ったという事を証明しているにすぎない
だから入力ミスや、テスト実行者の勘違いまではフォローしきれない
機能の証明ではなくテスト実行の証明だから
わざわざエビデンスに日時が入るように撮影することを要件としている
機能がOKだという証明だけであれば日時は不要だろう
実際、自動テストはテスト実行日時など重視していないはずだ
(デバッグの為に日時を保存しているにすぎない)
エビデンスに日時を入れるという行為があるかどうか
それだけでもテストの性格がわかるというものだ
テスト実行者を信用しないのであれば自動テストで十分だろう 自己満だろうがなんだろうが顧客が納得すりゃなんでも良い >>431
> テスト実行者を信用しないのであれば
気にすべき所はテスト実行者を信用するかどうかじゃなくて
ミスなくテストしたかどうかでは?
信用できる人にだって間違えることはあるんだし 画面にせっせと入力して保存ボタン
データベースに登録されてるかチェック
苦しい_(┐「ε:)_ >エビデンスに日時が入るように撮影することを要件としている
初めて聞いたわw
日付入れたところで改ざん可能なんだから日単位でファイルを上げて
履歴追えるようにしとけば十分だろ >>436
ログの位置がわかりやすいようにってだけだろそこ xUnit嫌いな人割と身近にいるわ
単体テストしない派というか >>438
仕様が決まってるテストはいいが決まっていなかったり曖昧なのは滅茶苦茶時間がかかるので嫌い テスターが仕様決めるって意味わからんw
この関数は引数の全ての値を足す関数だ
って決めるんか?w 俺は常に自分でテストコードを書きながら仕事をしているから、いまいち単体テスト専用のテスターという存在がよくわからん。
新人教育目的で自分の成果物に対して不足しているテストコードを修正する形で書かせることはあるけど、基本的には実装する時にはテスト仕様もできてるしなぁ...。 >>444
用語を知らないから、単体テスト=1画面のテストとか1アプリのテスト思ってるやつが居るんだよw
単体のexeファイルをテストするのが単体テスト
はぁ〜〜〜〜ばか〜〜〜 小さい関数を心がければテストコードが必要なほど複雑なコードって書かなくない?
テストコードを書くと必ずデータ用意しなきゃならないけどそのデータを間違って入力する確率のほうが高い >>445
俺さ、まさにリアルタイムでスマホアプリ開発しててテストコードを書いてるんだけど、お前、頭大丈夫?
iOS、android、Windows対応のアプリ作ってるけど、こんなこと言う奴初めてみたよ。
JavaとかでJUnitとか聞いたことない?
C#でプロジェクトファイルを作るとき、Unit testというテンプレート見たことない?
お前、Windows開発すらしたことないだろ。
俺は別に1画面がどうのこうの言ってないし、そもそもexe単体とか論外だわ。
まず、単体テストについてググれカス。 >>447
日本語圏内で言う単位テストは普通は画面、帳票、バッチ、ようは要件定義に書いた機能ごとのテストだよ
xUnitとかJUnitのようなもののことを言いたい場合には、ユニットテスト、あるいは自動テストと言ったほうがいい
日本ではユニットテスト≠単位テスト 1からのやり取りを見てもそんなこと言えるの?
あと、ググるとまっさきに出るのが「単体(ユニットテスト)とは」なのだが。
そして、俺もその認識なのだが。 >>447
おまえは文章が読めないんだなw
おまえも馬鹿の一人だわw >>446
どれだけ小さい関数を作っても、テスト担当者にテスト仕様書を書いてもらないわないと
自分じゃ、テストできないアホがいる。
ログに出力してそれっぽい値ならOKとかいってるアホがいる >>450
そういうことか!
うん、俺も馬鹿だったわ。
いや、本当にすまぬ...すまぬ。 ん?割とガチで単体テストを機能毎のテストとして扱う会社は多いのか?
基本情報技術者試験や応用情報技術者試験の単体テストに関わる問題とか見ると、明らかにユニットテストの意味の問題があるように見えるのだが...。
そうなると、自動化もクソも無くね?
それ以前に、>>448の言うことは本当なのか気になる。
本当なら>>448の言う単体テストについて紹介している文献とかあると思うのだが...ソースがほしい。 >>454
大企業で仕事したらわかるよ
だからエビデンス取るんやで >>455
まず、ユニットテストと単体テストを区別するというのが本当なのか怪しいが、区別しているのなら、もちろん、そのユニットテストもやってるよね? 更に聞くと、このスレはあなたが方の言う単体テストとユニットテスト...どっちについて扱うスレだと思う? テストの分類と自動化するしなは別のベクトルだ
単体テストといったら自動化と連想するのはそのあたりの区別がついてないのだろうな
役割の分割をしないでGODクラス作ってそうなタイプ >>457
手動で行ってエビデンス取るって言ってるんだからユニットテストでないことは明らかだと思う このスレでユニットテストの話をしてる人は社会経験のない木偶の坊だと思ってる まぁ、責務が曖昧なGodクラスのユニットテストなんて自動化しようがないからな。
些細な変更ですぐに仕様が変わるし。
ユニットテストで不合格になるのではなく、
ユニットテストができないから不合格になるパターンだな。
でも、恐ろしい事を思いついてしまったよ。
もしも、常に神クラスを書いていてユニットテストができない企業がいたとする。
そして、その企業があまりにもユニットテストができないからユニットテストの意味を曲解することにしていたとしたら...やばいね。
まぁ、いいや。仕事だ。しばらく席を離れるよ。 >>454
> 基本情報技術者試験や応用情報技術者試験の単体テストに関わる問題とか見ると、明らかにユニットテストの意味の問題があるように見えるのだが...。
だからそういう世間一般の用語すら知らんのだよ
そして基本情報技術者試験は意味がないとか行ってたりするw ペーパーテストと現場のギャップぐらいは認識しとかないとだめでしょ
それこそ実務経験を疑われる 世間的には現場の定義が優先されるからなー
試験勉強でこう習いましたなんて現場では通用せんぞ ヤクザにそれは法律違反ですと言っても意味ないだろ
警察に金庫から8000万盗めば良いと言っても通用しないだろ
社会とは現場が常に優先されるものなんだよ
鳥はお空を飛びますと本に書いてあったとしても
ペンギンは鳥だから空を飛べば良いと言ってもペンギンの現場では通用しないんです >>467
現場の定義の殆どは試験勉強の定義と一致してるんだが?
違うのは現場ではベンダー定義の用語が追加で使われるぐらいのもん
試験の定義を否定するようなものはない
だから今、試験での単体テストの定義と現場が違ってる=
え?お前の会社って単体テストって画面のテストのこと言ってのプププ
って話をしてるんだろw >>448
何を「単体」と見なすかに違いがあるだけ
面接でユニットテストは単体テストとは全然違います!ってずっと主張してたやつがいたけど
その文化を共有してない会社だと単にヤバいやつ認定されるだけだからやめたほうがいい あいつマジで理想郷にでも住んでるのか?
わかってて煽ってるのかと思ってたけど・・・
単体テストと言われてxUnitのテストの結果なんてもっていったら
上位会社様にバカにされるぞ
バカにされる程度で済めばいいけど他の人に代えてくれってすぐ営業に電話されるよ
商流の末端企業は上位会社様にあわせるしかないんだよ 現場のベテラン「情報処理技術者試験なんて意味がない」
おまえら「↑みたいな奴がいるから情報処理技術者試験がもっと普及したほうがいい」
現場のベテラン「現場が正。↑は経験積め。やはり情報処理技術者試験は意味がない」
このループが無限に続くだけ
無限ループって怖いね IPAのいう単体テストがユニットテストのことだからな
これが違っていたら、もう常識がわかってないとしか言えないw >>472
どこの現場のベテランがいってんの?w
現場のベテランというか、ちゃんと情報技術を学んでいる人は
単体テスト=ユニットテストになってる
英語と日本語の違いでしかないからね 上流なのな下流のチェックしない会社とかどこの没落企業だよ。気持ち悪い。 国家資格すら取れない三流エンジニアは言うことが違いますね。
国家資格なんておやつ感覚で取るもの。なんで国家資格ごときで必死なんだ。
基本情報技術者試験くらい取れよ。そうすれば単体テストとユニットテストは違うなんて恥ずかしいことは言わなくなるから。 あ、これ大企業の話な。
大企業の話を妄想で持ち出す馬鹿がいるから警告しとくわ。
あと、権威主義に陥るのやめろ。 ふむ。さすが正しいことを言ってるな
https://www.fe-siken.com/kakomon/16_aki/q53.html
モジュール単体テストに関する記述として,最も適切なものはどれか。
単体テストは、プログラムがモジュール単位で正常に動作するかを確かめるテスト工程です。
プログラムの内部設計書に基づいてホワイトボックステストを実施し、要求性能を満たしているかの確認を行います。
間違い 通常はコーディングを行ったプログラマではなく,専任のテスト要員がテストケースを作成し,実行する。
→正解 単体テストは、コーディングを行ったプログラマ自身が実施します。
間違い モジュール間インタフェースは,モジュール単体ではテストできないので,単体テストの対象外となる。
→ 正解 実際にモジュールの結合を行うのは結合テストですが、モジュール仕様書に記述されたインタフェースが適切に実装されているかの検証は単体テストの対象です。
間違い モジュール設計書は,正しいことが検証済みであるので,テスト結果に問題があるときは,テストケース又はモジュールに誤りがある。
→ 正解 モジュール設計書が誤っている可能性もあります。
正しい モジュール設計書を見ながら,原則としてすべてのロジックパスを一度は通るようなテストケースによって,検証を行う。
→ 正しい。単体テストでは、プログラムの内部構造に基づいて、内部仕様がモジュール仕様書通りに作成されているかを検証します。 >>476
気にしすぎでしょwww大企業ですまんなwwwww >>470
良いこと言うね!
自然言語は文脈依存だから同じ語句であっても文脈に応じて意味が変わるからね
それを理解せずに自分の定義でしか言葉を解釈しない人はコミュニケーション能力が不足してるってことになるよね IPAって経産省の手先団体だろ、なんでそんなところを頼ってるんだwww
職員がお仕事中に児童ポルノダウンロードしてウイルス感染したところじゃねえかwwwww
wwwwお前らwwwwwマジかwwwwww >>480
文脈を明らかにしろ。どの会社での話なのか、世間一般の話なのかはっきり区別しろ
俺は世間一般の定義の話をしている
それ以外なら特定の会社名を言うようにw >>478
>要求性能を満たしているかの確認を行います。
ここでの「要求性能」ってどういう意味?
間違いじゃなくて一般的な使われ方? >>484
文脈を察しろ常に俺が正しいと考えていただきたい 俺が言ってることが正しくなるように解釈することを心がければ
俺の文脈を知ることができます、俺が中心です 児童ポルノウイルス団体を頼りにするとはwwwww
お前らも所詮経産省の掌の上で弄ばれてるだけかwwwww >>485
性能は性質と能力のことなので
・要求される性質がありますか
・要求される能力がありますか
ってことを確認するってことじゃろう
一般的に伝わると考えて差し支えない >>485
「プログラムの内部設計書に基づいてホワイトボックステストを実施し」と書いてあるだろ >>485
単体テストは内部設計におけるテストだから、内部設計がある程度まともかどうかって意味では。
そのある程度のラインはテスト仕様次第だが。 プログラムの内部設計書に基づいてテストするんだから
プログラムの内部設計書に書いてあることが要求 ○○に基づいてテストを実施すると書いてあるわけで
そこで○○に書いてないことを確認するわけがないのは当たり前の話 それはそう
「満たしている」の主語は「プログラムが」
テストの確認を行うのはテストレビューだからね
単体テストの説明としてふさわしくない >>492
内部設計がある程度まともかどうかをどうやってテストするのかわからないけど
それって単体テストとは一般的には呼ばなくない?
>>493
ひっかかるのは「要求」じゃなく「性能」のほう
時間効率・資源効率的ないわゆるパフォーマンスの意味ではなさそうだし
機能+非機能要求全部込みの「性質+能力」の意味だとすると単体の範囲を超える
それにホワイトボックスでもなくなる >>495
テストレビューは、テストが妥当かどうかは判断するレビューであって
プログラムの内部設計に基づいたテストのことじゃない
プログラムの内部設計に基づいたテスト・・・になってるかどうかを判断するのがテストレビュー >>496
> ひっかかるのは「要求」じゃなく「性能」のほう
内部設計にパフォーマンスが書いてあれば
そのとおりかテストするのも単体テスト 訂正
内部設計に性能が書いてあれば
そのとおりかテストするのも単体テスト
正しく動いていても、性能を満たしていない例なんて
いくらでもある。遅い。メモリ消費量が多い >>496
> 内部設計がある程度まともかどうかをどうやってテストするのかわからないけど
> それって単体テストとは一般的には呼ばなくない?
内部設計をテストするのが単体テストなんだけど。逆に、何をテストするものだと思っているんだ?
>>478の基本情報技術者試験の解説にコーディングを行ったプログラマ自身がテストしますって書いてあるでしょう?
単体テストをやったことある人なら、これを見たときにピンとくる。
というか、具体例を考えればいいんだよ。
Stackというコンテナライブラリを貴方が作ったとして、そのStackライブラリが絶対大丈夫であることを保証するためには何をする?って話。 画面、ウェブ業界なら1ページ
これより小さい単位を知らんでしょう
関数を自分で作ることをしない
ボタンをクリックとかしたらフレームワークが
関数を呼び出すから、その関数の中身を書くだけ
その結果は画面に表示されるから
どうやってテストするのかわからない
見て判断するしかないじゃないか!
と言っている webかー。
そもそも、それ、単体テストではなくUIテストでは? 誤って送信してしまった...
UIテストって言葉は俺らローカルかもしれないのに...。まぁ、言い訳を考えさせてくれ。 >>502
UIテストだからエビデンス(スクショ)でテスト
とかいうわけのわからない理屈が出てくるw
スクショ見て、よくわからんけどちゃんと動いてるっぽいなヨシッ!
これがテストw >>498
「プログラムの内部設計書に基づいてホワイトボックステストを実施し、要求性能を満たしているかの確認を行います。」
パフォーマンスの性能のことだとすれば、性能以外は確認しない感じの文章になる
普通に間違いっぽいね >>505
> パフォーマンスの性能のことだとすれば、性能以外は確認しない感じの文章になる
お前が言ってる性能以外とは?
まずそれを言わないと、お前の文章に説得力はないよね 説得力と言うよりか、議論の対象にすらならないと言うべきか 基本的にWeb開発と同じくネイティブアプリ開発者もUIは作る。それがHTMLではないだけで、成果物の全体を見ると同じ。
ネイティブアプリ(iOS,android,Windows)を作るとき、必ずやるのがロジックとUIの分離。
UIにUIが使いまわし出来なくなるような処理を書かないようにするのが原則で、基本的にはUIと切り離れたロジックの部分を単体テストする。
...で、ここからが問題で、じゃあ、UIはどうやってテストするの?って話か...。
俺はこれを別工程として扱っているけど、その解釈が一般的かと言われると...うーん。
そして、webフロントエンドはロジックを記述すること自体殆ど無いからな...。webフロントエンドは殺風景なhtmlが組める程度のニワカ知識しかないが...。
ちなみに、自分はUI専用のテストコードを書いてそこだけ手作業でやってるわ...。
合否判定は自動的に出力するようにしてるけど。
で、それをwebでどうやるのかだと?ごめん、わからん。 > ...で、ここからが問題で、じゃあ、UIはどうやってテストするの?って話か...。
いや、そんな話してないw
単体テストの話をしてるのに、エビデンス?手動?スクショがテスト???
アホじゃねwwwって話をしてる マジレスすると自動で行う単体テストだってエビデンスの為にスクショ取るし
自動でやるのが非効率なら手動の場合もあるよね
xUnitテストの結果をエクセルに貼り付けるのもいいけど
やっぱ信用性を考えるとスクショのほうがテンション高い > エビデンスの為にスクショ取るし
テストのためにスクショ取る じゃないところが重要な点だなw
結局の所、ただの作業報告書でしかない > xUnitテストの結果をエクセルに貼り付けるのもいいけど
え?なんのために?
標準のXMLでいいだろ
ああ、作業報告書ね(苦笑)
とこうなる どことは言わないが、未だにテスト結果をすべて印刷してスタンプラリーしてバインダーに格納してる大手電機メーカーがあるんだよ。
その時にXMLじゃ分からないって押印してくれなかったり。 まぁ、スクショ貼る会社はあると思う。
お役所と仕事していると面倒な完成図書(紙媒体)も求められるし。
こんなテスト結果、あなた達が貰ってどうするの?って奴まで求められるし。でも、まぁ、彼らにとっては意味があるから仕方ないね。
ただ、誰もエビデンスを求めていないのにマニュアルに従いやれって言われると少し残念な気分になる。
利害関係者次第だな。 >>515
いやそれも含めてテスト工程。
他にそれを含められる工程がない。 >>514
それ間違っていても絶対分からないから
手抜きし放題になるのでは >>516
じゃあお前の所は納品作業は何工程になるの? まともにプロセス定義していれば、
受注プロセス→開発プロセス→納入プロセス
であって、
開発プロセスの中が設計だの製造だのテストといった工程定義が
されているはず。
そんなことも知らないというのは、かなりまずい。 テスト結果を納入する作業は
テスト工程なんですよとか言いそうだよなw >>469
だから現場を知ってからそういうこといいなよ
でかい案件ではどこもほとんど確実に単体テスト≒画面のテストだよ
メソッド単位で単位テストなんて言い張ってたらいつまでたっても終わらない
プロジェクトをすすめるには画面を単位と言うしかない
ちっぽけな案件だったら教科書的な定義にしたがって優等生気取りながら仕事することもできるけどな > でかい案件ではどこもほとんど確実に単体テスト≒画面のテストだよ
そういわれても検証できないんで、
でかいオープンソースプロジェクトの話でもしてくれませんかね?
狭い世界の話をされてこ困ります。 オープンソースwwww
日本の大規模案件でオープンソースなんて激レアだろ
そんなの見たってなんの参考にもならん
現場を知りたけりゃ現場に潜り込む
それしかねえんだよ >>519
おいおい
それでいくと納入プロセスまで客は何も目にしない事になるぞ? > 日本の大規模案件でオープンソースなんて激レアだろ
じゃあ小規模案件でもいいですが
今の論点は、狭い世界かどうかの話ですよ?
広い世界の話をしなきゃ意味がないでしょうw 単体テストって言葉を作った大手がそもそも単体テスト=画面テストで使ってるという皮肉な現状がね >>524
請負ってそういうものだよ。
みたけりゃ中間納品でも設定すればいいだけ。
現実にはそんな法定義に杓子定規に運用してたらリスクしかないから
どこも工程完了基準みたいなのを設けて移行判定を顧客に委ねたりしてるでしょ。 >>526
大手が日本の会社だと思ってる?
https://employment.en-japan.com/engineerhub/entry/2019/10/03/103000
「単体テスト」という言葉が初めて世に出てくるのは、
1970年の『Managing the Development of Large Software Systems』という論文に遡ります1。 >>526
今までの話を聞いてた?
単体テスト=画面のテストは違うだろ。
そもそも単体テストの意味を盛大に勘違いしているのは君だけでしょ。
国家資格の基本情報技術者試験の件はどう反論するんだ? >>511
小保方さんは研究ノートをろくに取ってなかったから批判されたんやで
そこんとこよーく考えた方がお前のため >>528
なんで英語論文に単体テストって日本語が出てくんだ?
いいかげん単体テストとUnit Testを区別したらどうだ
ここは日本だから日本の習慣に習うべきだ >>530
国家資格は児童ポルノウイルス試験でしか無いってことだと思います! >>532
Unitは単体って意味なんよ
Unitを日本語で書くと単体なの
英語勉強して >>532
ユニットテストを翻訳したものが単体テストです
それ以外の定義はありません TDDはアスペ用のものだしなー
健康な人が水素吸入しても健康にならないようなもので
まともなプログラマにUnit Testは要らんのですわ
英語にびびったアホジャップがUnit Testはスゴイものだと思い込んだだけで
実際のところUnit Testやってもやらなくてもシステムの品質は変わらんから
コストかかるぶんマイナスなんよねー >>535
そうでもないやで
大企業で仕事してみ、単体テストはintergration testingの意味ですから Unit Test -> 単体テスト
これはわかる
単体テスト -> Unit Test
これは成り立たない >>537
大企業が間違ってることぐらい知ってますよ(笑)
会社がでかいだけで、ソフトウェア開発の専門じゃないですからね
大規模の意味はソフトウェアの規模が大きいんじゃなくて
単に作業員が多いだけだったりするしwwww
マイクロソフトは世界最大規模のソフトウェア会社の
1つだって言っても納得しないでしょ? >>532
国家資格である基本情報技術者試験は日本の風習から乖離していると。
そんな馬鹿な。
むしろ、単体テストという言葉がUnit testと乖離している日本独自の風習があるのなら、参考文献を貼り付けてくれないかな。
調べても単体テスト=ユニットテストの解釈での説明しか出てこないのだが。
あと、一部、共有NGであぼーんされている人がいるけど、その人の回答ではなく貴方の意見が知りたいな。 >>538
> 単体テスト -> Unit Test
> これは成り立たない
おまえん中ではなwww >>539
おいおいお前、一部上場の前でなんてこと言うんだ >>542
もしかし会社がでかいと、ソフトウェア専門会社だとおもっちゃった口ですか?w >>541
俺 = 一部上場のITゼネコン大企業
一部上場のITゼネコン大企業 = 日本のIT
よって俺の常識は日本ITの常識 >>544
え? どういう意味? ちょっと何いってんのかわからない >>547
日本は広いよ、日本語話者の国全域に及んでますからね
ここは日本だ、日本の常識で話しをしよう、単体テストとはIntergration Testingのことなり! Intergration Testingだからエビデンスを取るわけ
Unit Testでエビデンス取るわけ無いだろwww常識で考えろよwwww
スレタイ見て出直せよwwwwwwなんでUnit Testなんだよあれは認知障害者が使うもの 自分で 一部上場のITゼネコン大企業特有の話とか言っておいて
日本の常識にすり替えるなよ
基本情報技術者試験の方がよっぽど日本の常識だ >>549
× Intergration Testingだからエビデンスを取るわけ
○ テスト作業を行ったいう証拠を提出しないといけないから、テストしたというエビデンスを取るわけ
ちゃんと書こうね >>550
>>545でこれ以上なくはっきりと論理展開してみせましたけど
基本情報とか噴飯ものだわwwwwwwペドロリの資格とって経産省に認められてどうするんだwwwwwwww
すまんな俺は環境省の味方だから俺は環境省の味方です >>551
同じことですよ、相互に排他的な事柄ではないです
研究者が研究を行った証拠を示すのが研究ノートのみであるように
プログラマがテストを行った証拠もやはりエビデンスのみなわけです
エビちゃん大事 >>552
論理展開じゃなくて単なる主張w
それが「論理展開」だっていうのなら、これも成り立つ
お前 = 一部上場のITゼネコン大企業
一部上場のITゼネコン大企業 ≠ 日本のIT
よってお前の常識は日本ITの常識ではない >>534
直訳すりゃいいってもんじゃない
とくにテクニカルタームはそう >>553
> 研究者が研究を行った証拠を示すのが研究ノートのみであるように
研究ノートは他の人がそれだけをみて再現できることが条件です
その条件を満たしてないから小保方のやつは研究ノートとは認められなかったわけです。 >>554
> 一部上場のITゼネコン大企業 ≠ 日本のIT
ここが間違ってるので成り立たないのは明らかですよん
日本のITを仕切ってるからゼネコンと呼ばれるわけ
ゼネコンの意味を調べたが良い、ゼネコンはすごいんだぞ >>556
じゃあなんですか!? 超訳しろとでも言うんですか? 小保方氏ようやく「実験ノート」公開するも… 専門家「理科の観察日誌?」「ものすごい破壊力」
https://www.j-cast.com/2014/05/08204189.html
> 理化学研究所の小保方晴子氏が記した実験ノートの一部が、代理人弁護士らによって2014年5月7日、
> 公開された。小保方氏は「ちゃんと実験していることを示したい」として公開に踏み切ったと報じられている。
>
> ところが、具体的な実験条件などが不足した内容に、研究者や識者からは疑問の声が噴出している。
>
> 「陽性かくにん!よかった。」
まさにエビデンスそのものw
「テストOKだった。よかった。」 >>559
UnitTestを正確に表現する日本語は今のところ、無い
UnitTestはUnitTestと言うしかない
単体テストと言ったらUnitTestとは別の意味になる >>557
再現するための手順はプロトコル・・・
研究ノートは研究を行ったエビデンスなんよ
エビがいい加減だったからよろしくなかったのは事実だけどね >>558
> ここが間違ってるので成り立たないのは明らかですよん
間違ってないですよ
これがお前の言う「論理展開」ですからね。
それともお前自身の「論理展開」に根拠が書かれてないってことに気づきましたかね?w > 研究ノートは研究を行ったエビデンスなんよ
今日は研究をした。陽性確認した。良かった。研究ちゃんとした。エビデンス。 >>560
せやろ、エビデンスを軽視するものには天の裁きがくだされるわけではないけれども
エビデンス大事だよねってことですよね >>565
エビデンスが大事って?
大事なのはソフトウェアが正しく動くことだろ >>528
海外を参考に「単体テスト」って言葉を作ったんだよ
外国人が「タンタイテストゥ」とか言ってるわけないでしょ、アホかw
国内大手ベンダーが先行してIPAが後追いで追認してきたのが今までの歴史でしょ
>>530
ソフ開持ちなので試験に出てくる意味での単体テストは完全に把握してるぞ
あれはあれ、これはこれ >>561
別の意味ってどういう意味なんですか?
にんじんを野菜と言っても良いようにUnit Testはテストと言っていいし単体テストと言って問題ないでしょう
やってることだけ見れば認知テストとかでも良いかもしれないですね >>567
____
/ \
/ ─ ─\
/ ⌒ ⌒ \ ハハッワロス
| ,ノ(、_, )ヽ |
\ トェェェイ /
/ _ ヽニソ, く エビデンス=納品物
ソフトウェアが正しく動く事=納品物ではない
どっちが大事かは明らか >>570
ほらみんな、この程度のレベルだって分かったろ?w >>572
どっかの大会社はスクショをの納品して
動くソフトウェアを納品ないらしいねw しかしマジでエビデンスを納品して
ソフトウェアを納品しない会社があるとはねw 顧客が本当に欲しかったものはエビデンスだったんですよー このスレでもソースは? 文献は? ってしきりに聞く人がいるでしょ
エビデンスっていうのは万人に共通する価値基準でありアイデンティティの強化する
アイテムとしてやはりIT業界の顧客にはそういう人があれですねー Unit Testがプログラマの自己満足であるのに対して
Integration Testは顧客満足なんです
プロダクトとしてどちらを重視すべきかは明らかですね >>568
む。そうか。
NGが働く前に変なやつのレスを見たからミスリードしたかな。 納品日に持っていくのは大量に印刷したエビデンス
そしてマニュアル
あと仕様書だか設計書だかそんな感じのタイトルも覚えてないような書類
そして一番大事なソフトウェアはCD-Rに書き込んで、自社のロゴ入りの紙袋に入れて数人で運び出しうやうやしく納品
客もマジメな顔して印刷物をみて「ここの文字が間違ってる」とか言ってる
そしていつの日か時間がたち、ふとCD-Rを見てみると新品
そう、書き込みするのを忘れていたのだ!! 素直になれよ本当は俺様のレスが見たいんだろwwwww
俺様の知性あふれるレスポンスに心がふるえて恋しちゃってるんだろwwwwww
wwwwwwお友達から始めよう >>584
COBOL系の仕事でその伝説は聞いたことがある >>581
> プロダクトとしてどちらを重視すべきかは明らかですね
ああ、どちらか一方だと思ってるのか
両方だろ
こりゃだめだwww >>567
いつも正しく動いたら誰も苦労しないんやで。
必ずしも正しく動かないからこそ責任逃れのためのエビデンスが必要なんやで。 >>587
プログラマの自己満足を重視してどうすんだハゲwwwwダメなのはお前の頭だwwwww
Unit Testは認知能力に欠陥のある人間のために考案されたエクササイズ的な位置づけなわけ
Unit Testが発明されたアメリカのITの歴史を見れば火を見るよりあきらか
Unit Testを発明した人間がいまどうなってるか調べて見ると良い >>588
エビデンスで責任逃れはできます
みなさんも数兆円を動かすような重責を担う仕事についたらエビデンス残すと良いよ
一部上場のITゼネコンでバリバリ仕事こなしてる俺からのアドバイス
頭の片隅に置いて困ったときに思い出したら良いよ 責任は負えば良いってものじゃないリスクヘッジ大事、エビデンス大事、いざというときの保険 ソフトが動くかどうかなんて些細な問題であって業務が動き続けばいいんだよ
不具合が出るのがわかってたら客に
「印刷ボタン押したらバグるので、こっちのPDFボタン押してから印刷してください」
って通達しときゃいい
もしオペレーターが間違えたら、高菜を食べた客をラーメン屋が咎めるような口調で
「どうして印刷ボタンなんて押したんですか!」って言えばいい
オペレーターだって安くない給料貰ってるんだから、手順書更新したらちゃんとその通り動かしてくれるよ 君たちがバカにしてるエビちゃんも仕事を円滑に回すための一つのツールなんですねー >>588
前提条件を満たしていればいつも正しく動くものを作るためにテストするんやぞ >>594
前提条件満たした状態ではちゃんと動いていたことを証明するのがエビデンスやでぇ。
想定外のことをされてバグっても「バグが出た前提条件のテスト項目がないのに承認した貴方にも責任がある」と言うためのエビデンスやで。 「テストの時は動いてたんですけどねー」
「ログ出力を設定してちょっと様子みてみましょうか」
「再発した時の手順書を追加しておきますね」 >>597
これは有能なプロジェクトマネージャ
無能な奴は客の言うなりになってシステムを肥大化させて赤字にする >>588
せやな。現実はそういう証拠も要求されるよな。自己主張ばかりしていないでエビデンスを要求する人の立場と気持ちを考えればいい。
利害関係者はプログラマーだけじゃないだろうに。
>>592
そういう不具合を防ぐための単体テスト
単体テスト的には些細な問題と言い切るべきではないと思う。
設計が糞すぎてコードの修正に時間が掛かるのが理由だとしたら、ますます単体テストで安定するコードの設計を促せなかった罪は大きい。 ドカタ vs ドカタのマウンティンスレになったな
中身が無さ過ぎて泣ける >>600
わいは一応製品開発部部長だからどちらかというと1級建築士ですかね 社内で実験や研究はやったがUnit Testはユーザ満足度をあげるほど製品品質を左右しないんよねー
現代の開発は統合開発環境や静的検査、動的検査が整備されてコーディングミスはほとんど起きないってことと
単純にうちの社員が優秀ってのもあるだろうが、コーダが書くUnit Testに意味はないとうちの部署では結論した システムテストが良い、あれはシステムの品質も社員の質も上がる
業務要件もシステムのアーキテクチャも理解してないと観点出しもテストケース作ることさえできないから
システムテストはおすすめ、社員の実力が底上げされる ガチガチに後方互換性を守りたい場合はUnitTestしてもいいかもね
ライブラリメーカーとかならいいんじゃないの > ガチガチに後方互換性
言い方がおかしい。たいていはバージョンが有るようなものじゃないんだからさ
この場合は、何らかの理由で修正を入れたときに、エンバグしないように
ガチガチにテストするということだろ
修正なんてどうしてもはいるんだからさ、ガチガチにテストしておかないとだめやろ?
修正したときのエンバグ防止を、ガチガチな後方互換性と言ってるなら
わからなくもないけどさ。エンバグしないってことは、ガチガチな後方互換性とも言えるからね いまさらどうでも良い話だが
手動か自動かなんて本質とは何の関係も無いぞ
信頼性はテストケースを網羅出来てるか出来てないかだけだ EdLJXccd
kZm+fu8v
IgGP+BQU
ycF3TYue
4yJ9ltzt
このスレが盛り上がった原因は主にこいつらか。
厶板にも隔離病棟が必要な気がしてきた。 テストをしなくてもいいぐらい小さく簡潔なプログラムブロックを作り組み合わせる
組み合わせで間違いが起こらないように関数型の知見を応用する
これだけでいい
これができてればバグなんて入りようがないから、テストほとんど意味ない 大の大人が10時から21時までずっと書き込みをしてるのを見ると悲しくなる >>505
単体テストは一般的にもIPA的にも機能性にフォーカスしたテストだからその記述は誤り
ここはそんな基本的なことも知らない奴らが一日中無意味な雑談をするスレなのでまともな回答を期待してはいけない >>613
> 単体テストは一般的にもIPA的にも機能性にフォーカスしたテストだからその記述は誤り
理由は
単体テストは、機能性にフォーカスしたテストであり
プログラムの内部設計書に基づいてホワイトボックステストを実施し、要求性能を満たしているかの確認を行います。
間違ってないよね? 個性あふれる文化の前には定義など無意味。
単体テスト=コードレビューという場所だってあるんだぜ。 >>615
その場所がどこか言えるなら、一般的な定義と言えるだろう
企業秘密だから言えるわけないとかいう話なら
それは一般的な定義じゃないだろう >>613
試験勉強に毒されて正しいとされる回答を妄信するパターンだね
社会人になって治る人と治らない人がいるんだけど
治らない人は自分で考える力がないので総じて使えない >>617
正しい回答とは限らないから、間違ってんだという
根拠をまったく言わずに否定するパターンだね
根拠がないなら主張するのやめたら? この手の議論をする時は国家資格や有名なベンダー資格等で扱う言葉で議論するべき。
そもそも、企業勤めで資格取る奴は経験も十分に積んでるよ。
資格なんて大学受験に比べれば楽すぎる。
なんで、たったの数千円でとれる資格を取らないの?
言葉が共有できない猿が議論に参加すると邪魔だから消えてほしいね。 なんで資格を取らないのかって議論にすり替えるのやめてほしい >>616
一般的な定義かどうかを議論するのやめてほしい >>617 ←こいつが始めた話だろう。
それ以前にも似たような発言がある。
なぜ、そっちに突っ込まない。同一人物か? 資格を取らなくてもいいよ。
ただし世間一般の常識を知らないと潰しが効かなくなる >>621
> 一般的な定義かどうかを議論するのやめてほしい
なぜ?一般的な定義で話をするのは当たり前でしょ?
そうでないなら○○の定義ではってちゃんと言うこと
一部でしか使われない定義をいっても通じるわけがないんだから >>505
>パフォーマンスの性能のことだとすれば、性能以外は確認しない感じの文章になる
>
>普通に間違いっぽいね
仮定を置いて間違いが導かれるなら仮定が誤りだと結論できる >>624
普通は通じるよ、語用論でググってみ、概念と単語を同じものだと思ってるから理解できないんだよ
君のコミュニケーションにおける相手の言葉への不寛容さはアスペと呼ばれてもおかしくないよ 言葉の一部を切り取って騒ぐマスコミとやってることは変わらん
文脈からどういう意味で使ってるのが類推して理解するのが普通の人のコミュニケーション
言葉の定義がー定義がーなんてリアルな会話ではやらないでしょ?
それをやったら会話にならないと思われるから >>626
その普通が通じないから、こんな話になっているってことになぜ気が付かない。 昼休みに話の通じない馬鹿に遭遇するとは思わなかった。
話さえ通じれば何でもいいが、駄目だなこりゃ。
厶板にが過疎化する理由がよくわかったよ。
二度とこの板に来ないほうがいいな。
知的障害者との会話は疲れる。 >>626
そんな話はしてない。通じるかどうかじゃなくて
"別の意味として"間違って通じてしまっては意味がないから
一般的な定義の話しようと言ってるだけ >>627
> 言葉の定義がー定義がーなんてリアルな会話ではやらないでしょ?
そりゃそうだろw
リアルな会話で「俺の会社では」なんて話をしないんだからw >>631
通じるわけがないって言ってましたよね、そんなことないですよってこと
>>632
リアルではしないんだ で、その会社文化とやらのテスト分類定義を採用すると、
IPAのテスト分類定義を採用するのに比べてどんなメリットがあるんだい? 何でこんなスレが伸びてるんだと思ったらあからさまな釣りに釣られてるやつが多かっただけか たんたい‐テスト【単体テスト】 の解説
《unit test》ソフトウエアテストの一。動作対象を小さな単位に分割してテストすることを指す。→結合テスト →ビッグバンテスト 言葉の定義は設計書の付録についてくるでしょ
リアルな会話でやらない人は上流工程に参加してないだけ ソフトウェアの最小単位は画面やページやろ?
どうやって1つの関数でテストできるっていうんだ? そうなんだよ
小さい単位だとしか定義されていない
画面は論外としても関数だとは誰も言ってない
昔は暗黙の了解で
単体テスト=関数だった
推測だが
CUIアプリの場合:単体テスト=関数
GUIアプリの場合:単体テスト=1機能を実現する為の最小コンポーネント群
という風になってしまったんじゃないだろうか
要するにCUIのC言語アプリなら関数を最小単位にするのは直感的で
GUIのVBアプリならテキストボックス+ボタンのセットを最小単位とするのが直感的だった
だから自然と2つの意味が併存してしまい
しかも実施時には違和感を感じなかった 結論
無能は関数単位でテストする方法がわからない
その方法が存在することを知らない
だから実行ファイルを使ってテストすることしかできない >>639
> CUIアプリの場合:単体テスト=関数
無能の場合CUIアプリのテストとは
実行ファイルを実行してテストする
例えばgitの場合、gitのすべてのコマンドを実行してテストする
git initをしたらどういうファイルが作成されるかをチェックしている >>641
https://github.com/git/git/tree/master/t
gitにgitのユニットテスト乗ってるけど半端ないよなこれ
シェルバッチで全部テストしてる 無能ほど無駄な仕事を多くやろうとする
コマンドごとにテストできることをわざわざ関数ごとにテストして膨大な工数を無駄にする
しかも関数のテストをしたってコマンドが正しく動作する保証にはならないから関数のテストは意味がない
バグが混入しにくい堅牢なコードを書くことに労力をかけて
テストはある程度大きな粒度でやったほうがいい
最小限のテストで最大の効果を得ることを考えろ
暇を持て余した学生のお遊びじゃないんだ
業務では工数は限られてる >>641
CUIとCLIは別やで
gitはCLI 納品の為のテスト
トラブル対応の時間を減らす為のテスト
損害賠償を回避する為のテスト
同じように見えるテストでも目的は色々
目的が変われば手段も変わる なるほどな
仕様を満たしているか確認するためのテストはしなくていい現場ってのがあるわけだ その種のテストはなぜか手動でやれとか言い出すのがSIerやで 自動テストはダメなの→自動テストが正しい事はどうやって担保するのか→人間のほうが信用できない→自動テスト作ってるのも人間→ふぁ?
人類はこうやって無駄を繰り返してきた
そもそも自動テストは繰り返し何度も行う前提
ウォーターフォールであるおまえらの現場では自動テストは相性が悪い >>651
根本的にわかってないだろw
> そもそも自動テストは繰り返し何度も行う前提
テストが一回で終わることなんてありえないよ
バグを修正するたびに全部テストやり直しだからね
1つでも見つかったら全部やり直し バグはコンパイラに探させたほうがいい
だから関数型がいいんだ
関数型はテストもシンプルで少なくて済む ?
ゲームで設定から言語を
英語から日本語に変更したら
日本語で表示されるでしょ?
関数型でも同じことなんだが 英語を入力して、日本語が出力されるのを確認、じゃないの ナウなヤングはステートを持たないコーディングがバカウケでしょ?
DBに持たせてアプリケーションサーバには持たせない 言語変更の問題なら、
すべきテストは異なる環境を網羅した横展開のテストだけど、
>>1の指摘なら、全く同じ環境なのに手動で1000回試行しろと命じられる縦に掘っていくテスト >>656
純粋に関数型を突き詰めるなら状態が必要な部分は全部引数に追い出すのが正解じゃないかな
多言語対応必要なラベルは言語コンフィグ参照なんかせずに毎度文字列を受け取れってことだ
まあ流石にそれはきついだろうから文字列そのものじゃなく文字列を吐くモナドを受け取る形でもいいと思うけど >>661
ちゃんと読めよ
自動化してもテストケースは人間が作ってるから
テストケースも自動化しようぜ!っていうのがHypothesisっていうツールの役目だろ?
だから自動テスト自体を否定してるもんじゃないぞ
https://github.com/HypothesisWorks/hypothesis × 自動テストは効果がありません
○ テストケースを自動化することは効果がありません
https://hypothesis.works/ >>664
むしろ、従来の自動化程度では甘い。もっと自動化しようぜとしか読めないのだが。
てか、あんた、中学レベルの英語を読めないの? ニンゲンに金銭を注入することで自動的に作業させてます。 自動テストを実現できていれば
中身を他の言語で書き直しても
簡単に動作確認が取れるよな 開発環境言語とテスト環境言語は一緒でも良いけど
開発環境とテスト環境は一緒にしてると移行しにくいな
ソースにテスト埋め込めます(キリッ
っていう言語多いけどさ 全自動になったとしてさ
ルールは与えないといけないわけでしょ?
そのルールのデバッグできないの? 仕様書に書いてあることだけチェックすりゃいいわけで
仕様書の項目以上増えることはない >>672
CASEツールやらUMLコード生成やらもう何十年も前からそういったアプローチがあるけど全くスタンダードになってない。
唯一Matlab+Simulinkが自動車業界で流行ってるぐらいかな?
開発言語の進化こそあるにせよ結局仕様書の曖昧さを具体化するのはソースコードのみであるという事実は何も変わってない。 仕様書は結構曖昧に書かれている
その曖昧な仕様書をよんで、ここが曖昧ですと指摘できるAIが
実現できないと仕様書からコードは自動生成できるようにはならない
しかし曖昧な文章を理解できてかつ、曖昧な文章を曖昧だと指摘できるAIは作れるのかね? 仕様書が曖昧でも別に俺らは困らないよな
割と曖昧に組むこともできるし
会社の経営者層と俺らって一線引いてあること多いし
セキュリティが緩かったですなんて完全に他人事
客先常駐だったらそもそも仕様を決めたクソったれが悪いし
請負だったら出された要件を満たす項目だけ組むだけ
要件に最強のセキュリティとか書いてあったらできませんと返すことになるだろうが 仕様書から生成されたコードの動きをテストするのは
仕様の曖昧さとは関係ない
仕様に曖昧さがなくてもテストは必要 >>676
> 仕様書が曖昧でも別に俺らは困らないよな
プログラムに直すときに修正しているからね
コンピュータ(AI含む)はそれができないから
仕様書からのコードの自動生成なんて不可能 俺は単体テスト煽りの意見を支持する
単体テストは杓子定規な方便だよ
ネクタイと革靴の有無で大人度を判断するような本質からズレたまま根付いたスタンダード
まるで無駄とは言わんが、なくなった方が世界が少しシンプルになるやつだ テスト書いてないとかお前それ@t_wadaの前でも同じ事言えんの?(AA略 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 は我々に教えてくれます 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 は我々に教えてくれます きれいなテストが書けるやつのコードは読みやすいよ
テストに工数がかかるし意味ないって言ってるやつはCLEANなコードが書けていないだけ おまえらテストいちいち自動化してんの?
マジでえらいな
おれ時間勿体無いしそんな時間あったらネットしたりしてたいから
手動でぱぱっと終わらして
仕様変更来ても関係なさそうな部分だったらテストしないわ >>692
> テストしてんの?テストしないわ
までよんだ なんだか20年くらい前にユースケース図が流行ったときに
全く役立たない棒人形ばかり仕様書に書いていた事を思い出した。
テストプログラムもユースケースと同じように書いてる本人も意味が分かっていないかも? テストプログラムがなんのことか知らないけど、
よく使われている有名なオープンソースソフトウェアには
かならずテストコードがありますよね?
テストコードの重要性は否定できないのでは?
ユースケースは殆ど見かけないけど >>695
ユースケース図のコピペと同じで
常にパスするテストコードばかりのプロジェクトも見たことある。
関係ないがその会社は他にも難があり
VisualSourceSafe(当時)みたいな履歴管理システムは分かりにくいから使うな。
クラスはトレースが困難だから使うのはやめるように
JavaのInterfece宣言がプライベードメソッドにだけされている。
DBでSelectした場合は必ずInsertした順序で出るから・・・
今でもこんなところがありそうなので怖い。 え?ユースケース図は今は書かないの?
要件定義ではいつも書いてるけど このスレ加齢臭すごいな
汎用系→WEB系に転職したけど
まさに汎用系の現場にいたようなやつらばかりだね
どうせアレだろ?「スクリプト言語は簡単!バカでも出来る!!」信仰なんだろ?
一生COBOLでPERFORM文でも書いとけや
金になるからって若手に変な仕事押し付けないでください。 これ「単体テストをしてるフリをするBOT」の需要あるだろ ユニットテストにエクセル生成のライブラリをくっつけたやつが有れば便利なんじゃないかと思ってる なんかAIがテストコードを生成してもおかしくない時代になってきたな 単体テストって改修した部分のコードをexcelに貼り付けて確認表を埋めるんだろ。知ってる。 単体テストの結果がおかしかったので修正しておきました!(テスト結果を) >>704
テストパラメータをズラズラ並べる時なんかはcopilotの補完がかなり利くね
テストデータを外出しにすると逆に補完が利きづらいから外出ししたくなくなるw