単体テストは自動化するものだと思っていたから
一瞬何を言っているのかわからなかった
探検
「単体テストを手動で行いエビデンス取る」の破壊力
2020/09/23(水) 12:29:11.02ID:irsqaiS+
362デフォルトの名無しさん
2020/09/28(月) 03:01:07.29ID:XaZwDbHz ログって言葉が独り歩きしてるけど
基本的に自動テストって
・想定通り動いた=OK出力(グリーン)
・想定通り動いていない=NG出力(レッド)
の2観点しかない
自動テストは結果判定もしてるから、実行だけ成功=OKには絶対にならん
(そんなテストを実装してたらぶっ殺されるわ)
で、自動テストのログが当てにならないっていう人って
無意識に以下のパターンを想定してるんだよね
・想定通りに動いて無いにも関わらず、OK出力(グリーン)が出ている可能性がある
つまりテスト側の不具合を懸念して、それでバグを取りこぼす危険性を考えているわけだ
結論的に言うと、そういうのはテスト作り方の問題になるし
発生するとのは相当なレアケースになる
というかこれが頻発してるなら、自動テスト組んだプログラマはクビにしろ
正しくOK/NGが判定できない自動テストならそりゃテストになってねえ
万が一、このレアケース発生しても修正をすればいいだけの話で、クリティカルな問題に発展する事はほぼ無い
(むしろ人間によるチェックの方が、判定の曖昧さ、ミス隠し、スクショ偽造とか色々やってくるから個人的に信頼出来ん)
基本的に自動テストって
・想定通り動いた=OK出力(グリーン)
・想定通り動いていない=NG出力(レッド)
の2観点しかない
自動テストは結果判定もしてるから、実行だけ成功=OKには絶対にならん
(そんなテストを実装してたらぶっ殺されるわ)
で、自動テストのログが当てにならないっていう人って
無意識に以下のパターンを想定してるんだよね
・想定通りに動いて無いにも関わらず、OK出力(グリーン)が出ている可能性がある
つまりテスト側の不具合を懸念して、それでバグを取りこぼす危険性を考えているわけだ
結論的に言うと、そういうのはテスト作り方の問題になるし
発生するとのは相当なレアケースになる
というかこれが頻発してるなら、自動テスト組んだプログラマはクビにしろ
正しくOK/NGが判定できない自動テストならそりゃテストになってねえ
万が一、このレアケース発生しても修正をすればいいだけの話で、クリティカルな問題に発展する事はほぼ無い
(むしろ人間によるチェックの方が、判定の曖昧さ、ミス隠し、スクショ偽造とか色々やってくるから個人的に信頼出来ん)
363デフォルトの名無しさん
2020/09/28(月) 08:09:53.88ID:IvlPnhNT364デフォルトの名無しさん
2020/09/28(月) 09:58:00.07ID:9LRH2lrq365デフォルトの名無しさん
2020/09/28(月) 10:34:47.24ID:kZm+fu8v するわけねえわwwwユーザと関係ないだろうがバカがwwwww
366デフォルトの名無しさん
2020/09/28(月) 10:35:38.29ID:kZm+fu8v 何のためのテストだよwwwwww
意味のないテストやって尺稼ぎしてんじゃねえぞ経営者目線で仕事しろ
意味のないテストやって尺稼ぎしてんじゃねえぞ経営者目線で仕事しろ
367デフォルトの名無しさん
2020/09/28(月) 10:37:34.85ID:kZm+fu8v ユーザと関係ないところで一生懸命頑張っても誰も認めねえからな
売上に一ミリも寄与しないこと頑張ってどうするんだwwwwwwwww
wwwwユーザから目をそらすために関係ないこと頑張ってるんだろwwwwww
パソコンが好きなだけじゃ会社は成り立たねえんだよwwwwwwwww
売上に一ミリも寄与しないこと頑張ってどうするんだwwwwwwwww
wwwwユーザから目をそらすために関係ないこと頑張ってるんだろwwwwww
パソコンが好きなだけじゃ会社は成り立たねえんだよwwwwwwwww
368デフォルトの名無しさん
2020/09/28(月) 10:49:56.00ID:IvlPnhNT >>364
> ログ出力だって機能の一つなんだからテストするでしょ?
わざとかもしれないけど(笑)話がすり替わってる
ログ出力機能のテストの話じゃなくて
○○機能のテストをするとき、その機能の結果をログに出力して
その出力を目視で人力比較してテストするのはアホという話をしてる
> ログ出力だって機能の一つなんだからテストするでしょ?
わざとかもしれないけど(笑)話がすり替わってる
ログ出力機能のテストの話じゃなくて
○○機能のテストをするとき、その機能の結果をログに出力して
その出力を目視で人力比較してテストするのはアホという話をしてる
369デフォルトの名無しさん
2020/09/28(月) 10:51:15.85ID:kZm+fu8v 単体テストのテストコード書くほうが100倍アホだからwwwwww
wwwwwwwそこんとこ忘れんといてよwwwwwwwwwwwwww
wwwwwwwそこんとこ忘れんといてよwwwwwwwwwwwwww
370デフォルトの名無しさん
2020/09/28(月) 10:51:35.57ID:IvlPnhNT 自動テストでも実行結果をログに出力できるわけで
コンピュータで「比較」までやるか、人力で「比較」するか
誰が「比較」するのか?が違う所なんだよね
コンピュータで「比較」までやるか、人力で「比較」するか
誰が「比較」するのか?が違う所なんだよね
371デフォルトの名無しさん
2020/09/28(月) 10:53:06.94ID:a6s5Hb4H なんかよくわからないところに噛み付いてるのでスルー
372デフォルトの名無しさん
2020/09/28(月) 10:57:53.54ID:053eSEmA wの数と知能の高さは反比例するらしい
373デフォルトの名無しさん
2020/09/28(月) 11:18:15.31ID:IvlPnhNT これの話だからな
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
結局最後に頼れるのは人間の目だからな
何のために目が付いてるか考えろ
ログを見るためだろうが
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
結局最後に頼れるのは人間の目だからな
何のために目が付いてるか考えろ
ログを見るためだろうが
374デフォルトの名無しさん
2020/09/28(月) 13:05:35.15ID:Pd1BjD7i 関数の入力仕様と出力仕様が明確なら
ログ出力関数のテストは簡単
でもログ出力関数を使う処理が正しくログ出力してるかどうかのテストはそう簡単ではない
なぜならログ出力の正しさを判定するためにはログ出力以外の結果は正しいということが事前にわかってなければいけないから
つまりログ出力だけでは処理の正しさを証明することは出来ない
テストで「正しいと証明できる」という考え自体がある種の幻想
ログ出力関数のテストは簡単
でもログ出力関数を使う処理が正しくログ出力してるかどうかのテストはそう簡単ではない
なぜならログ出力の正しさを判定するためにはログ出力以外の結果は正しいということが事前にわかってなければいけないから
つまりログ出力だけでは処理の正しさを証明することは出来ない
テストで「正しいと証明できる」という考え自体がある種の幻想
375デフォルトの名無しさん
2020/09/28(月) 15:21:10.71ID:XaZwDbHz このスレ見てると一体どういう自動テストを実装してて
どういうログを流してるのか本当に気になるわ
そんな突き抜けバグ(不具合起きてるのに何故か正常終了扱いになってる状態)を抱えた自動テストばっかり使ってるの?
本当にどういう自動テストを想定してるのか分からん
まさかログに値だけ出して、後でその値が正しいのか人間がチェックしてるのか?
それ自動テストじゃなくて、ただの自動実行だよ
テストっていうならグリーン/レッド判定まで実装してなきゃ使いもんにならん
どういうログを流してるのか本当に気になるわ
そんな突き抜けバグ(不具合起きてるのに何故か正常終了扱いになってる状態)を抱えた自動テストばっかり使ってるの?
本当にどういう自動テストを想定してるのか分からん
まさかログに値だけ出して、後でその値が正しいのか人間がチェックしてるのか?
それ自動テストじゃなくて、ただの自動実行だよ
テストっていうならグリーン/レッド判定まで実装してなきゃ使いもんにならん
376デフォルトの名無しさん
2020/09/28(月) 15:28:21.82ID:IvlPnhNT > 本当にどういう自動テストを想定してるのか分からん
> まさかログに値だけ出して、後でその値が正しいのか人間がチェックしてるのか?
ログに値だけだして〜って言ってる人は、自動テストしてないよ
ログに値だけだして目視確認する手動テストでいいって言ってる
なぜなら正しい結果がわからないから
これ↓ね。こいつの言ってる意味がわからんと思うけど、意味不明だと俺も思うw
28 名前:デフォルトの名無しさん[sage] 投稿日:2020/09/23(水) 20:17:23.00 ID:cCwBtdaA [9/11]
テストと言いつつできるのは計算過程と処理結果を残すだけだと思ってるよ俺は
長年考えた結果
正しい値なんてのは実は物理的に誰も知りえないということを理解した
なのでテストで重視するのは俺は組んだコードのエビデンスの方
どんな処理書いてどんなログ出したか
自動テストは結局同じやつが作ってる以上同じ不具合入ってるだろうなって思ってるw
> まさかログに値だけ出して、後でその値が正しいのか人間がチェックしてるのか?
ログに値だけだして〜って言ってる人は、自動テストしてないよ
ログに値だけだして目視確認する手動テストでいいって言ってる
なぜなら正しい結果がわからないから
これ↓ね。こいつの言ってる意味がわからんと思うけど、意味不明だと俺も思うw
28 名前:デフォルトの名無しさん[sage] 投稿日:2020/09/23(水) 20:17:23.00 ID:cCwBtdaA [9/11]
テストと言いつつできるのは計算過程と処理結果を残すだけだと思ってるよ俺は
長年考えた結果
正しい値なんてのは実は物理的に誰も知りえないということを理解した
なのでテストで重視するのは俺は組んだコードのエビデンスの方
どんな処理書いてどんなログ出したか
自動テストは結局同じやつが作ってる以上同じ不具合入ってるだろうなって思ってるw
377デフォルトの名無しさん
2020/09/28(月) 15:54:13.14ID:6prVz1CN そろそろレス古事記に構うのをやめようか…
テストはバカだという証明はできるけど、いくら指摘しても修正しない限りバカはバカのままだし
テストはバカだという証明はできるけど、いくら指摘しても修正しない限りバカはバカのままだし
378デフォルトの名無しさん
2020/09/28(月) 17:44:17.57ID:KzfYiCsA エビデンスとはテストを端折らずに実行しましたと言う証拠であって
動作の正しさやテスト手順の正しさを証明する証拠ではない
エビデンスという名の作業ログ
動作の正しさやテスト手順の正しさを証明する証拠ではない
エビデンスという名の作業ログ
379デフォルトの名無しさん
2020/09/28(月) 17:47:45.47ID:vQtpARZo 自社開発ならエビデンスは要らんよ
しょせん対外的な作業証明でしかないからな
それよりテストコード、テスト可能なコードを書いてくれや
しょせん対外的な作業証明でしかないからな
それよりテストコード、テスト可能なコードを書いてくれや
380デフォルトの名無しさん
2020/09/28(月) 18:18:18.53ID:PsVubO2q 細かいことで揉めるから、
>>1のような提案をする空気だけは読めるバカが出世して管理職になんだな。この業界は
>>1のような提案をする空気だけは読めるバカが出世して管理職になんだな。この業界は
381デフォルトの名無しさん
2020/09/28(月) 18:49:50.77ID:l/9oGi4t >>378
そのとおり
バグっている場合は、そのバグの様子をスクショしてるだろうからバグがあるというエビデンスにはなるだろう
しかしバグがないというエビデンスにはならない。これは自動テストでも同じだが、大きな違いは
バグってないというスクショをとっても、正しくテストを実行したというエビデンスにはならないという点
スクショ取るだけではテストケースは書いてあっても、そのテストどおりにテストをしたという証拠にはならない
最終結果だけでなく一連の動作を動画で撮影してるならまだわかるが、間違って手順でテストしたかもしれない
つまりエビデンスというのは(手順が間違ってるかもしれないけど)ちゃんと作業しましたという意味にしかならない
どういう手順でテストを実行したかという記録が含まれていない
自動テストの場合は最終結果だけでなくどういう手順でテストを実行したかが記録されている。
必要なら再実行もできる。だからこれこそが本当のエビデンスになる。
そのとおり
バグっている場合は、そのバグの様子をスクショしてるだろうからバグがあるというエビデンスにはなるだろう
しかしバグがないというエビデンスにはならない。これは自動テストでも同じだが、大きな違いは
バグってないというスクショをとっても、正しくテストを実行したというエビデンスにはならないという点
スクショ取るだけではテストケースは書いてあっても、そのテストどおりにテストをしたという証拠にはならない
最終結果だけでなく一連の動作を動画で撮影してるならまだわかるが、間違って手順でテストしたかもしれない
つまりエビデンスというのは(手順が間違ってるかもしれないけど)ちゃんと作業しましたという意味にしかならない
どういう手順でテストを実行したかという記録が含まれていない
自動テストの場合は最終結果だけでなくどういう手順でテストを実行したかが記録されている。
必要なら再実行もできる。だからこれこそが本当のエビデンスになる。
382デフォルトの名無しさん
2020/09/28(月) 18:52:55.72ID:l/9oGi4t スクショには正しい手順でテストを実行したかが記録されていないのだから
作業をしましたという報告でしかない。
バグのスクショは意味があるが、正しく動きましたというスクショは必要ない
だからこれは本来この項目をテストOKでしたとチェックリストにチェックつけるだけで十分
チェックリストにOKでしたというチェックをつければ十分なことに
スクショを必要とするのは、単に作業者の報告を信用してないという意味でしかない
作業をしましたという報告でしかない。
バグのスクショは意味があるが、正しく動きましたというスクショは必要ない
だからこれは本来この項目をテストOKでしたとチェックリストにチェックつけるだけで十分
チェックリストにOKでしたというチェックをつければ十分なことに
スクショを必要とするのは、単に作業者の報告を信用してないという意味でしかない
383デフォルトの名無しさん
2020/09/28(月) 18:59:46.59ID:S2C1y2x2 単体テスト書いとけば改修しても自動で既存機能が壊れてないことが確認できる
ゆえに機能の改修を心置きなくできる
テストがないと気軽に既存機能に手を入れるわけにはいかなくなる
(あたりまえ)
ゆえに機能の改修を心置きなくできる
テストがないと気軽に既存機能に手を入れるわけにはいかなくなる
(あたりまえ)
384デフォルトの名無しさん
2020/09/28(月) 19:04:07.86ID:l/9oGi4t 自動テストがないと手動テストをしないといけない
それは膨大な作業量となる
だからバグのないコードを書け、作ったら改修はするな!と叫ぶ
バグがあったときのことまで考えてない
仕様に変更があったときのことまで考えてない
一旦書いたら終わりという前提でいるやつがいる
それは膨大な作業量となる
だからバグのないコードを書け、作ったら改修はするな!と叫ぶ
バグがあったときのことまで考えてない
仕様に変更があったときのことまで考えてない
一旦書いたら終わりという前提でいるやつがいる
385デフォルトの名無しさん
2020/09/28(月) 19:12:10.31ID:DyBDarNn そのほうがビジネスとしては美味しんだ
テクニカルな面で優れた手法がビジネスでも優れた手法であるとは限らない
テクニカルな面で優れた手法がビジネスでも優れた手法であるとは限らない
386デフォルトの名無しさん
2020/09/28(月) 20:30:31.71ID:l/9oGi4t387デフォルトの名無しさん
2020/09/28(月) 20:34:16.60ID:ogYc/62K >>382
>バグのスクショは意味があるが、正しく動きましたというスクショは必要ない
正しく動いてたと思っていたものに後から不具合が見つかった場合
前回テスト時のスクショがあると調査が効率的にできる
それは自動でも手動でも同じ
>スクショを必要とするのは、単に作業者の報告を信用してないという意味でしかない
個人への信用に依存したシステムはミスがあれば個人を責めることになるのですぐブラック化する
典型的なマネジメント能力不足の例
>バグのスクショは意味があるが、正しく動きましたというスクショは必要ない
正しく動いてたと思っていたものに後から不具合が見つかった場合
前回テスト時のスクショがあると調査が効率的にできる
それは自動でも手動でも同じ
>スクショを必要とするのは、単に作業者の報告を信用してないという意味でしかない
個人への信用に依存したシステムはミスがあれば個人を責めることになるのですぐブラック化する
典型的なマネジメント能力不足の例
388デフォルトの名無しさん
2020/09/28(月) 20:40:07.93ID:l/9oGi4t > 正しく動いてたと思っていたものに後から不具合が見つかった場合
> 前回テスト時のスクショがあると調査が効率的にできる
不具合があると既に分かった後の話ですよね?
スクショがあると、どう効率的に調査できるんですか?
> 前回テスト時のスクショがあると調査が効率的にできる
不具合があると既に分かった後の話ですよね?
スクショがあると、どう効率的に調査できるんですか?
389デフォルトの名無しさん
2020/09/28(月) 20:48:11.43ID:l/9oGi4t >>387
> 個人への信用に依存したシステムはミスがあれば個人を責めることになるのですぐブラック化する
だから自動テストでコードにするんですよね。他の人がテスト内容をレビューできるように
スクショだと、実際どういう手順でテストしたのかが記録されてないから
ちゃんとテストしてないだろ!って個人を責めることにつながる
> 個人への信用に依存したシステムはミスがあれば個人を責めることになるのですぐブラック化する
だから自動テストでコードにするんですよね。他の人がテスト内容をレビューできるように
スクショだと、実際どういう手順でテストしたのかが記録されてないから
ちゃんとテストしてないだろ!って個人を責めることにつながる
390デフォルトの名無しさん
2020/09/28(月) 20:56:15.23ID:l/9oGi4t 手動テストで問題なのが、前やったときのテストと完全に同じ状態が作れないということ
作業の順番でも状態が変わってくるから前後にやったテストによって成功したり失敗したりする
だから改めて同じと思った手順でテストしたら失敗することがある
スクショを取っていても「お前この前ちゃんとやってなかっただろ!」と責められる
作業の順番でも状態が変わってくるから前後にやったテストによって成功したり失敗したりする
だから改めて同じと思った手順でテストしたら失敗することがある
スクショを取っていても「お前この前ちゃんとやってなかっただろ!」と責められる
391デフォルトの名無しさん
2020/09/28(月) 20:56:35.83ID:ogYc/62K392デフォルトの名無しさん
2020/09/28(月) 20:59:41.24ID:l/9oGi4t393デフォルトの名無しさん
2020/09/28(月) 21:02:30.45ID:l/9oGi4t 自動化したUIのテストでスクショを撮るというのはおかしな表現で
"テスト"を自動化していれば、当然自動的にテストされるわけよ
スクショはいらない
>>391が言ってることのほんとうの意味は
UIのスクショを自動で撮っているだけで
UIのテストは人が目で見てやってる手動テストだろう?
それとも違うんか? UIのテストを人が目で見ず本当に自動化してるんか?
"テスト"を自動化していれば、当然自動的にテストされるわけよ
スクショはいらない
>>391が言ってることのほんとうの意味は
UIのスクショを自動で撮っているだけで
UIのテストは人が目で見てやってる手動テストだろう?
それとも違うんか? UIのテストを人が目で見ず本当に自動化してるんか?
394デフォルトの名無しさん
2020/09/28(月) 21:50:00.98ID:p7AH+v00 でもいい感じにお高いツールはUIテスト時のスクショも自動で撮ってくれるからねw
ないからっていらないやいって悔し涙流さなくていいぜ
ないからっていらないやいって悔し涙流さなくていいぜ
395デフォルトの名無しさん
2020/09/28(月) 22:13:57.33ID:F7s1Ev+m 別に高くなくても取ってくれるやろw
論点はそこじゃない
取った後どうするのかだろ
論点はそこじゃない
取った後どうするのかだろ
396デフォルトの名無しさん
2020/09/28(月) 22:22:53.69ID:wtgFthbS 高いツール使ってるんだぜ悔しいだろ
みたいな意味かな?
みたいな意味かな?
397デフォルトの名無しさん
2020/09/28(月) 22:46:00.77ID:kdgXLiCU398デフォルトの名無しさん
2020/09/28(月) 22:46:59.66ID:kdgXLiCU ただ・・・
(実はあんまり手間減らないんだけどな)
(実はあんまり手間減らないんだけどな)
399デフォルトの名無しさん
2020/09/28(月) 22:49:58.70ID:oBRHa3sA 自動化は人間が楽をするために自動化してるだけなんだからログでもスクショでも何でも良いけど、テスト結果がグリーンであってもエビデンスは人間の目で検証しないとダメだよ。自動化の利点は、手動テストやってる要員や係るリソースを他のことに回せるってだけ。
400デフォルトの名無しさん
2020/09/28(月) 22:59:02.59ID:oBRHa3sA 自動テストがプログラマの自己満と言われる所以はテストパターンを無限に作成できるからだよ。sumAtoFで引数を6個取るなら0,0,0,0,0,0から9,9,9,9,9,9の範囲や、マイナス値とか小数点とかnull値を含めていくらでもテストパターンが作れる。しかも再実施も簡単。手動テストじゃそうはいかないからね。
401デフォルトの名無しさん
2020/09/28(月) 23:04:39.36ID:F7s1Ev+m >>397
見てないでテストしろよw
見てないでテストしろよw
402デフォルトの名無しさん
2020/09/28(月) 23:05:15.32ID:F7s1Ev+m >>400
手動テストでもテストパターンは無限に作れると思うが?w
手動テストでもテストパターンは無限に作れると思うが?w
403デフォルトの名無しさん
2020/09/28(月) 23:05:54.07ID:F7s1Ev+m404デフォルトの名無しさん
2020/09/28(月) 23:07:17.45ID:oBRHa3sA >>399
あ、初めて自動化したときだけエビデンスの検証してねってこと。次の改修では追加・変更したテストパターンのエビデンスを検証する。それ以外の既存のテストパターンは結果がグリーンであればそれでデグレとしての証明は担保できてると思うよ
あ、初めて自動化したときだけエビデンスの検証してねってこと。次の改修では追加・変更したテストパターンのエビデンスを検証する。それ以外の既存のテストパターンは結果がグリーンであればそれでデグレとしての証明は担保できてると思うよ
405デフォルトの名無しさん
2020/09/28(月) 23:09:04.76ID:oBRHa3sA >>403
PGした人がテストパターンも作ってたら同じ不具合が混入する可能性があるでしょ
PGした人がテストパターンも作ってたら同じ不具合が混入する可能性があるでしょ
406デフォルトの名無しさん
2020/09/28(月) 23:11:15.46ID:oBRHa3sA >>402
手動テストでも無限に作れるけど人海戦術しないとテストしきれないでしょ。テストの規模とプロジェクトによってはそんなの現実的じゃない。だから自動化のが簡単。
手動テストでも無限に作れるけど人海戦術しないとテストしきれないでしょ。テストの規模とプロジェクトによってはそんなの現実的じゃない。だから自動化のが簡単。
407デフォルトの名無しさん
2020/09/28(月) 23:38:45.80ID:XaZwDbHz >>400
>自動テストがプログラマの自己満と言われる所以はテストパターンを無限に作成できるからだよ。sumAtoFで引数を6個取るなら0,0,0,0,0,0から9,9,9,9,9,9の範囲や、マイナス値とか小数点とかnull値を含めていくらでもテストパターンが作れる。しかも再実施も簡単。手動テストじゃそうはいかないからね。
流石にテストパターンの洗い出しすら考えないのは頭おかしいやろ
自動テストの実装コストもタダじゃないし
というか不要なテストパターン(重複してるテストパターン)は消すぞ普通……
>自動テストがプログラマの自己満と言われる所以はテストパターンを無限に作成できるからだよ。sumAtoFで引数を6個取るなら0,0,0,0,0,0から9,9,9,9,9,9の範囲や、マイナス値とか小数点とかnull値を含めていくらでもテストパターンが作れる。しかも再実施も簡単。手動テストじゃそうはいかないからね。
流石にテストパターンの洗い出しすら考えないのは頭おかしいやろ
自動テストの実装コストもタダじゃないし
というか不要なテストパターン(重複してるテストパターン)は消すぞ普通……
408デフォルトの名無しさん
2020/09/28(月) 23:40:02.84ID:XaZwDbHz というかテスト自動化で無限にテストが出来るって思ってる奴もいるのかよおおおもう
あれだな、デジタル庁も作られるんだし
品質管理の観点として、テストに関してちゃんとガイドラインと共通規格決めてくれ
頭痛くなってきた
あれだな、デジタル庁も作られるんだし
品質管理の観点として、テストに関してちゃんとガイドラインと共通規格決めてくれ
頭痛くなってきた
409デフォルトの名無しさん
2020/09/28(月) 23:57:54.71ID:oBRHa3sA >>408
理論上は可能だよねって話をしただけだよ。現場ではそんな無意味なテストしてないから発狂しないでよw
テストパターン考えるときに大丈夫だとは分かっていても不安だから盛り込むパターンも少しくらいはあるよねってこと。人間だもん。ちょっと多めにテストして安心したいよね。
理論上は可能だよねって話をしただけだよ。現場ではそんな無意味なテストしてないから発狂しないでよw
テストパターン考えるときに大丈夫だとは分かっていても不安だから盛り込むパターンも少しくらいはあるよねってこと。人間だもん。ちょっと多めにテストして安心したいよね。
410デフォルトの名無しさん
2020/09/29(火) 00:00:16.04ID:Iz7+ZlTk 無限に作るとか、藻舞ら、境界値テストを知らんのか?w
例えば、正常範囲を10〜20 と決めたら、論理的に、9, 10, 20, 21 だけでOK のはずw
-1, 0 も、9と同じ。
11, 19 も、10, 20 と同じ
100 も、21 と同じ
こういうのを論理的思考と言う。
どれとどれが、同じグループですか? と言う問題
例えば、正常範囲を10〜20 と決めたら、論理的に、9, 10, 20, 21 だけでOK のはずw
-1, 0 も、9と同じ。
11, 19 も、10, 20 と同じ
100 も、21 と同じ
こういうのを論理的思考と言う。
どれとどれが、同じグループですか? と言う問題
411デフォルトの名無しさん
2020/09/29(火) 01:22:33.83ID:xt+EJgQq >>405
> PGした人がテストパターンも作ってたら同じ不具合が混入する可能性があるでしょ
え?なんで?w
テストパターンってお前コードから生成すんのか?
そもそも最初に、入力決めて、出力決めて、
そうなるように作るというのに意味がわからん
> PGした人がテストパターンも作ってたら同じ不具合が混入する可能性があるでしょ
え?なんで?w
テストパターンってお前コードから生成すんのか?
そもそも最初に、入力決めて、出力決めて、
そうなるように作るというのに意味がわからん
412デフォルトの名無しさん
2020/09/29(火) 01:23:53.37ID:xt+EJgQq413デフォルトの名無しさん
2020/09/29(火) 02:00:17.68ID:p269Qkae414デフォルトの名無しさん
2020/09/29(火) 02:11:15.35ID:xt+EJgQq >>413
> テストパターンを基にテストコードを書くよ。
そのテストパターンが間違っていたらどうするんだ!
まあそういう事はあるよねw テストそのものが間違ってるってこと
でもPGがテストパターンを作ると間違えるってのが意味がわからない
PGが作ってもPG以外が作っても、テストパターンを間違える可能性は変わらない
> テストを実行したら全部グリーンでもテストコードのコーレビューをするよ。
手動テストの場合どうするんだろうね。テストコードに相当するのはテスト手順なわけで
テスト手順もレビューも必要なんだが、手動テストだとテストパターンのレビューしかしてなさそうw
テストパターンはあってるけどテスト手順が間違っていて意味のないテストをしてたりしてな
テストするときは先にデータを初期化して、この手順でデータ作ってからやらないとだめじゃないですか!みたいな
> テストパターンを基にテストコードを書くよ。
そのテストパターンが間違っていたらどうするんだ!
まあそういう事はあるよねw テストそのものが間違ってるってこと
でもPGがテストパターンを作ると間違えるってのが意味がわからない
PGが作ってもPG以外が作っても、テストパターンを間違える可能性は変わらない
> テストを実行したら全部グリーンでもテストコードのコーレビューをするよ。
手動テストの場合どうするんだろうね。テストコードに相当するのはテスト手順なわけで
テスト手順もレビューも必要なんだが、手動テストだとテストパターンのレビューしかしてなさそうw
テストパターンはあってるけどテスト手順が間違っていて意味のないテストをしてたりしてな
テストするときは先にデータを初期化して、この手順でデータ作ってからやらないとだめじゃないですか!みたいな
415デフォルトの名無しさん
2020/09/29(火) 02:12:51.17ID:xt+EJgQq >>413
> 最初に入力を決めて次に出力を決めてそうなるようにテストコードを書くよ。
ここは言葉が間違ってるね
× 入力を決めて次に出力を決めてそうなるようにテストコードを書くよ。
○ 入力を与えて出力が決めたとおりになってるかを確認するテストコードを書くよ
TDDではそのあとに、テストに通るように実装コードを書く
> 最初に入力を決めて次に出力を決めてそうなるようにテストコードを書くよ。
ここは言葉が間違ってるね
× 入力を決めて次に出力を決めてそうなるようにテストコードを書くよ。
○ 入力を与えて出力が決めたとおりになってるかを確認するテストコードを書くよ
TDDではそのあとに、テストに通るように実装コードを書く
416デフォルトの名無しさん
2020/09/29(火) 02:23:59.41ID:MtZ1Pd/Y417デフォルトの名無しさん
2020/09/29(火) 02:35:59.25ID:MtZ1Pd/Y418デフォルトの名無しさん
2020/09/29(火) 02:43:07.02ID:p269Qkae >>415
あぁそのとおりだった
あぁそのとおりだった
419デフォルトの名無しさん
2020/09/29(火) 02:43:46.13ID:p269Qkae >>414
・PG組んだ人が一番思い込みが強いから、もしかしたら他の有識者と認識が乖離しているかもしれない。まぁレビュアがしっかりしてれば大丈夫。
・手動テストの場合は、テスト条件を満たしていることが担保できるようなスクショを取得するよ。テスト条件どおりに実施してくれたかどうかは実施者を信用するしかないね。エビデンスに細工されたら誰も気づかないと思う。
ちゃんと実施してるつもりでも実際は細かい操作とか大事な操作をミスっちゃってて、それでもたまたま予想結果と一致しちゃう事もあるかもしれない。だけどそんな偶然は滅多に起きない。後でアドホックテストもするし、結合試験や統合試験で発見できればok。
・エビデンスとテスト手順とパターンを見比べて「これは何のテストをなんだ?」って思うことは稀によくあるね。
・手動テストでテストデータが必要な場合は事前準備としてそういうデータを用意してからテスト開始するよ。
・PG組んだ人が一番思い込みが強いから、もしかしたら他の有識者と認識が乖離しているかもしれない。まぁレビュアがしっかりしてれば大丈夫。
・手動テストの場合は、テスト条件を満たしていることが担保できるようなスクショを取得するよ。テスト条件どおりに実施してくれたかどうかは実施者を信用するしかないね。エビデンスに細工されたら誰も気づかないと思う。
ちゃんと実施してるつもりでも実際は細かい操作とか大事な操作をミスっちゃってて、それでもたまたま予想結果と一致しちゃう事もあるかもしれない。だけどそんな偶然は滅多に起きない。後でアドホックテストもするし、結合試験や統合試験で発見できればok。
・エビデンスとテスト手順とパターンを見比べて「これは何のテストをなんだ?」って思うことは稀によくあるね。
・手動テストでテストデータが必要な場合は事前準備としてそういうデータを用意してからテスト開始するよ。
420デフォルトの名無しさん
2020/09/29(火) 03:23:36.66ID:xt+EJgQq421デフォルトの名無しさん
2020/10/01(木) 00:35:27.53ID:eJ1GgjYl set○○○系の値を設定するだけのメソッドってあるじゃん
ケース1:resultがOKならOKとする
ケース2:get○○○系メソッドを実行して値を確認する
ケース3:実際にその値の変更の影響をうける処理を実行して確認する
実はもう結合まで来てんだけどどうやって確認する?
ケース1:resultがOKならOKとする
ケース2:get○○○系メソッドを実行して値を確認する
ケース3:実際にその値の変更の影響をうける処理を実行して確認する
実はもう結合まで来てんだけどどうやって確認する?
422デフォルトの名無しさん
2020/10/01(木) 01:18:21.36ID:eJ1GgjYl あ、やってみたらget○○○系もよくわかんなかった
値取得できたけどそれが何?
何が取れると正しいの?ってのが一連の処理の流れだと取得できるべき正しい値が本気でわからん
値取得できたけどそれが何?
何が取れると正しいの?ってのが一連の処理の流れだと取得できるべき正しい値が本気でわからん
423デフォルトの名無しさん
2020/10/01(木) 01:47:22.39ID:5ZG2Vz6Q424デフォルトの名無しさん
2020/10/01(木) 01:48:27.69ID:5ZG2Vz6Q425デフォルトの名無しさん
2020/10/01(木) 01:49:32.00ID:5ZG2Vz6Q426デフォルトの名無しさん
2020/10/01(木) 01:50:23.95ID:5ZG2Vz6Q あ、あれか。教科書写経してるだけだから
自分が何を作ってるかわからないとか
んで作ってみて動かしたら・・・ゲームだった!みたいな事やってんの?w
自分が何を作ってるかわからないとか
んで作ってみて動かしたら・・・ゲームだった!みたいな事やってんの?w
427デフォルトの名無しさん
2020/10/01(木) 21:43:23.18ID:YGkMqux4 コンパイラ作ってるんだが、検査は自動でランダム構文生成とかしてやってるよ
もちろん普通の検査もやるんだけど、それだけだとパターン数が発散して検査しきれない
ランダム検査はテスト件数でいうと1000億件とかになる
不具合でるのはそのうち5件とかだったりするんだけどね
もちろん普通の検査もやるんだけど、それだけだとパターン数が発散して検査しきれない
ランダム検査はテスト件数でいうと1000億件とかになる
不具合でるのはそのうち5件とかだったりするんだけどね
428デフォルトの名無しさん
2020/10/01(木) 22:26:34.54ID:bT++viin >>427
だからそれを手動でやればいいんですよ!
だからそれを手動でやればいいんですよ!
429デフォルトの名無しさん
2020/10/02(金) 10:25:59.72ID:ccBFPzFH 自動化する単体テスト=関数単位のテスト
エビデンスをとる単体テスト=1個の機能のテスト。例えば入力欄1個など
エビデンスをとる単体テスト=1個の機能のテスト。例えば入力欄1個など
430デフォルトの名無しさん
2020/10/02(金) 10:30:06.30ID:qiKhE9Co > エビデンスをとる単体テスト=1個の機能のテスト。例えば入力欄1個など
その"エビデンス"でどうやって入力欄1個の機能がOKだと証明するの?
入力欄1個の機能がOKであると、誰もが認られるようなエビデンスとはどんなものが知りたい
そこに入力欄の画像が1個あったって、機能が満たされてるかなんてわからんしね
その"エビデンス"でどうやって入力欄1個の機能がOKだと証明するの?
入力欄1個の機能がOKであると、誰もが認られるようなエビデンスとはどんなものが知りたい
そこに入力欄の画像が1個あったって、機能が満たされてるかなんてわからんしね
431デフォルトの名無しさん
2020/10/02(金) 10:50:47.71ID:ccBFPzFH >>430
機能がOKだと証明するわけではない
「テスト項目の通り実行したらこの通りの画面になった」
つまり、テストを行ったという事を証明しているにすぎない
だから入力ミスや、テスト実行者の勘違いまではフォローしきれない
機能の証明ではなくテスト実行の証明だから
わざわざエビデンスに日時が入るように撮影することを要件としている
機能がOKだという証明だけであれば日時は不要だろう
実際、自動テストはテスト実行日時など重視していないはずだ
(デバッグの為に日時を保存しているにすぎない)
エビデンスに日時を入れるという行為があるかどうか
それだけでもテストの性格がわかるというものだ
テスト実行者を信用しないのであれば自動テストで十分だろう
機能がOKだと証明するわけではない
「テスト項目の通り実行したらこの通りの画面になった」
つまり、テストを行ったという事を証明しているにすぎない
だから入力ミスや、テスト実行者の勘違いまではフォローしきれない
機能の証明ではなくテスト実行の証明だから
わざわざエビデンスに日時が入るように撮影することを要件としている
機能がOKだという証明だけであれば日時は不要だろう
実際、自動テストはテスト実行日時など重視していないはずだ
(デバッグの為に日時を保存しているにすぎない)
エビデンスに日時を入れるという行為があるかどうか
それだけでもテストの性格がわかるというものだ
テスト実行者を信用しないのであれば自動テストで十分だろう
432デフォルトの名無しさん
2020/10/02(金) 11:03:54.55ID:5k+kT3LD 自己満だろうがなんだろうが顧客が納得すりゃなんでも良い
433デフォルトの名無しさん
2020/10/02(金) 11:07:42.23ID:sGznlVtc434デフォルトの名無しさん
2020/10/02(金) 11:11:38.77ID:5k+kT3LD テストのテストを作ろう
435デフォルトの名無しさん
2020/10/02(金) 11:12:38.01ID:qQOsRvHB 画面にせっせと入力して保存ボタン
データベースに登録されてるかチェック
苦しい_(┐「ε:)_
データベースに登録されてるかチェック
苦しい_(┐「ε:)_
436デフォルトの名無しさん
2020/10/02(金) 11:23:36.85ID:IN7vVVT4 >エビデンスに日時が入るように撮影することを要件としている
初めて聞いたわw
日付入れたところで改ざん可能なんだから日単位でファイルを上げて
履歴追えるようにしとけば十分だろ
初めて聞いたわw
日付入れたところで改ざん可能なんだから日単位でファイルを上げて
履歴追えるようにしとけば十分だろ
437デフォルトの名無しさん
2020/10/02(金) 12:25:05.51ID:p0460FPy >>436
ログの位置がわかりやすいようにってだけだろそこ
ログの位置がわかりやすいようにってだけだろそこ
438デフォルトの名無しさん
2020/10/07(水) 06:48:55.17ID:/9qe8bOG xUnit嫌いな人割と身近にいるわ
単体テストしない派というか
単体テストしない派というか
439デフォルトの名無しさん
2020/10/07(水) 07:43:09.85ID:30MBwAQY >>438
仕様が決まってるテストはいいが決まっていなかったり曖昧なのは滅茶苦茶時間がかかるので嫌い
仕様が決まってるテストはいいが決まっていなかったり曖昧なのは滅茶苦茶時間がかかるので嫌い
440デフォルトの名無しさん
2020/10/07(水) 10:15:52.92ID:PQSR0KDO441デフォルトの名無しさん
2020/10/07(水) 10:30:45.44ID:EdLJXccd テスターのな
442デフォルトの名無しさん
2020/10/07(水) 10:50:24.82ID:XQGZutpf >>441
テスターがどんな仕様を決めたの?
テスターがどんな仕様を決めたの?
443デフォルトの名無しさん
2020/10/07(水) 10:51:39.35ID:XQGZutpf テスターが仕様決めるって意味わからんw
この関数は引数の全ての値を足す関数だ
って決めるんか?w
この関数は引数の全ての値を足す関数だ
って決めるんか?w
444デフォルトの名無しさん
2020/10/07(水) 10:53:47.21ID:Y8Dc73BQ 俺は常に自分でテストコードを書きながら仕事をしているから、いまいち単体テスト専用のテスターという存在がよくわからん。
新人教育目的で自分の成果物に対して不足しているテストコードを修正する形で書かせることはあるけど、基本的には実装する時にはテスト仕様もできてるしなぁ...。
新人教育目的で自分の成果物に対して不足しているテストコードを修正する形で書かせることはあるけど、基本的には実装する時にはテスト仕様もできてるしなぁ...。
445デフォルトの名無しさん
2020/10/07(水) 11:03:34.37ID:gjadbZmD446デフォルトの名無しさん
2020/10/07(水) 11:18:28.39ID:r+XQDTLB 小さい関数を心がければテストコードが必要なほど複雑なコードって書かなくない?
テストコードを書くと必ずデータ用意しなきゃならないけどそのデータを間違って入力する確率のほうが高い
テストコードを書くと必ずデータ用意しなきゃならないけどそのデータを間違って入力する確率のほうが高い
447デフォルトの名無しさん
2020/10/07(水) 11:19:43.12ID:Y8Dc73BQ >>445
俺さ、まさにリアルタイムでスマホアプリ開発しててテストコードを書いてるんだけど、お前、頭大丈夫?
iOS、android、Windows対応のアプリ作ってるけど、こんなこと言う奴初めてみたよ。
JavaとかでJUnitとか聞いたことない?
C#でプロジェクトファイルを作るとき、Unit testというテンプレート見たことない?
お前、Windows開発すらしたことないだろ。
俺は別に1画面がどうのこうの言ってないし、そもそもexe単体とか論外だわ。
まず、単体テストについてググれカス。
俺さ、まさにリアルタイムでスマホアプリ開発しててテストコードを書いてるんだけど、お前、頭大丈夫?
iOS、android、Windows対応のアプリ作ってるけど、こんなこと言う奴初めてみたよ。
JavaとかでJUnitとか聞いたことない?
C#でプロジェクトファイルを作るとき、Unit testというテンプレート見たことない?
お前、Windows開発すらしたことないだろ。
俺は別に1画面がどうのこうの言ってないし、そもそもexe単体とか論外だわ。
まず、単体テストについてググれカス。
448デフォルトの名無しさん
2020/10/07(水) 11:28:20.11ID:r+XQDTLB >>447
日本語圏内で言う単位テストは普通は画面、帳票、バッチ、ようは要件定義に書いた機能ごとのテストだよ
xUnitとかJUnitのようなもののことを言いたい場合には、ユニットテスト、あるいは自動テストと言ったほうがいい
日本ではユニットテスト≠単位テスト
日本語圏内で言う単位テストは普通は画面、帳票、バッチ、ようは要件定義に書いた機能ごとのテストだよ
xUnitとかJUnitのようなもののことを言いたい場合には、ユニットテスト、あるいは自動テストと言ったほうがいい
日本ではユニットテスト≠単位テスト
449デフォルトの名無しさん
2020/10/07(水) 11:32:47.67ID:Y8Dc73BQ 1からのやり取りを見てもそんなこと言えるの?
あと、ググるとまっさきに出るのが「単体(ユニットテスト)とは」なのだが。
そして、俺もその認識なのだが。
あと、ググるとまっさきに出るのが「単体(ユニットテスト)とは」なのだが。
そして、俺もその認識なのだが。
450デフォルトの名無しさん
2020/10/07(水) 12:15:30.39ID:gjadbZmD451デフォルトの名無しさん
2020/10/07(水) 12:17:06.36ID:gjadbZmD452デフォルトの名無しさん
2020/10/07(水) 12:24:05.17ID:Y8Dc73BQ453デフォルトの名無しさん
2020/10/07(水) 12:24:46.22ID:EdLJXccd >>448
うちの会社もそれだなー
うちの会社もそれだなー
454デフォルトの名無しさん
2020/10/07(水) 12:36:22.35ID:Y8Dc73BQ455デフォルトの名無しさん
2020/10/07(水) 12:40:45.08ID:EdLJXccd456デフォルトの名無しさん
2020/10/07(水) 12:48:50.86ID:Y8Dc73BQ >>455
まず、ユニットテストと単体テストを区別するというのが本当なのか怪しいが、区別しているのなら、もちろん、そのユニットテストもやってるよね?
まず、ユニットテストと単体テストを区別するというのが本当なのか怪しいが、区別しているのなら、もちろん、そのユニットテストもやってるよね?
457デフォルトの名無しさん
2020/10/07(水) 12:50:46.07ID:Y8Dc73BQ 更に聞くと、このスレはあなたが方の言う単体テストとユニットテスト...どっちについて扱うスレだと思う?
458デフォルトの名無しさん
2020/10/07(水) 12:51:23.30ID:FBpfo5qf テストの分類と自動化するしなは別のベクトルだ
単体テストといったら自動化と連想するのはそのあたりの区別がついてないのだろうな
役割の分割をしないでGODクラス作ってそうなタイプ
単体テストといったら自動化と連想するのはそのあたりの区別がついてないのだろうな
役割の分割をしないでGODクラス作ってそうなタイプ
459デフォルトの名無しさん
2020/10/07(水) 13:01:40.31ID:EdLJXccd >>456
やってないよ!
やってないよ!
460デフォルトの名無しさん
2020/10/07(水) 13:02:22.58ID:EdLJXccd >>457
手動で行ってエビデンス取るって言ってるんだからユニットテストでないことは明らかだと思う
手動で行ってエビデンス取るって言ってるんだからユニットテストでないことは明らかだと思う
461デフォルトの名無しさん
2020/10/07(水) 13:02:54.82ID:EdLJXccd このスレでユニットテストの話をしてる人は社会経験のない木偶の坊だと思ってる
レスを投稿する
ニュース
- 【少子化】少子化は女のせい?男のせい?SNSで不毛すぎる議論が勃発…「産ませる発言」vs「淘汰される遺伝子」泥沼バトルへ [ぐれ★]
- 植田日銀総裁 「利上げが遅れれば、米欧のように非常に高いインフレが起きて、日本は大幅な利上げが必要となる」 [お断り★]
- 【TV】ファン5万人がガチで投票! プロ野球総選挙、栄えある1位は [牛丼★]
- 【*彡】巨人・坂本勇人 『流れ星に何を願うか』の質問に「結婚相手」と即答、結婚願望告白 女性ファンから歓声と悲鳴 [鉄チーズ烏★]
- 【速報】政府、与党がNISA未成年解禁を検討 ★2 [蚤の市★]
- 日テレ、国分太一の「答え合わせ」を却下 「答え合わせをするまでもない」「心当たりがあると述べられている」★ 2 [muffin★]
- 【投資立国】高市、仮想通貨売却時の税率を引下げ!最大55%からいっきに20%に [219241683]
- 【実況】博衣こよりのえちえちSSholoX4周年🛸💜🥀🧪🍃★4
- 『綾鷹』の650㍉㍑ペットボトル、220円に値上げへ サンキュー早苗 [175344491]
- 【ヌキ納め】 国民的エロゲ、「Fate」の大みそか特番が放送決定! 紅白とか格闘技見てる場合じゃないぞ? [875588627]
- 演奏できる気分になる楽器なに?
- 早苗のおまんこパンパンパン🏡
