「単体テストを手動で行いエビデンス取る」の破壊力at TECH
「単体テストを手動で行いエビデンス取る」の破壊力 - 暇つぶし2ch283:デフォルトの名無しさん
20/09/26 20:39:19.67 IgGP+BQU.net
>>282
アジャイルでは次の優先度でテストをやります
総合テスト > 結合テスト >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 単体テスト
ちなみにお前がアジャイルやったことないのは明らかで
盛大に勘違いしてそうだから老婆心で教えてやるけど
アジャイルでは総合テストを結合テストよりも先にやるからな
総合的に使い物にならないものを詳細までテストするのは時間と金の無駄だから
ウォータフォールと真逆のことをやってユーザの満足度を最優先にしてプロダクトに反映する
これを全体最適化と言う

284:デフォルトの名無しさん
20/09/26 20:41:43.72 IgGP+BQU.net
ガラパゴスジャパンのものづくりにはその俯瞰的な視点が抜けてるから欧米にはまだまだ追いつけない
過去の慣習からいまだに抜け出せずに10年前の本をありがたがっている人もいるくらい残念な状況

285:デフォルトの名無しさん
20/09/26 20:46:03.15 vfGHSq+F.net
>>283
>ちなみにお前がアジャイルやったことないのは明らかで
お前のことだろ。

286:デフォルトの名無しさん
20/09/26 20:46:10.02 IgGP+BQU.net
そう、いうなればいまだに単体テストを頑張ってるプログラマはさながらハンコ議員連盟みたいなもの
時代遅れの技術にいつまでもしがみついて進歩を遅らせてるってこと
愚鈍で低能な人間は日本の未来を暗くするだけ、ノロマの罪で逮捕して冷たい牢獄で一生を過ごして欲しいくらいだわ

287:デフォルトの名無しさん
20/09/26 20:49:25.23 c/9EiqGf.net
>>286
それじゃいまだにログを目視で頑張って眺めてそれっぽい値ならOKなんて言ってるやつはどうなるの?

288:デフォルトの名無しさん
20/09/26 20:50:23.41 IgGP+BQU.net
>>287
それはありだろ、ログは大事だ

289:デフォルトの名無しさん
20/09/26 20:50:49.34 c/9EiqGf.net
単体テスト(自動テスト)で正しい値と比較 vs 目視確認でそれっぽい値かどうかチェック
って話だったの忘れたのかな?w

290:デフォルトの名無しさん
20/09/26 20:51:31.00 c/9EiqGf.net
>>288
そんなことしてたらユーザビリティテストする時間なくなるやんw

291:デフォルトの名無しさん
20/09/26 20:52:18.62 IgGP+BQU.net
>>289
結局最後に頼れるのは人間の目だからな
何のために目が付いてるか考えろ
ログを見るためだろうが

292:デフォルトの名無しさん
20/09/26 20:52:59.21 c/9EiqGf.net
しかもそれっぽい値かどうかしか確認しないからバグだったとしてもわからんし
正しい答えがわからないからログに記録されているのがバグだったとしても
それっぽい値ならOKにするんでしたっけ?w

293:デフォルトの名無しさん
20/09/26 20:53:29.46 vfGHSq+F.net
>>286
その理屈だとプロジェクト作成時にテストコード記載場所を用意するAndroid Studioは時代遅れってことになるな。
つまり、Androidは時代遅れと。

294:デフォルトの名無しさん
20/09/26 20:53:37.93 c/9EiqGf.net
>>291
見てどうするの?
お前に見張り番頼んだら、盗まれていくのを見てましたって言いそうw

295:デフォルトの名無しさん
20/09/26 20:54:20.39 c/9EiqGf.net
訂正
>>291
ログ見てどうするの?
お前に見張り番頼んだら、盗まれていくのを見てましたって言いそうw

296:デフォルトの名無しさん
20/09/26 20:55:00.24 nlLPMFg9.net
>>281
相手するなよ…

297:デフォルトの名無しさん
20/09/26 20:55:16.64 gRR2jm5z.net
>>283
>総合テスト > 結合テスト >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 単体テスト
はーまたソース無し
IPA辺りの資料だけど、アジャイル開発の進め方見てみ?
URLリンク(www.ipa.go.jp)
9ページにはTDDを基本にするって書いてあるやろ?
つまり単体テストを避けて通れないの
あと先進的な設計・検証技術の適用事例報告書 2015 年度版の資料
URLリンク(www.ipa.go.jp)
ここに単体テストの有用性を検証した結果出てるぞ、15ページな
それっぽい言葉で誤魔化してるつもりかもしれんが
何ども言うがソースが無いなら一切妄言と変わらんからな

298:デフォルトの名無しさん
20/09/26 20:56:42.78 vfGHSq+F.net
>>296
そうするか、NG登録しよ。
荒らしとしてBANされることを祈ろう。

299:デフォルトの名無しさん
20/09/26 22:22:37.23 EyP34oM1.net
まあ、なんとなく言うこともわからないでもない
結局、単体テストのチェック項目は言うほど明確にならないってことだな
浮動小数点の変数1つとっても厳密にやると恐ろしく時間がかかる
彼も全くなんのチェックもしないわけではないだろう
ただ、リリース毎に走らせるような仕組みなんか無駄なコストだと思う
もちろん動かないなんてのは言語道断だがそれは従来のテストで不十分か?と言えばそんなことはないと思う
それよりは結合で出る他のモジュールとの不整合や
総合で出る使い勝手の悪さの修正などに時間をかけた方がいいと思う
さらに言えばリリースしたあともユーザが使ってないような機能なんていっそ小規模な不具合があってもほっといてもいいのではないか?とは俺も思う
もちろん動かないなんてのは言語道断だが
部品のテストをいくら頑張ってもロケットは飛ばないというのは正しいと思う
まあ、これで悩むのは請けた仕事がそこまで判断するような広範囲な仕事だけだが

300:デフォルトの名無しさん
20/09/26 22:29:27.75 9iLYNIRG.net
もしかして 自作自演?

301:デフォルトの名無しさん
20/09/26 22:31:40.42 en54jqZM.net
なんじゃこのオチはwww

302:デフォルトの名無しさん
20/09/26 22:37:06.52 9iLYNIRG.net
おい、ためしにlgGP+BQUは何か書き込んでみろ(原爆投下)。

303:デフォルトの名無しさん
20/09/26 22:42:04.33 gRR2jm5z.net
>>299
>結局、単体テストのチェック項目は言うほど明確にならないってことだな
>浮動小数点の変数1つとっても厳密にやると恐ろしく時間がかかる
一回仕様決めてテスト書いたら
後はもう1関数辺り数秒にも満たない実行時間しか無いぞ……
つか浮動小数点のテストなんてそこれそユニットテストで良くやるやつやん

304:デフォルトの名無しさん
20/09/26 22:45:25.84 EyP34oM1.net
なんの作戦もなく単体テストの自動化を勧めてくるペテン師に引っかかってはならないというのはガチだと思う
・自動化Scriptの作成コストはでかい
・単体テストよりもうちょっと上の階層のテストの自動化の方がよくないか?
・そんなに何度も単体テストしないし
・かけたコストに対するリターンが小さそう?

305:デフォルトの名無しさん
20/09/26 22:51:11.37 IgGP+BQU.net
>>304
まともな人が居てうれしい

306:デフォルトの名無しさん
20/09/26 22:51:21.53 EyP34oM1.net
>>303
すげー大変じゃん
仕様を定義するやつも
小数点いくつで四捨五入なのか切り捨てなのか全部考えないと
でもそんなことしなくてもプログラムって動くし
んでこういうのって会社で一旦やるって定義されちゃうと全部やらないといけなくなっちゃう
でも大半は必要ない

307:デフォルトの名無しさん
20/09/26 22:57:08.42 gRR2jm5z.net
>>304
>・自動化Scriptの作成コストはでかい
それは正しいが、テスト自動化の作成/修正コストは
 総合>>結合>>単体テストの関係になる
 (必要な構成、モジュールが総合テストに近づくほど増えて影響範囲がどうしても増えるので)
>・単体テストよりもうちょっと上の階層のテストの自動化の方がよくないか?
 総合/結合テストの自動化はバグを発見するのが目的ではなく
 既存機能が壊れてないを確認するために使うんだぞ?
 勘違いしてる人が要るかもしれんが、総合/結合テストでバグが頻発すると
 テストが失敗した原因の調査~修正の作業に無視できない工数がかかるから、
 作成コストが少ない単体テストが整備出来てなきゃ宝の持ち腐れだぞ
>・そんなに何度も単体テストしないし
 それは単純にサボってるだけ
 継続的デリバリーとか継続的インテグレーションっていうスタンスで立つ場合
 CIツール、例えばJenkins辺りで構築する場合
 ソースをコミットしたタイミングで、コード解析、自動ユニットテスト、ビルドまで一連でやるようにする
 だから一番動かすのはむしろ単体テストになる
 URLリンク(www.techmatrix.co.jp)
 URLリンク(tracpath.com)
>・かけたコストに対するリターンが小さそう?
 んな事ない
 上記の例も合わせてリターンは大きい

308:デフォルトの名無しさん
20/09/26 23:05:35.15 en54jqZM.net
自演成りすましかとも思ったが本物だった
幼稚過ぎるやろ

309:デフォルトの名無しさん
20/09/26 23:05:47.25 EyP34oM1.net
>>307
自動テストは単体が一番作るの大変だと思うけどなw
結合や総合はモジュールや機材のセッティングは大変だけど
作るのは簡単やろ
だってUWSCで画面のボタンをポチって押すだけやろ
少なくとも俺はそんなイメージだけど?

310:デフォルトの名無しさん
20/09/26 23:12:22.45 9iLYNIRG.net
>>309
うーん、もしかして受託開発?

311:デフォルトの名無しさん
20/09/26 23:17:09.95 gRR2jm5z.net
>>309
>作るのは簡単やろ
>だってUWSCで画面のボタンをポチって押すだけやろ
それは考えが甘すぎだわwwwwwwwwww
それだと操作しかしてないやん
UI周りの自動テストを実装する場合
・テストシナリオ(どういう操作をするのか)
・テストの判定基準
 (想定通りの画面に遷移しているのか、表示されるメッセージが正しいか、データ登録が絡むならその結果も正しいのかなど)
・テスト結果の判別方法
 (これはテストシナリオによって変わってくる、登録データをそのまま引っ張り出すならDB接続して想定値との乖離が無いかチェックする
 ものによっては画面キャプチャで画像差分を見るってやり方もあるけど個人的には好きじゃない)

最低でもこの辺を意識して作らんといかんから、
そんな画面ポチポチ終わりーでいかんぞ…・…
特にUIの自動化は変更に弱い認識だから、本当に最後の最後で実装しないと地獄を見るし

