20/09/26 17:31:55.87 IgGP+BQU.net
>>236
経営者目線で単体テストてwwwww
wwwwアホすぎわろすwwwww
wwwwwwwwwwwwwひぃーひぃー腹が痛いーwwwwww
238:デフォルトの名無しさん
20/09/26 17:34:09.67 IgGP+BQU.net
単体テスト頑張れば頑張るほど品質は下がるというのが現代のものづくりの常識なわけだが
10年前の本読んで仕事してる人とは仕事したくないなあwwwwwwwwwwwwww
239:デフォルトの名無しさん
20/09/26 17:34:46.62 gRR2jm5z.net
テストのスペシャリスト(エクセルスクショパシャパシャ)
実際、テスト計画からテストの自動化含めて全部やれる人って
ほとんどいない気がするか……
というよりテスト自動化すらまだ全然進んでない印象
240:デフォルトの名無しさん
20/09/26 17:37:41.06 IgGP+BQU.net
自動化しなくても良い、総合テストに時間をかけたほうが製品の品質は高まる
テスラのロケットもそうやって飛んだんだよ
自動化という手法にこだわってコーダーの自己満で単体テストやってるのは
所詮ホリエモンロケット止まり
241:デフォルトの名無しさん
20/09/26 17:39:16.66 IgGP+BQU.net
大事なのはユーザビリティでありプロダクト
細かい部品のチェックを頑張ってもどうにもならんぞ
242:デフォルトの名無しさん
20/09/26 17:40:41.58 yrYl4KMm.net
>>240
ycF3TYueさんよ、マジで黙っててくれないか?
お前さっきから邪魔。昨日のように逃げて大人しくしてろ。
243:デフォルトの名無しさん
20/09/26 17:42:49.70 IgGP+BQU.net
単体テスト頑張って会社の売上が上がった人は単体テストのコンサルタントやってるIT業界のマナー講師くらいだろ
やってることが自作自演なんだよ
日本の仕事の生産性が低いのも細かいところで頑張って全体の品質から目を背けているからだ
開発者が力を注ぐべきはプロダクトでありユーザの満足度だ
わーい単体テスト自動化できたーとこれで安心だーなんていってるのはレベルが低すぎるんだよ
高卒ならそれで良いかも知れないが大卒はそんなことやっちゃダメ
244:デフォルトの名無しさん
20/09/26 17:44:24.34 IgGP+BQU.net
大局を見よ、戦略を練れ、竹槍にこだわって戦争に勝とうとするな
245:デフォルトの名無しさん
20/09/26 17:49:35.42 ViMVtGkb.net
>>239
まぁ、自動化以前のところで詰まってる人は多いかも。
246:デフォルトの名無しさん
20/09/26 17:51:56.67 IgGP+BQU.net
リファクタリング、単体テストを頑張る人間は一生クリエイティブな仕事できない
ユーザはネジの品質なんて気にしない、プロダクトが使いやすいかどうかが全て
ユーザ目線に立って生産性の高いアジャイルな仕事を成功させるためには自己満足を捨てて
顧客満足を選ばなければいけない
247:デフォルトの名無しさん
20/09/26 17:53:25.75 IgGP+BQU.net
単体テストの自動化を目的に仕事してる人がいる、IT業界のマナー講師だ
嘘をバラマキ生産性を下げる原因だ、出会ったら心から軽蔑してあげよう
248:デフォルトの名無しさん
20/09/26 17:56:41.81 Ztx9BLyg.net
>>243
アジャイルなのに単体テストに意義を見いだせないって終わってるな。しかも、自動化スレでこんな発言だもんな。
アジャイルという言葉を理解していなさそう。
249:デフォルトの名無しさん
20/09/26 17:57:28.46 IgGP+BQU.net
>>248
アジャイル == 単体テストと思ってそうwwwwwwwwww
wwwwwwwwwwザ・ガラパゴスって感じwwwwwwwwwww
250:デフォルトの名無しさん
20/09/26 17:58:16.27 IgGP+BQU.net
アジャイル == ユーザ
これが本当のアジャイル
ユーザが見るのは単体テストの結果じゃない、プロダクト
251:デフォルトの名無しさん
20/09/26 17:59:11.08 ViMVtGkb.net
>>249
そういえば、お前、昨日220の質問で逃げてたけど、答えないの?
252:デフォルトの名無しさん
20/09/26 17:59:20.69 IgGP+BQU.net
まともな企業で仕事してみ、総合テストを重視したほうが品質高まるねってのが常識だから
253:デフォルトの名無しさん
20/09/26 17:59:25.33 gRR2jm5z.net
>>243
>日本の仕事の生産性が低いのも細かいところで頑張って全体の品質から目を背けているからだ
>開発者が力を注ぐべきはプロダクトでありユーザの満足度だ
なんでアジャイル開発やTDDに発展していったかっていう経緯が全然分かってないやん
単体テスト無しで各コードが密結合されたプログラムの場合、変更のコストが膨大になる(作業工数の膨大)
で、プログラムっていうのは常に変化するものだ
不具合対応だけでなく、それこそユーザー要望によってコードはどんどん追加される
で、そのユーザーを満足さえるためにコードを変更するって事は仕様追加だけでなくて、既存仕様の担保も同時に必要になるんだよ
密結合されたコードは修正時の影響範囲が大きく、容易に変更する事が出来ない
何より変更後の既存仕様の担保っていう点で言えば、全てを保証するためには膨大なテストが必要になる
単体テストを『ちゃんと』作ると、プログラムは自然と疎結合になっていく(なぜならそうしないとテスト自体が書けないので)
更に仕様変更後も単体テストを動かす事で、少なくとも単体テストを実装している個所については
変更前後の動きを担保する事が出来る
もし抜けがあれば追加すれば良い、そうすれば次からはそこは抜け落ちない
つまり最初の工数こそかかるが、リリース後の保守/仕様変更に強いプログラムが出来上がる
これは長期的に見ればユーザーにも開発者にとっても大きな利点
お前はリリースした後の長期的な観点が抜け落ちてるからこそ、単体テストを軽視してるんだろ
ウォーターフォール式の開発で技術者寄せ集めてでプロジェクト終わったさー解散、ってやってるような奴だなとしか思えん
……というか調べたけど、テスラのロケットがシミュレーション止めたっていう話自体全然出てこないんだが……
254:デフォルトの名無しさん
20/09/26 18:02:35.17 U+G6yEte.net
>>239
単体テストは基本設計者がやるから
自動化環境の導入は片手間じゃなかなか難しいからうちは専任の部隊がいる
一旦入れれば次からはそんなに苦労しないんだけど最初のハードルはちょい高めやね
>>242
NGしとけ
255:デフォルトの名無しさん
20/09/26 18:03:31.79 gRR2jm5z.net
というかユーザーは単体テストを見ない、だから単体テストは不要
っていうのは恐ろしいほどの暴論だぞ
ユーザーが必要としている領域と、開発側で必要としている領域は一致しない部分が出てくるんだから
全く理由になって無いぞ
256:デフォルトの名無しさん
20/09/26 18:46:55.40 IgGP+BQU.net
>>253
密結合wwww疎結合wwwwいかにも10年前の本に書いてそうなことだなwwwwww
単体テストがないから設計ができないなら設計力が足りてないわ
単体テストしてる場合じゃないプロダクトと向き合えユーザと向き合え
単体テストでパソコンと向き合ってんじゃねえwwwww
257:デフォルトの名無しさん
20/09/26 18:56:33.26 gRR2jm5z.net
>>256
じゃあ単体テスト不要の根拠になるソース出して?
>>154辺りの本が古いのであれば、当然当たらしいやつがあるんだよな?
ソースが無けりゃただの妄言だぞ
258:デフォルトの名無しさん
20/09/26 18:57:42.94 eYWGQOJY.net
>>253
密結合されたコードの破壊力はヤバいね。
何がやばいかって、最悪、1から作り直しになるから。
そして、そんなコードを作る人達がリファクタリングしたり再設計させたところで同じことを繰り返すから。
俺の会社の過去最高のクソプロジェクト案件が脳裏に浮かんだよ。
まぁ、あんたの言うとおりだわな。
>>255
> ユーザーが必要としている領域と、開発側で必要としている領域は一致しない部分が出てくるんだから
> 全く理由になって無いぞ
全くそのとおりだ。
259:デフォルトの名無しさん
20/09/26 19:00:26.44 IgGP+BQU.net
>>257
まともな会社で仕事してみ
総合テスト > 結合テスト >>>>>>>>>>>>>>>>>>> 単体テスト
品質を左右する優先度はこれ
260:デフォルトの名無しさん
20/09/26 19:01:22.17 eYWGQOJY.net
>>259
優先度の話かこれ?
261:デフォルトの名無しさん
20/09/26 19:04:32.62 IgGP+BQU.net
単体テストはコーダの自己満を超えられないのよ
もっと広い視野でプロダクト全体を見渡さないとよいプロダクトは作れない
プロダクト売るのはコーダじゃないから気にしたことないだろうけど
分析してみるとユーザの満足度に単体テストレベルの些末なことは一切関与しない
262:デフォルトの名無しさん
20/09/26 19:07:01.48 IgGP+BQU.net
たとえカバレッジ120%であってもユーザビリティが低ければ使われない
ユーザの満足度とコーダの満足度は違うもの
UIを洗練させ機能を洗練させユーザが本当に求めてるのは何かと
考え続けることがプロダクトの品質を高めることに繋がる
それがユーザと向き合うってこと、パソコンと向き合ってるだけじゃダメ
263:デフォルトの名無しさん
20/09/26 19:08:27.91 lXs6C011.net
ソースは明かせないが、信頼できるとある専門から聞いたという話では
単体テストをやればやるほど売上が下がることが明らかになったそうだ
な?そういうことなんだよ
264:デフォルトの名無しさん
20/09/26 19:09:11.93 c/9EiqGf.net
>>262
たとえカバレッジ120%であってもユーザビリティが低ければ使われない
それなら
たとえカバレッジ120%であってもユーザビリティを高くすればいいだけでは?
265:デフォルトの名無しさん
20/09/26 19:10:50.10 lhbsSr80.net
バカエッチ120%
266:デフォルトの名無しさん
20/09/26 19:11:23.17 IgGP+BQU.net
目的はユーザを満足させることであり単体テストはその手段として
使われるのだけれども単体テスト頑張ってもユーザの満足度あがらんね
それはどうしてだろうプロダクトの品質があがるわけじゃないからだってのが
20年前~10年前まで単体テストを頑張って得られた結論
いまは結合テスト、総合テストを自動化して品質を高めるのが主流
267:デフォルトの名無しさん
20/09/26 19:12:54.99 IgGP+BQU.net
10年前の知識で頑張ってるお前らは俺を煽ることでどうにか今の技術を聞き出そうとしてる情けない人たち
268:デフォルトの名無しさん
20/09/26 19:14:20.17 IgGP+BQU.net
本を読んでPCと向き合うとことしかしてこなかったお前らの限界
ユーザと向き合うことを避けてきた根暗なコミュ障に開発の最先端は無理
269:デフォルトの名無しさん
20/09/26 19:16:47.76 U2gS2HGa.net
なんかヤベー奴沸いてるからこれ貼っとくわ。
詭弁の特徴のガイドライン
1.事実に対して仮定を持ち出す
2.ごくまれな反例をとりあげる
3.自分に有利な将来像を予想する
4.主観で決め付ける
5.資料を示さず自論が支持されていると思わせる
6.一見関係ありそうで関係ない話を始める
7.陰謀であると力説する
8.知能障害を起こす
9.自分の見解を述べずに人格批判をする
10.ありえない解決策を図る
11.レッテル貼りをする
12.決着した話を経緯を無視して蒸し返す
13.勝利宣言をする
14.細かい部分のミスを指摘し相手を無知と認識させる
15.新しい概念が全て正しいのだとミスリードする
16.全てか無かで途中を認めないか、あえて無視する
17.勝手に極論化して、結論の正当性に疑問を呈する
18.自分で話をずらしておいて、「話をずらすな」と相手を批難する
19.権威主義に陥って話を聞かなくなる
270:デフォルトの名無しさん
20/09/26 19:19:19.01 83DuDYef.net
>>259
まともな会社ってどこ?
お前の勤める自宅警備会社?
271:デフォルトの名無しさん
20/09/26 19:27:01.07 vfGHSq+F.net
>>268
昨日の昼間からム板に張り付いている人に言われても説得力ねぇわ。
そしてそれと同じくらい、お前の50を超えるレスに説得力ねぇわ。
ツッコミを入れる周囲の人達の発言のほうが説得力があるね。
もう少し自分を疑うことをおすすめするよ。
272:デフォルトの名無しさん
20/09/26 19:29:30.83 gRR2jm5z.net
>>259
はい、ソース無し
というか単体テストすらまともに実装出来ない会社の間違いじゃないの?
273:デフォルトの名無しさん
20/09/26 19:36:25.98 c/9EiqGf.net
>>266
> 目的はユーザを満足させることであり単体テストはその手段として
> 使われるのだけれども単体テスト頑張ってもユーザの満足度あがらんね
だから両方やればいいだけでしょ?
274:デフォルトの名無しさん
20/09/26 19:47:53.10 gRR2jm5z.net
マジで無能な働き者感半端なさ過ぎて洒落にならんな>ID:IgGP+BQU
あんまり煽るのは趣味じゃないが、流石にここまで酷いと思わんかった
>いまは結合テスト、総合テストを自動化して品質を高めるのが主流
本当に聞きかじりばっかだなお前
結合テスト/総合テストの自動化は開発の最終盤(UI含めてほぼ構成が固まった段階)に辺りからやるもんだぞ
さらに大前提として結合/総合時に自動化に耐えうるレベルでバグを潰しておく必要がある
つまり、単体テストで予めて一通りの品質が担保出来てなきゃ、自動化なんざ夢のまた夢だぞ
275:デフォルトの名無しさん
20/09/26 19:50:00.49 vfGHSq+F.net
>>266
> 目的はユーザーを満足させることであり単体テストはその手段として使われるのだけれど
最終的にはそうなるかもしれないが、あくまでも単体テストの目的は詳細設計の妥当性確認では?
お前、>>253のツッコミをミスリードしてないかw?
時代遅れとか以前に、単体テストが何を目的とするのかすらわかってないじゃん。
>>273の言うとおり、両方やればいいだけだよ。そして、両方やる必要がある時点で他のテストとは目的が違うんだよ?理解してる?
276:デフォルトの名無しさん
20/09/26 19:56:28.25 gRR2jm5z.net
更に言うと、実行時間って言う面においては自動化を含めても
単体テスト>>結合テスト>>>>>総合テストっていう絶対に崩せない不等式がある
(総合テストはseleniu辺りを使ったものを自動化を想定してる)
単体テストはフィードバック速度が段違いに早いんだよ、だからアジャイル開発やTDDにおいても重要なファクターとなる
あとずーーーーーーと引っかかってたんだけどさ
単体テスト、結合テスト、総合テストは仕様通りに動くかどうかであって、ユーザー満足度とは何も関係無いぞ
仕様通る作成できている=ユーザーも大満足する、にならないからウォーターフォールだとダメって風潮になってるんやん
(ユーザーの声が最後の最後にしか出てこないから、フィードバックを反映するのが困難なため)
ユーザーが満足するか、使いやすいかっていう判断をするのはユーザービリティテストっていう
評価観点が全く異なるテストを実施しないといかんのだぞ
流石に二日待っても『ユーザービリティテスト』って言葉が一回も出てこないから本気で心配してるんだぞこっちは
277:デフォルトの名無しさん
20/09/26 20:25:28.70 IgGP+BQU.net
>>276
結合テストの段階でユーザも巻き込んでやるだろ
お前のとこやってないの? それアジャイルじゃないよ
ただのウォーターフォールだよ、どうりで単体テスト重視してるわけだわな
ユーザと会うことさえない下っ端仕事しかしてないんだろ
278:デフォルトの名無しさん
20/09/26 20:26:11.04 IgGP+BQU.net
アジャイルとはユーザと一体化して共同でプロダクトを作り上げるものだ
279:デフォルトの名無しさん
20/09/26 20:28:00.00 IgGP+BQU.net
パソコンと向き合ってれば良い仕事って気楽でいいなwwww
プロダクトの品質気にしなくていいし顧客満足も気にしなくて良いもんな
うらやましいわwwwwww
280:デフォルトの名無しさん
20/09/26 20:28:37.08 IgGP+BQU.net
10年前の本実践してイキってれば良いもんなwwwwwwwほんまええなーwwwwww
281:デフォルトの名無しさん
20/09/26 20:31:50.54 vfGHSq+F.net
こんなにム板の住人多数から集中砲火を受けてもレスできる図太さに驚きが隠せない。
282:デフォルトの名無しさん
20/09/26 20:34:13.35 gRR2jm5z.net
>>277
け、結合テストにユーザーを巻き込むwwwwwwwwww
ちょっと想像の斜め上どころの解答じゃなかったな
アジャイル開発でもそんなクレイジーな事せんわ
なんで結合テストしてない代物をユーザーと一緒にテストするなんて言うトチ狂った発想が出てくるんだよ
お前の開発環境クレイジーすぎるだろ……
283:デフォルトの名無しさん
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