312:デフォルトの名無しさん
20/09/26 23:17:16.83 EyP34oM1.net
>>307
単体テストのモジュールってさ
上流で変更があると枝葉って変更じゃなくて消滅と生成のが多くない?
そうなると実ははじめの一回目しか実は見てないんじゃない?って俺は思っちゃうんだよね
枝葉をくっつける本流の方が間違ってるときってそれそもそも自動化以前にテストやっとるのかと?
俺は単体テストの自動化テストはヒット数(実際にバグを捕まえた数)は少ないと思ってる
苦労した割には

313:デフォルトの名無しさん
20/09/26 23:22:01.06 GBugeZhr.net
Ruby on Rails のRSpec で有名な、ソニックガーデンの伊藤淳一とか、
Serverspec の作者・宮下剛輔とか、有名
YouTube で有名な、雑食系エンジニア・KENTA は、
初心者のRailsポートフォリオに、CircleCI まで入れれば、有利と言ってるし
有名は人は皆、BDD の鬼!

314:デフォルトの名無しさん
20/09/26 23:25:08.71 gRR2jm5z.net
>>312
単体テストでバグの発見数は正直重要じゃないな
というかそんなん集計とるか?
普通は単体テストが成功してからコミットするし、テストコード無しでコミットしようとしたらプログラマー〆るだろ
……というか仕様変更の度に関数が消滅と生成が起きるって
それはどっちかと言うとプロジェクトの問題では……?

315:デフォルトの名無しさん
20/09/26 23:29:44.66 EyP34oM1.net
>>311
総合や結合の結果の判別なんか
ログの最後の出力がCompleteだったぐらいでええやろ
機材がクソってるのにログにCompleteって出てるならそれってテストScriptのせいじゃなくてそもそもログ出力腐ってるやろ?

316:デフォルトの名無しさん
20/09/26 23:35:25.55 EyP34oM1.net
>>314
きっちりメソッドが分けられず
他の機能と融合してるから
変更が多いんやろ
普通は上流の変更があったら枝葉のメソッドは生成と消滅が多い

317:デフォルトの名無しさん
20/09/26 23:39:59.73 gRR2jm5z.net
>>306
そこは仕様によるし、あと責務の分割とかそういう発想でプログラムを組めばいい
超簡単な例として、電卓を上げるぞ
win10の電卓を叩くと
10/3 = 3.3333333333333333333333333333333
20/3 = 6.6666666666666666666666666666667
っていう感じで小数点31桁で出てくる
この結果から以下の仕様が読み取れる
・計算した結果が無限小数の場合、小数点は31桁まで表示する
・小数点31桁目は四捨五入して表示する
っていう仕様が予測できる
と言う事は、最低限の実装方針としては以下のようにすると、楽に単体テストが実装できる
・計算ロジック側は小数点31桁よりも大きい桁数でユニットテストは判定すれば良い、単体テストは可能だし、変更も簡単にチェックできる
・画面表示をする際に小数点31桁として出力するように四捨五入するメソッドを実装してかませればいい、このメソッドも単体テストが可能になる
ようは必ずしもすべての計算結果の小数点桁を指定する必要は無い、基本的には余裕のある実装にしておけば早々壊れない

318:デフォルトの名無しさん
20/09/26 23:50:46.00 gRR2jm5z.net
>>315
それはテストツールによるとしか言えん
ちゃんとしたGUIテストツール使って、シナリオも確認してるのであれば
もちろんばログレベルの確認で良い
ただUWSCって名前が出たからついな
あれは自動操作用の目的だし、そもそも今開発止まってるから使うべきツールではない

319:デフォルトの名無しさん
20/09/27 00:16:05.83 4yJ9ltzt.net
>>314
テストコードコミットしたらぶっ殺すわw 仕事しろと

320:デフォルトの名無しさん
20/09/27 00:17:13.78 4yJ9ltzt.net
自己満は趣味でやれ、仕事でテストコード書くなと

321:un.coder
20/09/27 00:20:52.87 u5qdbgw4.net
複数の下流工程を管理する際、テストコードの無い成果物を渡されても、そのソフトウェアモジュールを製品に組み込んでもいいのか判断に困る。
そもそも、単体テストが済んでいるということは、そのソフトウェアモジュールはテスト仕様の範囲では正しく動くことが保証されているわけだ。
だから、完璧な単体テストさえ行っておけば、完璧なモジュールを組み合わせて完璧な製品が出来上がるから、理論上完璧な単体テストができれば結合試験すらいらないんじゃないなって思う。(流石に大胆発言か?)
※顧客満足のチェックまでは無理だが。
※ここで言う完璧なモジュールというのは組み合わせれば理想な製品ができるモジュールのこと。(前提条件がシュールすぎる?)
まぁ、現実的に人が設計をする以上、仮に一つ一つのモジュールがテスト仕様書を満たしたところで組み合わせても上手くいく保証はないから結合テストもやるんだが...。
単体テストについては、こんなイメージだな。

322:デフォルトの名無しさん
20/09/27 00:22:02.61 4yJ9ltzt.net
プロならテストコード書かなくても動くコード書くのが普通
単体テスト書くことが目的化してしまってるのがマナー講師と呼ばれる所以

323:デフォルトの名無しさん
20/09/27 00:26:17.42 4yJ9ltzt.net
>>321
単体テストは時間の無駄だから
単体テストのテストコード見て判断する木偶の坊が管理してるとかそのプロジェクト破綻してるだろwwwwwwwwwwww
大局を見ろよ、設計として正しいかどうかで判断しろ、単体テストのテストコード見てどうするんだバカwwwwwwwwwwwwwww
wwwwwwwwwwwwwwww笑い死にさせる気かwwwwwwwwwwwwwww

324:un.coder
20/09/27 00:27:07.37 u5qdbgw4.net
なんか、さっそく、あぼーんされている奴が沸いてるんだけど。
ごめんね。俺のブラウザだと、NGが共有されるから、読めないや。

325:デフォルトの名無しさん
20/09/27 00:28:35.95 4yJ9ltzt.net
「単体テストのコードがあるな、よし!」とか言ってるのかwwwwwww
wwwwwww現場猫かよバカがwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwww

326:デフォルトの名無しさん
20/09/27 00:29:25.18 4yJ9ltzt.net
>>324
見てるくせにwwwwwNG解除してみてるくせにwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwハゲワロwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwww

327:デフォルトの名無しさん
20/09/27 00:31:31.73 4yJ9ltzt.net
お前ら笑いの才能だけはあるよなwwwwwwwwww
wwwwwwwwwすげーわ単体テストのテストコード見て管理した気になってるとかwwwwwwww
wwwwwwwwww次元が違うわwwwwwwwwwwww

328:デフォルトの名無しさん
20/09/27 00:33:43.88 gReWMIlS.net
>>322
適当に有名処のフレームワークのGithub覗いて来たけどさ
がっつりユニットテストコード書いてるけどね、仕事として
それとも今でも一線で活躍してるフレームワークをまた10年前のシステム~とかで良い訳でもするん?
あ、オープンソースだから参考にならないっていうかもしれないな!
Djangoフレームワーク(python)
URLリンク(github.com)
コード例
URLリンク(github.com)
Springフレームワーク(java)
URLリンク(github.com)
コード例
URLリンク(github.com)

329:デフォルトの名無しさん
20/09/27 00:36:47.59 4yJ9ltzt.net
>>328
ロクなテストしてないな、やっぱ単体テスト無駄だわ、そのテストなくても問題ない
いいよなーオープンソースは気楽でよー、人件費なんて無限に湧いて出るようなもんだもんなー
お前のようなアホが実績欲しさに無駄なコード書いてくれるもんなーいいなーうらやましいなー
無駄なテストコード書いて時間つぶして居られるなんて幸せものだなー

330:デフォルトの名無しさん
20/09/27 00:38:29.69 4yJ9ltzt.net
無駄なコードでも大変だから仕事した気になれるんだろうなーやりがいはありそうだよねーwwwww
wwwwwwww一銭の価値もないけどwwwwwwwwwwwwww

331:デフォルトの名無しさん
20/09/27 00:40:09.14 4yJ9ltzt.net
お前ら授業中に真面目にノート取って先生に褒められて勉強できる気になってそうwwwwww

332:デフォルトの名無しさん
20/09/27 00:40:57.58 4yJ9ltzt.net
でも高卒どまりwwwww

333:un.coder
20/09/27 00:47:26.86 u5qdbgw4.net
>>328
有名どころのテストコードを見たことが無かったけど、思ったより普通だった。
でも、まぁ、勉強になる。

334:デフォルトの名無しさん
20/09/27 00:55:35.74 gReWMIlS.net
>>329
>ロクなテストしてないな、やっぱ単体テスト無駄だわ、そのテストなくても問題ない
「この単体テストは無駄、不要」っていう判断を下すには以下を知って無きゃいけない
・テスト対象のコード仕様
・テストコードの内容
先に言っておくが、無駄なテストコードっていうのはもちろん存在するぜ
テストカバレッジを水増しするようなコードとかな
あんたは3分足らずで言語仕様も異なる二つのフレームワークのソースを見て
コードの仕様とテストコードを理解して文句を付けてるわけだ
いやー、すごいすごい、単体テスト不要派なのにめちゃくちゃ詳しいんですねー
あ、ちなみにだけどさ『2020年』のWeb調査で
次に学ぶべきWebフレームワークの人気ランキングで
Djangoは3位、Springは7位につけてるぐらい人気があるフレームワークなんで
URLリンク(info.hackerrank.com)

335:デフォルトの名無しさん
20/09/27 01:03:36.87 gReWMIlS.net
あ、1位のReact、2位のAngularもテストコードは実装してるぞ
(自分がJavaScript使ってないからあんまりこの辺のコードは読まない)
React
URLリンク(github.com)
Angular
URLリンク(github.com)
しかしまさか有名なオープンソースすら否定すると思わんかったわ
一体何を根拠にその自信が持てるのか分からん

336:デフォルトの名無しさん
20/09/27 01:14:09.94 gReWMIlS.net
あと中々面白いのがこれだな
URLリンク(github.com)
やまほどテストコードが転がってるから読み込むだけでもいい勉強になる
テストフォルダが細かく切られてるから読み解くのがちょっと大変だが
URLリンク(github.com)
個人的にはDjangoのテストフォルダの構成が一番読みやすかった

337:デフォルトの名無しさん
20/09/27 01:22:23.93 gReWMIlS.net
PythonのテストフレームワークでPyTestっていうのがあるんだけど
サンプルコードが少ないっていう問題があるんだが
その時はPyTestのgithubを見ると良い
URLリンク(github.com)
なんとPytestはPytestでテストしてるから、これを読み込むのが一番良かった
何より分かりやすい

338:313
20/09/27 04:26:20.61 6sIZ9RBB.net
日本では、この2人がBDD の鬼!
Ruby on Rails のRSpec で有名な、ソニックガーデンの伊藤淳一は、
RSpec の本、Everyday Rails も翻訳してるし、
Serverspec の作者・宮下剛輔も、有名

339:デフォルトの名無しさん
20/09/27 04:47:51.79 cmce3quc.net
結局オープンソースとか有名プロジェクトは
単体テストを行うのは最低限の常識レベルになってるんだな

340:デフォルトの名無しさん
20/09/27 04:48:54.87 cmce3quc.net
あ、もちろん単体テストを自動テストするって話ね
手動だったら単体テストやってるなんてこと外部からわからないから当然かw

341:デフォルトの名無しさん
20/09/27 04:52:42.32 cmce3quc.net
手動テストの問題はコストがかかること
人海戦術でやるという発想でコスト意識がないのだろう
だいたいこういう所は客が金を出してる。つまり自分の懐は傷まないw
コストがかかる手動テストのプロジェクトでのコスト削減の発想はテストが必要なることをやらないこと
ソースコードを修正するとテストが必要になる。つまり極力ソースコードを修正しない。
こういうところは未だにIEじゃないと対応してませんとかやってる。
作って検証ができないからユーザビリティも悪い

342:デフォルトの名無しさん
20/09/27 08:00:13.40 ZfMHcABY.net
Google map
URLリンク(github.com)
調べると事例なんて腐るほどあるな。
ただ、いまいち自動化という言葉の意味がわからない(ただの無知)。
有償のテストツールを使ったことないけど...自動化とは言えど、テストコードを記述してビルドして実行することには変わりがないのだろう?
無知故の疑問だが、自動化と非自動化の差って何だ?

343:デフォルトの名無しさん
20/09/27 11:53:53.72 cmce3quc.net
>>342
「ちゃんとテストしたのか?」
・自動化
「はい、ここにテストした内容が書いてあります。これを実行しました。
テストに通ったことはテストの実行結果から判断できます。
もう一回やってみろって?コマンドを実行するだけですのですぐ終わります。」
・非自動化
「はい、ここにテストした証拠のスクショがあります。手順通りに実行してOKっぽかったからチェックを入れました。
テストに通ったかどうか?手順通りにやりましたよ!スクショがあるんだから信じてください。
もう一回やってみろって?全部ですか!?何時間、いえ何日かかると思ってるんですか!」

344:デフォルトの名無しさん
20/09/27 12:14:40.61 kiO2NTDS.net
>>343
エビデンスは?

345:デフォルトの名無しさん
20/09/27 12:17:40.72 cmce3quc.net
>>344
あなたがもう一回実行すればいい
あなたもすぐにテストを実行したというエビデンスを作ることができる

346:デフォルトの名無しさん
20/09/27 12:21:56.20 kiO2NTDS.net
>>345
じゃあ、作業未完了だね
納品物にエビデンスって書いてあるじゃん

347:デフォルトの名無しさん
20/09/27 12:24:22.83 cmce3quc.net
>>346
実行した姿をビデオカメラに写しておけばいいだけでは?
このテスト、私が実行しましたってwww
それ以外に何が欲しいんですかねぇ

348:デフォルトの名無しさん
20/09/27 12:29:15.25 VyFDY5e4.net
エビデンスが要求される粒度のテストのためにエビデンス生成フレームワーク作っとくと便利よ

349:デフォルトの名無しさん
20/09/27 12:33:35.94 VyFDY5e4.net
もちろん1番大事なのは自動テストの性質に合わせたエビデンスの形態を定義して、客に受け入れさせる営業力だが

350:デフォルトの名無しさん
20/09/27 12:50:07.02 CqP8QnJk.net
日曜だから市場で買ったカニの出汁を濃縮してるわ、冷凍してとっとくんだ
これがホントのカニdense

351:デフォルトの名無しさん
20/09/27 13:02:27.51 cmce3quc.net
>>349
テスト自動化のほうが安くなります。
手動で作業したらその分時間がかかります。
スクショとったらその分時間がかかります。
しかもそのとったスクショ、あなた全部検収するんですか?
みたいにいえばOK
金と手間がかかる問題を客に押し付ければ意見は通る

352:デフォルトの名無しさん
20/09/27 13:25:38.79 3AXdWV8W.net
>>351
ええ、そうですよ

353:デフォルトの名無しさん
20/09/27 17:13:04.31 gReWMIlS.net
UIの自動テストはスクショもログ+スクショ自動生成までやってくれるから
本当にエクセルに張り付ける作業は不要なんだよな
スクショ張り付け作業をこれやらされる新人はマジで悲惨

354:デフォルトの名無しさん
20/09/27 17:29:23.89 I+ot45zN.net
しまいにゃ手動でやれば、バグがあって金がかかろうとも、丁寧な作業をしてると客を騙しはじめるのだろうな

355:デフォルトの名無しさん
20/09/27 18:28:44.51 3AXdWV8W.net
ていうか自動化にエビデンス入ってねぇのかよ
客に出せるレポートなんか出んだろフツー

356:デフォルトの名無しさん
20/09/27 18:47:20.22 9HAdnqqz.net
エビデンスは手作業で取るもの。自動で撮って誰が確認するというんだ?
客はエビデンスがあることを見てるだけで内容までは確認しないものだぞ
エビデンス撮った本人が、よくわからんが、まあバグっぽくない画面で動いてるからヨシ!ってやって
やっとエビデンスの意味があるというものだろう

357:デフォルトの名無しさん
20/09/27 23:33:39.95 3AXdWV8W.net
ログでもいいやん
正しく動く証明になれば

358:デフォルトの名無しさん
20/09/27 23:48:48.71 mDpIXF3L.net
Firefox for iOS
URLリンク(github.com)
Wire (エビデンスあり)
URLリンク(github.com)
kickstarter (エビデンスあり)
URLリンク(github.com)

359:デフォルトの名無しさん
20/09/28 00:00:12.68 Z60TNrQV.net
ログが正しく動いてることを証明するエビデンスが必要
そのエビデンスが正しいことを証明するエビデンスが必要
さらにそのエビデンスが正しい・・・

360:デフォルトの名無しさん
20/09/28 00:42:07.82 IvlPnhNT.net
>>357
ログはたんなる実行結果に過ぎないから正しく動く証明にはなることはないよ
ログを正しく動く証明にするには方法は2つ
1. ログを取った担当者が、それをみて判断する
2. ログを取った人と別の人が担当者が、それをみて判断する
どちらが判断するにしても、正しい答えを知らなければ正しく動くと証明することはできない
だから上の方で言っていた正しい答えなんか事前にわかるわけ無いだろ!それっぽい値ならそれでいいだろ!
なんてのは問題外なわけ。正しく動く証明をしてないわけだから
スクショなんかも、取ったってそれみて後から検証なんかしないでしょ?
今からスクショみてバグが表示されてないか見ますなんてしないでしょ?
あれは仕事サボってないかとかいう作業完了報告書だったり、なにか問題が
起きたときにちゃんとやったのかという責任追及をするための道具に過ぎないよ
かろうじてバグがあったという証明ができるぐらい。正しく動く証明ではなくバグが有ったという証明ね
まあつまりログとっただけでは何の証明にもならないって話
ログと正しい答えを目視で比較する vs コンピュータでログを自動的に比較する(それが自動テスト)の違いよ
人力で比較してりゃ時間もかかるしミスもある。何もいいことはないね

361:デフォルトの名無しさん
20/09/28 01:55:11.12 TvE1ypt9.net
>>360
いや、ログ出力のテスト通ってるし

362:デフォルトの名無しさん
20/09/28 03:01:07.29 XaZwDbHz.net
ログって言葉が独り歩きしてるけど
基本的に自動テストって
・想定通り動いた=OK出力(グリーン)
・想定通り動いていない=NG出力(レッド)
の2観点しかない
自動テストは結果判定もしてるから、実行だけ成功=OKには絶対にならん
(そんなテストを実装してたらぶっ殺されるわ)
で、自動テストのログが当てにならないっていう人って
無意識に以下のパターンを想定してるんだよね
・想定通りに動いて無いにも関わらず、OK出力(グリーン)が出ている可能性がある
つまりテスト側の不具合を懸念して、それでバグを取りこぼす危険性を考えているわけだ
結論的に言うと、そういうのはテスト作り方の問題になるし
発生するとのは相当なレアケースになる
というかこれが頻発してるなら、自動テスト組んだプログラマはクビにしろ
正しくOK/NGが判定できない自動テストならそりゃテストになってねえ
万が一、このレアケース発生しても修正をすればいいだけの話で、クリティカルな問題に発展する事はほぼ無い
(むしろ人間によるチェックの方が、判定の曖昧さ、ミス隠し、スクショ偽造とか色々やってくるから個人的に信頼出来ん)

363:デフォルトの名無しさん
20/09/28 08:09:53.88 IvlPnhNT.net
>>361
ログ出力のテストって何?
ログの話は「ログ見て人力で目視比較してそれっぽい値ならOK」ってやつでしょ
ログに出力した後に人力比較があるんだよ

364:デフォルトの名無しさん
20/09/28 09:58:00.07 9LRH2lrq.net
>>363
ログ出力だって機能の一つなんだからテストするでしょ?
ちゃんと指定通りのフォーマットで出てるかどうか?
日時、種別、内容などなどね
しないの?

365:デフォルトの名無しさん
20/09/28 10:34:47.24 kZm+fu8v.net
するわけねえわwwwユーザと関係ないだろうがバカがwwwww

366:デフォルトの名無しさん
20/09/28 10:35:38.29 kZm+fu8v.net
何のためのテストだよwwwwww
意味のないテストやって尺稼ぎしてんじゃねえぞ経営者目線で仕事しろ

367:デフォルトの名無しさん
20/09/28 10:37:34.85 kZm+fu8v.net
ユーザと関係ないところで一生懸命頑張っても誰も認めねえからな
売上に一ミリも寄与しないこと頑張ってどうするんだwwwwwwwww
wwwwユーザから目をそらすために関係ないこと頑張ってるんだろwwwwww
パソコンが好きなだけじゃ会社は成り立たねえんだよwwwwwwwww

368:デフォルトの名無しさん
20/09/28 10:49:56.00 IvlPnhNT.net
>>364
> ログ出力だって機能の一つなんだからテストするでしょ?
わざとかもしれないけど(笑)話がすり替わってる
ログ出力機能のテストの話じゃなくて
○○機能のテストをするとき、その機能の結果をログに出力して
その出力を目視で人力比較してテストするのはアホという話をしてる

369:デフォルトの名無しさん
20/09/28 10:51:15.85 kZm+fu8v.net
単体テストのテストコード書くほうが100倍アホだからwwwwww
wwwwwwwそこんとこ忘れんといてよwwwwwwwwwwwwww

370:デフォルトの名無しさん
20/09/28 10:51:35.57 IvlPnhNT.net
自動テストでも実行結果をログに出力できるわけで
コンピュータで「比較」までやるか、人力で「比較」するか
誰が「比較」するのか?が違う所なんだよね

371:デフォルトの名無しさん
20/09/28 10:53:06.94 a6s5Hb4H.net
なんかよくわからないところに噛み付いてるのでスルー

372:デフォルトの名無しさん
20/09/28 10:57:53.54 053eSEmA.net
wの数と知能の高さは反比例するらしい

373:デフォルトの名無しさん
20/09/28 11:18:15.31 IvlPnhNT.net
これの話だからな
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:デフォルトの名無しさん
20/09/28 13:05:35.15 Pd1BjD7i.net
関数の入力仕様と出力仕様が明確なら
ログ出力関数のテストは簡単
でもログ出力関数を使う処理が正しくログ出力してるかどうかのテストはそう簡単ではない
なぜならログ出力の正しさを判定するためにはログ出力以外の結果は正しいということが事前にわかってなければいけないから
つまりログ出力だけでは処理の正しさを証明することは出来ない
テストで「正しいと証明できる」という考え自体がある種の幻想

375:デフォルトの名無しさん
20/09/28 15:21:10.71 XaZwDbHz.net
このスレ見てると一体どういう自動テストを実装してて
どういうログを流してるのか本当に気になるわ
そんな突き抜けバグ(不具合起きてるのに何故か正常終了扱いになってる状態)を抱えた自動テストばっかり使ってるの?
本当にどういう自動テストを想定してるのか分からん
まさかログに値だけ出して、後でその値が正しいのか人間がチェックしてるのか?
それ自動テストじゃなくて、ただの自動実行だよ
テストっていうならグリーン/レッド判定まで実装してなきゃ使いもんにならん

376:デフォルトの名無しさん
20/09/28 15:28:21.82 IvlPnhNT.net
> 本当にどういう自動テストを想定してるのか分からん
> まさかログに値だけ出して、後でその値が正しいのか人間がチェックしてるのか?
ログに値だけだして~って言ってる人は、自動テストしてないよ
ログに値だけだして目視確認する手動テストでいいって言ってる
なぜなら正しい結果がわからないから
これ↓ね。こいつの言ってる意味がわからんと思うけど、意味不明だと俺も思うw
28 名前:デフォルトの名無しさん[sage] 投稿日:2020/09/23(水) 20:17:23.00 ID:cCwBtdaA [9/11]
テストと言いつつできるのは計算過程と処理結果を残すだけだと思ってるよ俺は
長年考えた結果
正しい値なんてのは実は物理的に誰も知りえないということを理解した
なのでテストで重視するのは俺は組んだコードのエビデンスの方
どんな処理書いてどんなログ出したか
自動テストは結局同じやつが作ってる以上同じ不具合入ってるだろうなって思ってるw

377:デフォルトの名無しさん
20/09/28 15:54:13.14 6prVz1CN.net
そろそろレス古事記に構うのをやめようか…
テストはバカだという証明はできるけど、いくら指摘しても修正しない限りバカはバカのままだし

378:デフォルトの名無しさん
20/09/28 17:44:17.57 KzfYiCsA.net
エビデンスとはテストを端折らずに実行しましたと言う証拠であって
動作の正しさやテスト手順の正しさを証明する証拠ではない
エビデンスという名の作業ログ

379:デフォルトの名無しさん
20/09/28 17:47:45.47 vQtpARZo.net
自社開発ならエビデンスは要らんよ
しょせん対外的な作業証明でしかないからな
それよりテストコード、テスト可能なコードを書いてくれや

380:デフォルトの名無しさん
20/09/28 18:18:18.53 PsVubO2q.net
細かいことで揉めるから、
>>1のような提案をする空気だけは読めるバカが出世して管理職になんだな。この業界は

381:デフォルトの名無しさん
20/09/28 18:49:50.77 l/9oGi4t.net
>>378
そのとおり
バグっている場合は、そのバグの様子をスクショしてるだろうからバグがあるというエビデンスにはなるだろう
しかしバグがないというエビデンスにはならない。これは自動テストでも同じだが、大きな違いは
バグってないというスクショをとっても、正しくテストを実行したというエビデンスにはならないという点
スクショ取るだけではテストケースは書いてあっても、そのテストどおりにテストをしたという証拠にはならない
最終結果だけでなく一連の動作を動画で撮影してるならまだわかるが、間違って手順でテストしたかもしれない
つまりエビデンスというのは(手順が間違ってるかもしれないけど)ちゃんと作業しましたという意味にしかならない
どういう手順でテストを実行したかという記録が含まれていない
自動テストの場合は最終結果だけでなくどういう手順でテストを実行したかが記録されている。
必要なら再実行もできる。だからこれこそが本当のエビデンスになる。

382:デフォルトの名無しさん
20/09/28 18:52:55.72 l/9oGi4t.net
スクショには正しい手順でテストを実行したかが記録されていないのだから
作業をしましたという報告でしかない。
バグのスクショは意味があるが、正しく動きましたというスクショは必要ない
だからこれは本来この項目をテストOKでしたとチェックリストにチェックつけるだけで十分
チェックリストにOKでしたというチェックをつければ十分なことに
スクショを必要とするのは、単に作業者の報告を信用してないという意味でしかない

383:デフォルトの名無しさん
20/09/28 18:59:46.59 S2C1y2x2.net
単体テスト書いとけば改修しても自動で既存機能が壊れてないことが確認できる
ゆえに機能の改修を心置きなくできる
テストがないと気軽に既存機能に手を入れるわけにはいかなくなる
(あたりまえ)

384:デフォルトの名無しさん
20/09/28 19:04:07.86 l/9oGi4t.net
自動テストがないと手動テストをしないといけない
それは膨大な作業量となる
だからバグのないコードを書け、作ったら改修はするな!と叫ぶ
バグがあったときのことまで考えてない
仕様に変更があったときのことまで考えてない
一旦書いたら終わりという前提でいるやつがいる

385:デフォルトの名無しさん
20/09/28 19:12:10.31 DyBDarNn.net
そのほうがビジネスとしては美味しんだ
テクニカルな面で優れた手法がビジネスでも優れた手法であるとは限らない

386:デフォルトの名無しさん
20/09/28 20:30:31.71 l/9oGi4t.net
>>385
単にビジネスが下手なだけだろ?
内部は楽をして、外部に対してこんなに頑張ってるんですよーってアピールすればいいだけ
外部に頑張りをアピールするために、実際に内部でも無駄に頑張る必要はない

387:デフォルトの名無しさん
20/09/28 20:34:16.60 ogYc/62K.net
>>382
>バグのスクショは意味があるが、正しく動きましたというスクショは必要ない
正しく動いてたと思っていたものに後から不具合が見つかった場合
前回テスト時のスクショがあると調査が効率的にできる
それは自動でも手動でも同じ
>スクショを必要とするのは、単に作業者の報告を信用してないという意味でしかない
個人への信用に依存したシステムはミスがあれば個人を責めることになるのですぐブラック化する
典型的なマネジメント能力不足の例

388:デフォルトの名無しさん
20/09/28 20:40:07.93 l/9oGi4t.net
> 正しく動いてたと思っていたものに後から不具合が見つかった場合
> 前回テスト時のスクショがあると調査が効率的にできる
不具合があると既に分かった後の話ですよね?
スクショがあると、どう効率的に調査できるんですか?

389:デフォルトの名無しさん
20/09/28 20:48:11.43 l/9oGi4t.net
>>387
> 個人への信用に依存したシステムはミスがあれば個人を責めることになるのですぐブラック化する
だから自動テストでコードにするんですよね。他の人がテスト内容をレビューできるように
スクショだと、実際どういう手順でテストしたのかが記録されてないから
ちゃんとテストしてないだろ!って個人を責めることにつながる

390:デフォルトの名無しさん
20/09/28 20:56:15.23 l/9oGi4t.net
手動テストで問題なのが、前やったときのテストと完全に同じ状態が作れないということ
作業の順番でも状態が変わってくるから前後にやったテストによって成功したり失敗したりする
だから改めて同じと思った手順でテストしたら失敗することがある
スクショを取っていても「お前この前ちゃんとやってなかっただろ!」と責められる

391:デフォルトの名無しさん
20/09/28 20:56:35.83 ogYc/62K.net
>>388
自分で考えて
>>389
自動か手動かには関係ない
自動化したUIテストでスクショ取らないのかな?

392:デフォルトの名無しさん
20/09/28 20:59:41.24 l/9oGi4t.net
>>391
UIテストってわざわざ書いたってことは
それ以外には当てはまらないって自覚してるのかなw

393:デフォルトの名無しさん
20/09/28 21:02:30.45 l/9oGi4t.net
自動化したUIのテストでスクショを撮るというのはおかしな表現で
"テスト"を自動化していれば、当然自動的にテストされるわけよ
スクショはいらない
>>391が言ってることのほんとうの意味は
UIのスクショを自動で撮っているだけで
UIのテストは人が目で見てやってる手動テストだろう?
それとも違うんか? UIのテストを人が目で見ず本当に自動化してるんか?

394:デフォルトの名無しさん
20/09/28 21:50:00.98 p7AH+v00.net
でもいい感じにお高いツールはUIテスト時のスクショも自動で撮ってくれるからねw
ないからっていらないやいって悔し涙流さなくていいぜ

395:デフォルトの名無しさん
20/09/28 22:13:57.33 F7s1Ev+m.net
別に高くなくても取ってくれるやろw
論点はそこじゃない
取った後どうするのかだろ

396:デフォルトの名無しさん
20/09/28 22:22:53.69 wtgFthbS.net
高いツール使ってるんだぜ悔しいだろ
みたいな意味かな?

397:デフォルトの名無しさん
20/09/28 22:46:00.77 kdgXLiCU.net
>>395
撮ったあとどうするもこうするもお高いツールはクリックすればすぐ見れるんだよ
手動でエクセルに貼る作業とかないから

398:デフォルトの名無しさん
20/09/28 22:46:59.66 kdgXLiCU.net
ただ・・・
(実はあんまり手間減らないんだけどな)

399:デフォルトの名無しさん
20/09/28 22:49:58.70 oBRHa3sA.net
自動化は人間が楽をするために自動化してるだけなんだからログでもスクショでも何でも良いけど、テスト結果がグリーンであってもエビデンスは人間の目で検証しないとダメだよ。自動化の利点は、手動テストやってる要員や係るリソースを他のことに回せるってだけ。

400:デフォルトの名無しさん
20/09/28 22:59:02.59 oBRHa3sA.net
自動テストがプログラマの自己満と言われる所以はテストパターンを無限に作成できるからだよ。sumAtoFで引数を6個取るなら0,0,0,0,0,0から9,9,9,9,9,9の範囲や、マイナス値とか小数点とかnull値を含めていくらでもテストパターンが作れる。しかも再実施も簡単。手動テストじゃそうはいかないからね。

401:デフォルトの名無しさん
20/09/28 23:04:39.36 F7s1Ev+m.net
>>397
見てないでテストしろよw

402:デフォルトの名無しさん
20/09/28 23:05:15.32 F7s1Ev+m.net
>>400
手動テストでもテストパターンは無限に作れると思うが?w

403:デフォルトの名無しさん
20/09/28 23:05:54.07 F7s1Ev+m.net
>>399
> テスト結果がグリーンであってもエビデンスは人間の目で検証しないとダメだよ。
え?なんで?愛情がどうとかどうでもいい話だよw

404:デフォルトの名無しさん
20/09/28 23:07:17.45 oBRHa3sA.net
>>399
あ、初めて自動化したときだけエビデンスの検証してねってこと。次の改修では追加・変更したテストパターンのエビデンスを検証する。それ以外の既存のテストパターンは結果がグリーンであればそれでデグレとしての証明は担保できてると思うよ

405:デフォルトの名無しさん
20/09/28 23:09:04.76 oBRHa3sA.net
>>403
PGした人がテストパターンも作ってたら同じ不具合が混入する可能性があるでしょ

406:デフォルトの名無しさん
20/09/28 23:11:15.46 oBRHa3sA.net
>>402
手動テストでも無限に作れるけど人海戦術しないとテストしきれないでしょ。テストの規模とプロジェクトによってはそんなの現実的じゃない。だから自動化のが簡単。

407:デフォルトの名無しさん
20/09/28 23:38:45.80 XaZwDbHz.net
>>400
>自動テストがプログラマの自己満と言われる所以はテストパターンを無限に作成できるからだよ。sumAtoFで引数を6個取るなら0,0,0,0,0,0から9,9,9,9,9,9の範囲や、マイナス値とか小数点とかnull値を含めていくらでもテストパターンが作れる。しかも再実施も簡単。手動テストじゃそうはいかないからね。
流石にテストパターンの洗い出しすら考えないのは頭おかしいやろ
自動テストの実装コストもタダじゃないし
というか不要なテストパターン(重複してるテストパターン)は消すぞ普通……

408:デフォルトの名無しさん
20/09/28 23:40:02.84 XaZwDbHz.net
というかテスト自動化で無限にテストが出来るって思ってる奴もいるのかよおおおもう
あれだな、デジタル庁も作られるんだし
品質管理の観点として、テストに関してちゃんとガイドラインと共通規格決めてくれ
頭痛くなってきた

409:デフォルトの名無しさん
20/09/28 23:57:54.71 oBRHa3sA.net
>>408
理論上は可能だよねって話をしただけだよ。現場ではそんな無意味なテストしてないから発狂しないでよw
テストパターン考えるときに大丈夫だとは分かっていても不安だから盛り込むパターンも少しくらいはあるよねってこと。人間だもん。ちょっと多めにテストして安心したいよね。

410:デフォルトの名無しさん
20/09/29 00:00:16.04 Iz7+ZlTk.net
無限に作るとか、藻舞ら、境界値テストを知らんのか?w
例えば、正常範囲を10~20 と決めたら、論理的に、9, 10, 20, 21 だけでOK のはずw
-1, 0 も、9と同じ。
11, 19 も、10, 20 と同じ
100 も、21 と同じ
こういうのを論理的思考と言う。
どれとどれが、同じグループですか? と言う問題

411:デフォルトの名無しさん
20/09/29 01:22:33.83 xt+EJgQq.net
>>405
> PGした人がテストパターンも作ってたら同じ不具合が混入する可能性があるでしょ
え?なんで?w
テストパターンってお前コードから生成すんのか?
そもそも最初に、入力決めて、出力決めて、
そうなるように作るというのに意味がわからん

412:デフォルトの名無しさん
20/09/29 01:23:53.37 xt+EJgQq.net
>>410
そうやって自動テストでもテストする値を決めるよね
無限に自動テストできるわけじゃないんだからさぁw

413:デフォルトの名無しさん
20/09/29 02:00:17.68 p269Qkae.net
>>411
テストパターンを基にテストコードを書くよ。
最初に入力を決めて次に出力を決めてそうなるようにテストコードを書くよ。
テストを実行したら全部グリーンでもテストコードのコーレビューをするよ。

414:デフォルトの名無しさん
20/09/29 02:11:15.35 xt+EJgQq.net
>>413
> テストパターンを基にテストコードを書くよ。
そのテストパターンが間違っていたらどうするんだ!
まあそういう事はあるよねw テストそのものが間違ってるってこと
でもPGがテストパターンを作ると間違えるってのが意味がわからない
PGが作ってもPG以外が作っても、テストパターンを間違える可能性は変わらない

> テストを実行したら全部グリーンでもテストコードのコーレビューをするよ。
手動テストの場合どうするんだろうね。テストコードに相当するのはテスト手順なわけで
テスト手順もレビューも必要なんだが、手動テストだとテストパターンのレビューしかしてなさそうw
テストパターンはあってるけどテスト手順が間違っていて意味のないテストをしてたりしてな
テストするときは先にデータを初期化して、この手順でデータ作ってからやらないとだめじゃないですか!みたいな

415:デフォルトの名無しさん
20/09/29 02:12:51.17 xt+EJgQq.net
>>413
> 最初に入力を決めて次に出力を決めてそうなるようにテストコードを書くよ。
ここは言葉が間違ってるね

× 入力を決めて次に出力を決めてそうなるようにテストコードを書くよ。
○ 入力を与えて出力が決めたとおりになってるかを確認するテストコードを書くよ
TDDではそのあとに、テストに通るように実装コードを書く

416:デフォルトの名無しさん
20/09/29 02:23:59.41 MtZ1Pd/Y.net
>>410
9.9999999999999999や20.000000000000001は?
境界値分析+同値分割は基本だけど
型の境界も意識しないとそのうちバグるよ

417:デフォルトの名無しさん
20/09/29 02:35:59.25 MtZ1Pd/Y.net
>>414
>PGが作ってもPG以外が作っても、テストパターンを間違える可能性は変わらない
コードを書いた人とそれに対するテストコードを書いた人が同じなら
同じ勘違いや同じ観点不足が発生するリスクは高まるよ
例えば>>410が書いた例で整数値以外の入力という観点が欠落してれば
コードでもその対応を書かないしテストの必要性にも考えが及ばない
ただだからといって必ず違う人が書いたほうがいいというわけじゃない
低減できるリスクと作業効率とを考えて判断するもの

418:デフォルトの名無しさん
20/09/29 02:43:07.02 p269Qkae.net
>>415
あぁそのとおりだった

419:デフォルトの名無しさん
20/09/29 02:43:46.13 p269Qkae.net
>>414
・PG組んだ人が一番思い込みが強いから、もしかしたら他の有識者と認識が乖離しているかもしれない。まぁレビュアがしっかりしてれば大丈夫。

・手動テストの場合は、テスト条件を満たしていることが担保できるようなスクショを取得するよ。テスト条件どおりに実施してくれたかどうかは実施者を信用するしかないね。エビデンスに細工されたら誰も気づかないと思う。
ちゃんと実施してるつもりでも実際は細かい操作とか大事な操作をミスっちゃってて、それでもたまたま予想結果と一致しちゃう事もあるかもしれない。だけどそんな偶然は滅多に起きない。後でアドホックテストもするし、結合試験や統合試験で発見できればok。
・エビデンスとテスト手順とパターンを見比べて「これは何のテストをなんだ?」って思うことは稀によくあるね。
・手動テストでテストデータが必要な場合は事前準備としてそういうデータを用意してからテスト開始するよ。

420:デフォルトの名無しさん
20/09/29 03:23:36.66 xt+EJgQq.net
>>417
> 例えば>>410が書いた例で整数値以外の入力という観点が欠落してれば
> コードでもその対応を書かないしテストの必要性にも考えが及ばない
だからそれ、コード書かない人でも
整数値以外の入力という観点が欠落することあるじゃんって言ってる
むしろコードを書かない人のほうが、テストの必要性に考えが呼ばないことのほうが多い
「数値入れたらこういう計算してくださいね」
→ 文字入れたら?え?文字入れた時?文字なんて入るの?そんなの想定外だよ

421:デフォルトの名無しさん
20/10/01 00:35:27.53 eJ1GgjYl.net
set○○○系の値を設定するだけのメソッドってあるじゃん
ケース1:resultがOKならOKとする
ケース2:get○○○系メソッドを実行して値を確認する
ケース3:実際にその値の変更の影響をうける処理を実行して確認する
実はもう結合まで来てんだけどどうやって確認する?

422:デフォルトの名無しさん
20/10/01 01:18:21.36 eJ1GgjYl.net
あ、やってみたらget○○○系もよくわかんなかった
値取得できたけどそれが何?
何が取れると正しいの?ってのが一連の処理の流れだと取得できるべき正しい値が本気でわからん

423:デフォルトの名無しさん
20/10/01 01:47:22.39 5ZG2Vz6Q.net
>>421
> 実はもう結合まで来てんだけどどうやって確認する?
確認する前に結合したのが悪いって話だろ?
もうリリースしちゃったんだけどどうやってテストする?みたいな話だw

424:デフォルトの名無しさん
20/10/01 01:48:27.69 5ZG2Vz6Q.net
>>422
> 値取得できたけどそれが何?
「値取得できた」
それがテスト
(手動で)テストしてOKだったから何?と言われてもな
意味ないと思うなら(手動で)テストしないでいいんじゃない?w

425:デフォルトの名無しさん
20/10/01 01:49:32.00 5ZG2Vz6Q.net
>>422
> 何が取れると正しいの?
そんなに作る前からわかってる話ですよね?
作ってるなら「目的」があるはずですが
あなたは一体何を作ってるんですか?

426:デフォルトの名無しさん
20/10/01 01:50:23.95 5ZG2Vz6Q.net
あ、あれか。教科書写経してるだけだから
自分が何を作ってるかわからないとか
んで作ってみて動かしたら・・・ゲームだった!みたいな事やってんの?w

427:デフォルトの名無しさん
20/10/01 21:43:23.18 YGkMqux4.net
コンパイラ作ってるんだが、検査は自動でランダム構文生成とかしてやってるよ
もちろん普通の検査もやるんだけど、それだけだとパターン数が発散して検査しきれない
ランダム検査はテスト件数でいうと1000億件とかになる
不具合でるのはそのうち5件とかだったりするんだけどね

428:デフォルトの名無しさん
20/10/01 22:26:34.54 bT++viin.net
>>427
だからそれを手動でやればいいんですよ!

429:デフォルトの名無しさん
20/10/02 10:25:59.72 ccBFPzFH.net
自動化する単体テスト=関数単位のテスト
エビデンスをとる単体テスト=1個の機能のテスト。例えば入力欄1個など

430:デフォルトの名無しさん
20/10/02 10:30:06.30 qiKhE9Co.net
> エビデンスをとる単体テスト=1個の機能のテスト。例えば入力欄1個など
その"エビデンス"でどうやって入力欄1個の機能がOKだと証明するの?
入力欄1個の機能がOKであると、誰もが認られるようなエビデンスとはどんなものが知りたい
そこに入力欄の画像が1個あったって、機能が満たされてるかなんてわからんしね

431:デフォルトの名無しさん
20/10/02 10:50:47.71 ccBFPzFH.net
>>430
機能がOKだと証明するわけではない
「テスト項目の通り実行したらこの通りの画面になった」
つまり、テストを行ったという事を証明しているにすぎない
だから入力ミスや、テスト実行者の勘違いまではフォローしきれない
機能の証明ではなくテスト実行の証明だから
わざわざエビデンスに日時が入るように撮影することを要件としている
機能がOKだという証明だけであれば日時は不要だろう
実際、自動テストはテスト実行日時など重視していないはずだ
(デバッグの為に日時を保存しているにすぎない)
エビデンスに日時を入れるという行為があるかどうか
それだけでもテストの性格がわかるというものだ
テスト実行者を信用しないのであれば自動テストで十分だろう

432:デフォルトの名無しさん
20/10/02 11:03:54.55 5k+kT3LD.net
自己満だろうがなんだろうが顧客が納得すりゃなんでも良い

433:デフォルトの名無しさん
20/10/02 11:07:42.23 sGznlVtc.net
>>431
> テスト実行者を信用しないのであれば
気にすべき所はテスト実行者を信用するかどうかじゃなくて
ミスなくテストしたかどうかでは?
信用できる人にだって間違えることはあるんだし

434:デフォルトの名無しさん
20/10/02 11:11:38.77 5k+kT3LD.net
テストのテストを作ろう

435:デフォルトの名無しさん
20/10/02 11:12:38.01 qQOsRvHB.net
画面にせっせと入力して保存ボタン
データベースに登録されてるかチェック
苦しい_(┐「ε:)_

436:デフォルトの名無しさん
20/10/02 11:23:36.85 IN7vVVT4.net
>エビデンスに日時が入るように撮影することを要件としている
初めて聞いたわw
日付入れたところで改ざん可能なんだから日単位でファイルを上げて
履歴追えるようにしとけば十分だろ

437:デフォルトの名無しさん
20/10/02 12:25:05.51 p0460FPy.net
>>436
ログの位置がわかりやすいようにってだけだろそこ

438:デフォルトの名無しさん
20/10/07 06:48:55.17 /9qe8bOG.net
xUnit嫌いな人割と身近にいるわ
単体テストしない派というか

439:デフォルトの名無しさん
20/10/07 07:43:09.85 30MBwAQY.net
>>438
仕様が決まってるテストはいいが決まっていなかったり曖昧なのは滅茶苦茶時間がかかるので嫌い

440:デフォルトの名無しさん
20/10/07 10:15:52.92 PQSR0KDO.net
>>439
は?
テスト仕様を決めるのも仕事だろ

441:デフォルトの名無しさん
20/10/07 10:30:45.44 EdLJXccd.net
テスターのな

442:デフォルトの名無しさん
20/10/07 10:50:24.82 XQGZutpf.net
>>441
テスターがどんな仕様を決めたの?

443:デフォルトの名無しさん
20/10/07 10:51:39.35 XQGZutpf.net
テスターが仕様決めるって意味わからんw
この関数は引数の全ての値を足す関数だ
って決めるんか?w

444:デフォルトの名無しさん
20/10/07 10:53:47.21 Y8Dc73BQ.net
俺は常に自分でテストコードを書きながら仕事をしているから、いまいち単体テスト専用のテスターという存在がよくわからん。
新人教育目的で自分の成果物に対して不足しているテストコードを修正する形で書かせることはあるけど、基本的には実装する時にはテスト仕様もできてるしなぁ...。

445:デフォルトの名無しさん
20/10/07 11:03:34.37 gjadbZmD.net
>>444
用語を知らないから、単体テスト=1画面のテストとか1アプリのテスト思ってるやつが居るんだよw
単体のexeファイルをテストするのが単体テスト
はぁ~~~~ばか~~~

446:デフォルトの名無しさん
20/10/07 11:18:28.39 r+XQDTLB.net
小さい関数を心がければテストコードが必要なほど複雑なコードって書かなくない?
テストコードを書くと必ずデータ用意しなきゃならないけどそのデータを間違って入力する確率のほうが高い

447:デフォルトの名無しさん
20/10/07 11:19:43.12 Y8Dc73BQ.net
>>445
俺さ、まさにリアルタイムでスマホアプリ開発しててテストコードを書いてるんだけど、お前、頭大丈夫?
iOS、android、Windows対応のアプリ作ってるけど、こんなこと言う奴初めてみたよ。
JavaとかでJUnitとか聞いたことない?
C#でプロジェクトファイルを作るとき、Unit testというテンプレート見たことない?
お前、Windows開発すらしたことないだろ。
俺は別に1画面がどうのこうの言ってないし、そもそもexe単体とか論外だわ。
まず、単体テストについてググれカス。

448:デフォルトの名無しさん
20/10/07 11:28:20.11 r+XQDTLB.net
>>447
日本語圏内で言う単位テストは普通は画面、帳票、バッチ、ようは要件定義に書いた機能ごとのテストだよ
xUnitとかJUnitのようなもののことを言いたい場合には、ユニットテスト、あるいは自動テストと言ったほうがいい
日本ではユニットテスト≠単位テスト

449:デフォルトの名無しさん
20/10/07 11:32:47.67 Y8Dc73BQ.net
1からのやり取りを見てもそんなこと言えるの?
あと、ググるとまっさきに出るのが「単体(ユニットテスト)とは」なのだが。
そして、俺もその認識なのだが。

450:デフォルトの名無しさん
20/10/07 12:15:30.39 gjadbZmD.net
>>447
おまえは文章が読めないんだなw
おまえも馬鹿の一人だわw

451:デフォルトの名無しさん
20/10/07 12:17:06.36 gjadbZmD.net
>>446
どれだけ小さい関数を作っても、テスト担当者にテスト仕様書を書いてもらないわないと
自分じゃ、テストできないアホがいる。
ログに出力してそれっぽい値ならOKとかいってるアホがいる

452:デフォルトの名無しさん
20/10/07 12:24:05.17 Y8Dc73BQ.net
>>450
そういうことか!
うん、俺も馬鹿だったわ。
いや、本当にすまぬ...すまぬ。

453:デフォルトの名無しさん
20/10/07 12:24:46.22 EdLJXccd.net
>>448
うちの会社もそれだなー

454:デフォルトの名無しさん
20/10/07 12:36:22.35 Y8Dc73BQ.net
ん?割とガチで単体テストを機能毎のテストとして扱う会社は多いのか?
基本情報技術者試験や応用情報技術者試験の単体テストに関わる問題とか見ると、明らかにユニットテストの意味の問題があるように見えるのだが...。
そうなると、自動化もクソも無くね?
それ以前に、>>448の言うことは本当なのか気になる。
本当なら>>448の言う単体テストについて紹介している文献とかあると思うのだが...ソースがほしい。

455:デフォルトの名無しさん
20/10/07 12:40:45.08 EdLJXccd.net
>>454
大企業で仕事したらわかるよ
だからエビデンス取るんやで

456:デフォルトの名無しさん
20/10/07 12:48:50.86 Y8Dc73BQ.net
>>455
まず、ユニットテストと単体テストを区別するというのが本当なのか怪しいが、区別しているのなら、もちろん、そのユニットテストもやってるよね?

457:デフォルトの名無しさん
20/10/07 12:50:46.07 Y8Dc73BQ.net
更に聞くと、このスレはあなたが方の言う単体テストとユニットテスト...どっちについて扱うスレだと思う?

458:デフォルトの名無しさん
20/10/07 12:51:23.30 FBpfo5qf.net
テストの分類と自動化するしなは別のベクトルだ
単体テストといったら自動化と連想するのはそのあたりの区別がついてないのだろうな
役割の分割をしないでGODクラス作ってそうなタイプ

459:デフォルトの名無しさん
20/10/07 13:01:40.31 EdLJXccd.net
>>456
やってないよ!

460:デフォルトの名無しさん
20/10/07 13:02:22.58 EdLJXccd.net
>>457
手動で行ってエビデンス取るって言ってるんだからユニットテストでないことは明らかだと思う

461:デフォルトの名無しさん
20/10/07 13:02:54.82 EdLJXccd.net
このスレでユニットテストの話をしてる人は社会経験のない木偶の坊だと思ってる

462:デフォルトの名無しさん
20/10/07 13:04:18.63 Y8Dc73BQ.net
まぁ、責務が曖昧なGodクラスのユニットテストなんて自動化しようがないからな。
些細な変更ですぐに仕様が変わるし。
ユニットテストで不合格になるのではなく、
ユニットテストができないから不合格になるパターンだな。
でも、恐ろしい事を思いついてしまったよ。
もしも、常に神クラスを書いていてユニットテストができない企業がいたとする。
そして、その企業があまりにもユニットテストができないからユニットテストの意味を曲解することにしていたとしたら...やばいね。
まぁ、いいや。仕事だ。しばらく席を離れるよ。

463:デフォルトの名無しさん
20/10/07 13:05:08.60 EdLJXccd.net


464:デフォルトの名無しさん
20/10/07 13:09:37.22 c/M6qzGj.net
>>454
> 基本情報技術者試験や応用情報技術者試験の単体テストに関わる問題とか見ると、明らかにユニットテストの意味の問題があるように見えるのだが...。
だからそういう世間一般の用語すら知らんのだよ
そして基本情報技術者試験は意味がないとか行ってたりするw

465:デフォルトの名無しさん
20/10/07 13:12:03.83 r+XQDTLB.net
ペーパーテストと現場のギャップぐらいは認識しとかないとだめでしょ
それこそ実務経験を疑われる

466:デフォルトの名無しさん
20/10/07 13:36:22.80 c/M6qzGj.net
ギャップを知るためには両方知ってないと無理

467:デフォルトの名無しさん
20/10/07 13:43:15.39 EdLJXccd.net
世間的には現場の定義が優先されるからなー
試験勉強でこう習いましたなんて現場では通用せんぞ

468:デフォルトの名無しさん
20/10/07 13:48:07.84 EdLJXccd.net
ヤクザにそれは法律違反ですと言っても意味ないだろ
警察に金庫から8000万盗めば良いと言っても通用しないだろ
社会とは現場が常に優先されるものなんだよ
鳥はお空を飛びますと本に書いてあったとしても
ペンギンは鳥だから空を飛べば良いと言ってもペンギンの現場では通用しないんです

469:デフォルトの名無しさん
20/10/07 13:59:25.63 c/M6qzGj.net
>>467
現場の定義の殆どは試験勉強の定義と一致してるんだが?
違うのは現場ではベンダー定義の用語が追加で使われるぐらいのもん
試験の定義を否定するようなものはない
だから今、試験での単体テストの定義と現場が違ってる=
え?お前の会社って単体テストって画面のテストのこと言ってのプププ
って話をしてるんだろw

470:デフォルトの名無しさん
20/10/07 14:06:44.51 7nLWSAZj.net
>>448
何を「単体」と見なすかに違いがあるだけ
面接でユニットテストは単体テストとは全然違います!ってずっと主張してたやつがいたけど
その文化を共有してない会社だと単にヤバいやつ認定されるだけだからやめたほうがいい

471:デフォルトの名無しさん
20/10/07 14:08:17.68 aZrfGhEg.net
あいつマジで理想郷にでも住んでるのか?
わかってて煽ってるのかと思ってたけど・・・
単体テストと言われてxUnitのテストの結果なんてもっていったら
上位会社様にバカにされるぞ
バカにされる程度で済めばいいけど他の人に代えてくれってすぐ営業に電話されるよ
商流の末端企業は上位会社様にあわせるしかないんだよ

472:デフォルトの名無しさん
20/10/07 14:12:20.64 aZrfGhEg.net
現場のベテラン「情報処理技術者試験なんて意味がない」
おまえら「↑みたいな奴がいるから情報処理技術者試験がもっと普及したほうがいい」
現場のベテラン「現場が正。↑は経験積め。やはり情報処理技術者試験は意味がない」
このループが無限に続くだけ
無限ループって怖いね

473:デフォルトの名無しさん
20/10/07 14:14:50.35 c/M6qzGj.net
IPAのいう単体テストがユニットテストのことだからな
これが違っていたら、もう常識がわかってないとしか言えないw

474:デフォルトの名無しさん
20/10/07 14:15:55.64 c/M6qzGj.net
>>472
どこの現場のベテランがいってんの?w
現場のベテランというか、ちゃんと情報技術を学んでいる人は
単体テスト=ユニットテストになってる
英語と日本語の違いでしかないからね

475:デフォルトの名無しさん
20/10/07 14:16:37.04 RbIdfjjl.net
上流なのな下流のチェックしない会社とかどこの没落企業だよ。気持ち悪い。

476:デフォルトの名無しさん
20/10/07 14:19:09.01 RbIdfjjl.net
国家資格すら取れない三流エンジニアは言うことが違いますね。
国家資格なんておやつ感覚で取るもの。なんで国家資格ごときで必死なんだ。
基本情報技術者試験くらい取れよ。そうすれば単体テストとユニットテストは違うなんて恥ずかしいことは言わなくなるから。

477:デフォルトの名無しさん
20/10/07 14:23:06.74 RbIdfjjl.net
あ、これ大企業の話な。
大企業の話を妄想で持ち出す馬鹿がいるから警告しとくわ。
あと、権威主義に陥るのやめろ。

478:デフォルトの名無しさん
20/10/07 14:25:41.93 uJwWalJK.net
ふむ。さすが正しいことを言ってるな
URLリンク(www.fe-siken.com)
モジュール単体テストに関する記述として,最も適切なものはどれか。
単体テストは、プログラムがモジュール単位で正常に動作するかを確かめるテスト工程です。
プログラムの内部設計書に基づいてホワイトボックステストを実施し、要求性能を満たしているかの確認を行います。
間違い 通常はコーディングを行ったプログラマではなく,専任のテスト要員がテストケースを作成し,実行する。
→正解 単体テストは、コーディングを行ったプログラマ自身が実施します。
間違い モジュール間インタフェースは,モジュール単体ではテストできないので,単体テストの対象外となる。
→ 正解 実際にモジュールの結合を行うのは結合テストですが、モジュール仕様書に記述されたインタフェースが適切に実装されているかの検証は単体テストの対象です。
間違い モジュール設計書は,正しいことが検証済みであるので,テスト結果に問題があるときは,テストケース又はモジュールに誤りがある。
→ 正解 モジュール設計書が誤っている可能性もあります。
正しい モジュール設計書を見ながら,原則としてすべてのロジックパスを一度は通るようなテストケースによって,検証を行う。
→ 正しい。単体テストでは、プログラムの内部構造に基づいて、内部仕様がモジュール仕様書通りに作成されているかを検証します。

479:デフォルトの名無しさん
20/10/07 14:48:30.14 EdLJXccd.net
>>476
気にしすぎでしょwww大企業ですまんなwwwww

480:デフォルトの名無しさん
20/10/07 14:51:24.01 EdLJXccd.net
>>470
良いこと言うね!
自然言語は文脈依存だから同じ語句であっても文脈に応じて意味が変わるからね
それを理解せずに自分の定義でしか言葉を解釈しない人はコミュニケーション能力が不足してるってことになるよね

481:デフォルトの名無しさん
20/10/07 14:51:56.20 EdLJXccd.net
おいペンギン共、お空は飛べたのか?

482:デフォルトの名無しさん
20/10/07 15:18:14.82 EdLJXccd.net
IPAって経産省の手先団体だろ、なんでそんなところを頼ってるんだwww
職員がお仕事中に児童ポルノダウンロードしてウイルス感染したところじゃねえかwwwww
wwwwお前らwwwwwマジかwwwwww

483:デフォルトの名無しさん
20/10/07 15:41:13.02 uJwWalJK.net
>>482
じゃあお前は何に頼ってるんだよw

484:デフォルトの名無しさん
20/10/07 15:42:20.87 uJwWalJK.net
>>480
文脈を明らかにしろ。どの会社での話なのか、世間一般の話なのかはっきり区別しろ
俺は世間一般の定義の話をしている
それ以外なら特定の会社名を言うようにw

485:デフォルトの名無しさん
20/10/07 15:48:58.67 7nLWSAZj.net
>>478
>要求性能を満たしているかの確認を行います。
ここでの「要求性能」ってどういう意味?
間違いじゃなくて一般的な使われ方?

486:デフォルトの名無しさん
20/10/07 16:07:10.79 EdLJXccd.net
>>483
自分ですかね

487:デフォルトの名無しさん
20/10/07 16:07:52.19 EdLJXccd.net
>>484
文脈を察しろ常に俺が正しいと考えていただきたい

488:デフォルトの名無しさん
20/10/07 16:09:05.37 EdLJXccd.net
俺が言ってることが正しくなるように解釈することを心がければ
俺の文脈を知ることができます、俺が中心です

489:デフォルトの名無しさん
20/10/07 16:11:05.18 EdLJXccd.net
児童ポルノウイルス団体を頼りにするとはwwwww
お前らも所詮経産省の掌の上で弄ばれてるだけかwwwww

490:デフォルトの名無しさん
20/10/07 16:14:38.96 EdLJXccd.net
>>485
性能は性質と能力のことなので
・要求される性質がありますか
・要求される能力がありますか
ってことを確認するってことじゃろう
一般的に伝わると考えて差し支えない

491:デフォルトの名無しさん
20/10/07 16:15:57.46 +yUuwD4N.net
>>485
「プログラムの内部設計書に基づいてホワイトボックステストを実施し」と書いてあるだろ

492:デフォルトの名無しさん
20/10/07 16:16:14.29 RbIdfjjl.net
>>485
単体テストは内部設計におけるテストだから、内部設計がある程度まともかどうかって意味では。
そのある程度のラインはテスト仕様次第だが。

493:デフォルトの名無しさん
20/10/07 16:16:49.33 +yUuwD4N.net
プログラムの内部設計書に基づいてテストするんだから
プログラムの内部設計書に書いてあることが要求

494:デフォルトの名無しさん
20/10/07 16:20:54.94 +yUuwD4N.net
○○に基づいてテストを実施すると書いてあるわけで
そこで○○に書いてないことを確認するわけがないのは当たり前の話

495:デフォルトの名無しさん
20/10/07 16:30:04.05 EdLJXccd.net
それはそう
「満たしている」の主語は「プログラムが」
テストの確認を行うのはテストレビューだからね
単体テストの説明としてふさわしくない

496:デフォルトの名無しさん
20/10/07 17:00:30.61 7nLWSAZj.net
>>492
内部設計がある程度まともかどうかをどうやってテストするのかわからないけど
それって単体テストとは一般的には呼ばなくない?
>>493
ひっかかるのは「要求」じゃなく「性能」のほう
時間効率・資源効率的ないわゆるパフォーマンスの意味ではなさそうだし
機能+非機能要求全部込みの「性質+能力」の意味だとすると単体の範囲を超える
それにホワイトボックスでもなくなる

497:デフォルトの名無しさん
20/10/07 17:18:28.23 +yUuwD4N.net
>>495
テストレビューは、テストが妥当かどうかは判断するレビューであって
プログラムの内部設計に基づいたテストのことじゃない
プログラムの内部設計に基づいたテスト・・・になってるかどうかを判断するのがテストレビュー

498:デフォルトの名無しさん
20/10/07 17:18:58.91 +yUuwD4N.net
>>496
> ひっかかるのは「要求」じゃなく「性能」のほう
内部設計にパフォーマンスが書いてあれば
そのとおりかテストするのも単体テスト

499:デフォルトの名無しさん
20/10/07 17:20:06.15 +yUuwD4N.net
訂正
内部設計に性能が書いてあれば
そのとおりかテストするのも単体テスト
正しく動いていても、性能を満たしていない例なんて
いくらでもある。遅い。メモリ消費量が多い

500:デフォルトの名無しさん
20/10/07 17:21:44.35 RbIdfjjl.net
>>496
> 内部設計がある程度まともかどうかをどうやってテストするのかわからないけど
> それって単体テストとは一般的には呼ばなくない?
内部設計をテストするのが単体テストなんだけど。逆に、何をテストするものだと思っているんだ?
>>478の基本情報技術者試験の解説にコーディングを行ったプログラマ自身がテストしますって書いてあるでしょう?
単体テストをやったことある人なら、これを見たときにピンとくる。
というか、具体例を考えればいいんだよ。
Stackというコンテナライブラリを貴方が作ったとして、そのStackライブラリが絶対大丈夫であることを保証するためには何をする?って話。

501:デフォルトの名無しさん
20/10/07 17:35:57.38 +yUuwD4N.net
画面、ウェブ業界なら1ページ
これより小さい単位を知らんでしょう
関数を自分で作ることをしない
ボタンをクリックとかしたらフレームワークが
関数を呼び出すから、その関数の中身を書くだけ
その結果は画面に表示されるから
どうやってテストするのかわからない
見て判断するしかないじゃないか!
と言っている

502:デフォルトの名無しさん
20/10/07 17:38:01.70 RbIdfjjl.net
webかー。
そもそも、それ、単体テストではなくUIテストでは?

503:デフォルトの名無しさん
20/10/07 17:39:26.58 RbIdfjjl.net
誤って送信してしまった...
UIテストって言葉は俺らローカルかもしれないのに...。まぁ、言い訳を考えさせてくれ。

504:デフォルトの名無しさん
20/10/07 17:43:05.65 +yUuwD4N.net
>>502
UIテストだからエビデンス(スクショ)でテスト
とかいうわけのわからない理屈が出てくるw
スクショ見て、よくわからんけどちゃんと動いてるっぽいなヨシッ!
これがテストw

505:デフォルトの名無しさん
20/10/07 17:43:23.76 7nLWSAZj.net
>>498
「プログラムの内部設計書に基づいてホワイトボックステストを実施し、要求性能を満たしているかの確認を行います。」
パフォーマンスの性能のことだとすれば、性能以外は確認しない感じの文章になる
普通に間違いっぽいね

506:デフォルトの名無しさん
20/10/07 17:45:11.17 +yUuwD4N.net
>>505
> パフォーマンスの性能のことだとすれば、性能以外は確認しない感じの文章になる
お前が言ってる性能以外とは?
まずそれを言わないと、お前の文章に説得力はないよね

507:デフォルトの名無しさん
20/10/07 17:50:43.02 +yUuwD4N.net
説得力と言うよりか、議論の対象にすらならないと言うべきか

508:デフォルトの名無しさん
20/10/07 17:53:47.55 RbIdfjjl.net
基本的にWeb開発と同じくネイティブアプリ開発者もUIは作る。それがHTMLではないだけで、成果物の全体を見ると同じ。
ネイティブアプリ(iOS,android,Windows)を作るとき、必ずやるのがロジックとUIの分離。
UIにUIが使いまわし出来なくなるような処理を書かないようにするのが原則で、基本的にはUIと切り離れたロジックの部分を単体テストする。
...で、ここからが問題で、じゃあ、UIはどうやってテストするの?って話か...。
俺はこれを別工程として扱っているけど、その解釈が一般的かと言われると...うーん。
そして、webフロントエンドはロジックを記述すること自体殆ど無いからな...。webフロントエンドは殺風景なhtmlが組める程度のニワカ知識しかないが...。
ちなみに、自分はUI専用のテストコードを書いてそこだけ手作業でやってるわ...。
合否判定は自動的に出力するようにしてるけど。
で、それをwebでどうやるのかだと?ごめん、わからん。

509:デフォルトの名無しさん
20/10/07 17:55:25.01 +yUuwD4N.net
> ...で、ここからが問題で、じゃあ、UIはどうやってテストするの?って話か...。
いや、そんな話してないw
単体テストの話をしてるのに、エビデンス?手動?スクショがテスト???
アホじゃねwwwって話をしてる

510:デフォルトの名無しさん
20/10/07 18:02:55.08 aZrfGhEg.net
マジレスすると自動で行う単体テストだってエビデンスの為にスクショ取るし
自動でやるのが非効率なら手動の場合もあるよね
xUnitテストの結果をエクセルに貼り付けるのもいいけど
やっぱ信用性を考えるとスクショのほうがテンション高い

511:デフォルトの名無しさん
20/10/07 18:07:00.89 +yUuwD4N.net
> エビデンスの為にスクショ取るし
テストのためにスクショ取る じゃないところが重要な点だなw
結局の所、ただの作業報告書でしかない

512:デフォルトの名無しさん
20/10/07 18:08:06.20 +yUuwD4N.net
> xUnitテストの結果をエクセルに貼り付けるのもいいけど
え?なんのために?
標準のXMLでいいだろ
ああ、作業報告書ね(苦笑)
とこうなる

513:デフォルトの名無しさん
20/10/07 18:16:00.27 A5i/ayff.net
どことは言わないが、未だにテスト結果をすべて印刷してスタンプラリーしてバインダーに格納してる大手電機メーカーがあるんだよ。
その時にXMLじゃ分からないって押印してくれなかったり。

514:デフォルトの名無しさん
20/10/07 18:18:14.37 RbIdfjjl.net
まぁ、スクショ貼る会社はあると思う。
お役所と仕事していると面倒な完成図書(紙媒体)も求められるし。
こんなテスト結果、あなた達が貰ってどうするの?って奴まで求められるし。でも、まぁ、彼らにとっては意味があるから仕方ないね。
ただ、誰もエビデンスを求めていないのにマニュアルに従いやれって言われると少し残念な気分になる。
利害関係者次第だな。

515:デフォルトの名無しさん
20/10/07 18:21:39.93 +yUuwD4N.net
>>513
それはテスト工程じゃないよねって話

516:デフォルトの名無しさん
20/10/07 19:02:18.32 A5i/ayff.net
>>515
いやそれも含めてテスト工程。
他にそれを含められる工程がない。

517:デフォルトの名無しさん
20/10/07 19:05:41.03 OA8Qggd8.net
>>514
それ間違っていても絶対分からないから
手抜きし放題になるのでは

518:デフォルトの名無しさん
20/10/07 19:10:34.07 +yUuwD4N.net
>>516
じゃあお前の所は納品作業は何工程になるの?

519:デフォルトの名無しさん
20/10/07 19:25:27.20 7fnYlcJW.net
まともにプロセス定義していれば、
受注プロセス→開発プロセス→納入プロセス
であって、
開発プロセスの中が設計だの製造だのテストといった工程定義が
されているはず。
そんなことも知らないというのは、かなりまずい。

520:デフォルトの名無しさん
20/10/07 19:26:39.83 +yUuwD4N.net
テスト結果を納入する作業は
テスト工程なんですよとか言いそうだよなw

521:デフォルトの名無しさん
20/10/07 19:26:42.00 r+XQDTLB.net
>>469
だから現場を知ってからそういうこといいなよ
でかい案件ではどこもほとんど確実に単体テスト≒画面のテストだよ
メソッド単位で単位テストなんて言い張ってたらいつまでたっても終わらない
プロジェクトをすすめるには画面を単位と言うしかない
ちっぽけな案件だったら教科書的な定義にしたがって優等生気取りながら仕事することもできるけどな

522:デフォルトの名無しさん
20/10/07 19:27:54.61 +yUuwD4N.net
> でかい案件ではどこもほとんど確実に単体テスト≒画面のテストだよ
そういわれても検証できないんで、
でかいオープンソースプロジェクトの話でもしてくれませんかね?
狭い世界の話をされてこ困ります。

523:デフォルトの名無しさん
20/10/07 19:32:22.60 07qTsl16.net
オープンソースwwww
日本の大規模案件でオープンソースなんて激レアだろ
そんなの見たってなんの参考にもならん
現場を知りたけりゃ現場に潜り込む
それしかねえんだよ

524:デフォルトの名無しさん
20/10/07 19:33:57.77 aZrfGhEg.net
>>519
おいおい
それでいくと納入プロセスまで客は何も目にしない事になるぞ?

525:デフォルトの名無しさん
20/10/07 19:35:01.87 +yUuwD4N.net
> 日本の大規模案件でオープンソースなんて激レアだろ
じゃあ小規模案件でもいいですが
今の論点は、狭い世界かどうかの話ですよ?
広い世界の話をしなきゃ意味がないでしょうw

526:デフォルトの名無しさん
20/10/07 19:41:09.64 aZrfGhEg.net
単体テストって言葉を作った大手がそもそも単体テスト=画面テストで使ってるという皮肉な現状がね

527:デフォルトの名無しさん
20/10/07 19:41:51.18 7fnYlcJW.net
>>524
請負ってそういうものだよ。
みたけりゃ中間納品でも設定すればいいだけ。
現実にはそんな法定義に杓子定規に運用してたらリスクしかないから
どこも工程完了基準みたいなのを設けて移行判定を顧客に委ねたりしてるでしょ。

528:デフォルトの名無しさん
20/10/07 19:44:12.59 +yUuwD4N.net
>>526
大手が日本の会社だと思ってる?
URLリンク(employment.en-japan.com)
「単体テスト」という言葉が初めて世に出てくるのは、
1970年の『Managing the Development of Large Software Systems』という論文に遡ります1。

529:デフォルトの名無しさん
20/10/07 19:44:12.91 EdLJXccd.net
>>497
誰にぬかしとんじゃおらー

530:デフォルトの名無しさん
20/10/07 19:45:15.86 RbIdfjjl.net
>>526
今までの話を聞いてた?
単体テスト=画面のテストは違うだろ。
そもそも単体テストの意味を盛大に勘違いしているのは君だけでしょ。
国家資格の基本情報技術者試験の件はどう反論するんだ?

531:デフォルトの名無しさん
20/10/07 19:48:46.17 EdLJXccd.net
>>511
小保方さんは研究ノートをろくに取ってなかったから批判されたんやで
そこんとこよーく考えた方がお前のため

532:デフォルトの名無しさん
20/10/07 19:49:03.66 r+XQDTLB.net
>>528
なんで英語論文に単体テストって日本語が出てくんだ?
いいかげん単体テストとUnit Testを区別したらどうだ
ここは日本だから日本の習慣に習うべきだ

533:デフォルトの名無しさん
20/10/07 19:49:35.77 EdLJXccd.net
>>530
国家資格は児童ポルノウイルス試験でしか無いってことだと思います!

534:デフォルトの名無しさん
20/10/07 19:50:14.16 EdLJXccd.net
>>532
Unitは単体って意味なんよ
Unitを日本語で書くと単体なの
英語勉強して

535:デフォルトの名無しさん
20/10/07 19:52:52.79 +yUuwD4N.net
>>532
ユニットテストを翻訳したものが単体テストです
それ以外の定義はありません

536:デフォルトの名無しさん
20/10/07 19:54:49.52 EdLJXccd.net
TDDはアスペ用のものだしなー
健康な人が水素吸入しても健康にならないようなもので
まともなプログラマにUnit Testは要らんのですわ
英語にびびったアホジャップがUnit Testはスゴイものだと思い込んだだけで
実際のところUnit Testやってもやらなくてもシステムの品質は変わらんから
コストかかるぶんマイナスなんよねー

537:デフォルトの名無しさん
20/10/07 19:56:03.40 EdLJXccd.net
>>535
そうでもないやで
大企業で仕事してみ、単体テストはintergration testingの意味ですから

538:デフォルトの名無しさん
20/10/07 19:56:53.49 EdLJXccd.net
Unit Test -> 単体テスト
これはわかる
単体テスト -> Unit Test
これは成り立たない


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch