実データでプログラミングすれば単体テストは不要!at TECH
実データでプログラミングすれば単体テストは不要! - 暇つぶし2ch20:デフォルトの名無しさん
22/06/10 11:32:59.93 eVszpnue.net
> 単純な動く動かないの単体テスト
単体テストをコンパイルエラー相当のものと勘違いしてないか?
単体テストっていうのはモジュールとか関数レベルの小さなレベルで
正しく動くことを確認するテストのことだろ?
実データには含まれてないような稀なデータでもちゃんと動くように確認してさぁ
処理が間違っていても、単純に動けばOKみたいなもんじゃないぞ

21:デフォルトの名無しさん
22/06/10 14:32:19.58 QYbaBhXC.net
将来的に更新されないデータしか扱わないということならそれでいいかもしれない

22:デフォルトの名無しさん
22/06/10 14:35:07.36 QYbaBhXC.net
今更一休さんがナンセンスだという動画がつべのお薦めに上がってて?だったが
こいつらの影響か

23:デフォルトの名無しさん
22/06/10 16:41:26.27 Y5qgS1UI.net
30年前の開発やね

24:デフォルトの名無しさん
22/06/10 16:55:21.51 eVszpnue.net
30年前の手法が今も通用するし
これからも通用するのがユニケージ

25:デフォルトの名無しさん
22/06/10 17:26:49.00 yVcvQagj.net
ところがユニケージは数年も持ちません
可搬性が悪く、保守性が皆無だからです

26:デフォルトの名無しさん
22/06/10 17:36:06.93 TkaoAfxy.net
>>20
動くことは単体テストより前の話だろ

27:デフォルトの名無しさん
22/06/10 17:39:21.70 TkaoAfxy.net
データベース、SQLのテストをしない人間は、世代に関係なくいる。データ型が間違っていても気づかない。なぜか氏名の名字は2文字という決めつけのシステムを見たことがある。

28:デフォルトの名無しさん
22/06/10 18:16:40.83 Oy7NiucR.net
決めつけというよりは
ディスクを節約したかったのでは?

29:デフォルトの名無しさん
22/06/10 18:25:37.12 UB5ZYLyS.net
そんな節約してなんの意味があるの?
節約にならんよ

30:デフォルトの名無しさん
22/06/10 18:26:22.57 TkaoAfxy.net
「五十嵐太郎」を例にすると姓が「五十」、名が「嵐太」となるシステムを見たことがある。

31:デフォルトの名無しさん
22/06/11 13:07:28.66 N3F47/64.net
>>29
大昔の名残なんじゃないの?

32:デフォルトの名無しさん
22/06/11 16:28:50.36 h1ISo/Y7.net
テストデータでテストしても実データで起こる問題は見つからない場合がある
実データでテストしても一見動いているように観えて問題が起こるパターンを漏らす可能性がめちゃくちゃ高い

つまり両方必要
以上おしまい

33:デフォルトの名無しさん
22/06/11 16:31:27.92 XvjDOgOr.net
>>32
重要なのはこれなんだ

> 実データを使ってプログラミングすることにより、
> 単純な動く動かないの単体テストはプログラミングの過程でクリアでき、

34:デフォルトの名無しさん
22/06/11 19:13:11.11 zBk/MBZO.net
実データでテストするのはむしろ当たり前だろ
それをテスト環境に本番環境からデータをコピーしてきてやるんだろ
本番環境の実データでテストしろとは誰も言ってないωωω

35:デフォルトの名無しさん
22/06/11 19:32:06.26 Gseb2Mz3.net
単体テストで動く動かないしかテストしないと思ってるのが怖い

36:デフォルトの名無しさん
22/06/11 19:52:49.05 3GXg4kAh.net
>>34
そんな事書いてないぞ

実データでプログラミングすれば
単体テストはクリアできる

って言ってんだよ
実データでテストするとは書いていない

37:デフォルトの名無しさん
22/06/11 23:05:34.36 eIoo0izb.net
メモリの確保サイズを確かめるには、実際に最大サイズを使わないとわからないからな。

38:デフォルトの名無しさん
22/06/11 23:07:40.26 eIoo0izb.net
UTF-8を使っているつもりが、SJISだったりしてもシステムテストレベルではわからないから

39:デフォルトの名無しさん
22/06/12 10:31:30.13 cPTHwR7Q.net
LFとかCRLF前提で描いてると
CRのみというアホなコードが混ざって困るのが実データ

40:デフォルトの名無しさん
22/06/12 12:49:51.36 x8szYaic.net
普通の人の感想はこれだよなぁ。

URLリンク(xtech.nikkei.com)

> 最初の題材は,旧システムから新システムへのデータ変換プログラムにミスがあり,
> 新システムのシステム・テスト中に問題が見つかった事例である。
> あらかじめ実データを使ってテストされていたことを受け,
> 大西氏は「システマチックにテストされていたのか疑問だ」と指摘した。

テストデータというのは
仕様に合わせてテストすべきないようを網羅したもの。
実データでプログラミングするだけで、単体テストがクリアとか言われても
ちゃんとテストすべきものを網羅しているのかなんてわからん

はぁーーーーー、ユニケージ開発手法は、根本的に「雑」
プロの仕事じゃない

41:デフォルトの名無しさん
22/06/12 14:23:37.83 Ff38QWfz.net
データ入力してもらうテストできないじゃん?

42:デフォルトの名無しさん
22/06/12 15:32:52.60 SUky5He/.net
>>41
テストの工程くらい調べて言えよ!

43:デフォルトの名無しさん
22/06/12 16:42:20.14 x8szYaic.net
実データでテストすること自体はいい
テストデータだって完璧じゃないし見逃しはある
だが実データを使ってプログラミングしてれば
動くっしょ?という考えは大問題

シェルスクリプトで業務システム開発じゃーって息巻いて
誰かにシェルスクリプトじゃ単体テストできないよね?って
突っ込まれた時の苦し紛れの言い訳にしか見えない

「実データを使ってプログラミングすれば、単純な動く動かないの
単体テストはプログラミングの過程でクリアできる!」

いや、単体テストは、単純な動く動かないをテストするもんじゃねーから

44:デフォルトの名無しさん
22/06/12 18:15:50.84 aklmqhlz.net
マズい処理A
マズい処理B
が合体することで
結果として正しい結果になっている
効果を狙う匠の技

45:デフォルトの名無しさん
22/06/12 19:55:17.37 v6EPlC+x.net
>>44
実際意図的にそんなコード書く人もいるからなぁ。

マズイ処理A
+匠「なにぃ?まずい?そんなのこうやってああやれば修正できるだろ」
=正しいと思えるような結果

結果だけ見ても正しくても
なんでマズイ処理やってるのに結果が正しいのかわからない
理由がわからないので、結果が正しくても責任が持てない

余計なことをした匠だけが自信満々

46:デフォルトの名無しさん
22/06/12 23:03:01.18 C9crBHZS.net
単体テストなんかする工数が無いのでテスト無しで普通に開発してたがそんな現場の方が多いだろ
テスト運用中に不具合潰して本番後も不具合分かったら潰す
これが俺流のアジャイル

47:デフォルトの名無しさん
22/06/12 23:56:41.61 aklmqhlz.net
まあ、経験上やったほうが早く済む
っていうかできるような仕組みを心掛けるって感じ?

48:デフォルトの名無しさん
22/06/13 00:08:31.42 aNdPD0Bj.net
何ならレビューすらめんどくさがられてバグがあったら俺のせい

49:デフォルトの名無しさん
22/06/13 06:59:42.73 5Zu9gMwT.net
>>46
規模が小さくて、信頼性?知ったこっちゃねーよ
っていう所しか使えないけどね

SIって作りっぱなしで保守開発は客任せにするから
だからそんな事が成り立つ
客がいくら苦労しようが知ったこっちゃないという考え

自社サービスで長期間運営するとかには使えない
自分が苦しむからね

50:デフォルトの名無しさん
22/06/13 07:40:51.18 e6wf7PYo.net
データの仕様に沿ったプログラミングして本番データで間違い無いか確認出来たら安心
データの仕様が信用出来ないかも知れんし

51:デフォルトの名無しさん
22/06/13 16:32:51.92 JUF3UP4h.net
44,45
PHPerに多い

52:デフォルトの名無しさん
22/06/13 17:46:22.13 W8kQFthq.net
>>49
自社サービスではないけど保守運用は請け負っていたぞ
だから自分に返ってくるけど納期優先だから後にツケを回さずを得ない
少ないリソースでスピードが求められる現場だから理想通りには進められない

53:デフォルトの名無しさん
22/06/13 21:50:19.60 AX27+P+t.net
単体テストしないとスピードが落ちるじゃん
バカなの?
それともチキンレースしてるの?

54:デフォルトの名無しさん
22/06/14 10:40:52.22 DfocaXPs.net
テストコードを書く時間とテスト実行にかかる時間で何倍もかかる

55:デフォルトの名無しさん
22/06/14 11:31:44.20 Vpk2+uL5.net
>>54
テスト項目数何件あるの?
1000件のテストを修正のたびに手動でやってられないんだが

56:デフォルトの名無しさん
22/06/14 17:41:27.94 l2ORnHXX.net
問題はテストコード書く時間で十回は単体テストできることだな

57:デフォルトの名無しさん
22/06/14 19:54:21.44 p687pJoB.net
手動派って一回しかテストしないですむのか、うらやましいな

58:デフォルトの名無しさん
22/06/14 20:11:43.27 8jE4eIPr.net
>>57
誰がそんなこと言ってるの?

59:デフォルトの名無しさん
22/06/14 21:26:24.84 77YktSZo.net
>>56
手動でやっていて毎日全体テストなんてできるんですか?
コード修正するたびにテストしなきゃ
責任なんて持てないでしょう?

60:デフォルトの名無しさん
22/06/15 03:59:27.49 XlVHro5g.net
>>59
やる必要がどこにあるんだ?
自動テストを作成する工数が高すぎるのが問題
変更コストとかそもそも元のテスト仕様がドキュメントになってなくてこれまたクソ
そんでテストの内容も仕様書のどっからこのテストができるのか?これまた謎

あとシステムもよくない
ロジックだけをテストできる仕組みを現在の自動テストは持ってない
そうなるとカバレッジいくつがという数字だけ一人歩きを始めてその数字を100%にすることに何の意味もないっていうね
このクソシステムもやりたくない理由の1つ
それと実際に時間がかかるところは結合テスト
単体に必要以上に時間をかけてる暇は今の開発にはないと思う

そんなわけで自動テストはゴミ
いつもこの話を持ってくるやつには
プロジェクトで1番でかいメソッドの自動テストを組んでもらってお引取り頂いている
まあ、だいたい2週間経っても何も出ないやつが大半よ

61:デフォルトの名無しさん
22/06/15 08:49:46.31 UfCD2ATA.net
自分ができないからってふわっとした手動テストで悦に浸る60であった
自動テストのコストが許容できなくなるほど高いのも60が見積もれないからやろ
一番デカいメソッド ←レガシーやん、見切られてるだけやw

62:デフォルトの名無しさん
22/06/15 12:07:25.30 kUVbuOBV.net
>>60
テスト対象の仕様を把握してないから自動テストができないだけだろ
プロジェクトで1番でかいメソッドとやらのディシジョンテーブルをまず書いてみろよ

63:デフォルトの名無しさん
22/06/15 13:32:38.85 KCxUhf4v.net
>>62
そんなもの不要。
プロジェクトで一番でかいメソッドは
いきなり本番投入!
俺はプロだからな!

64:デフォルトの名無しさん
22/06/15 15:36:39.85 IEWflW3G.net
コンパイル通ったらバグが無いと思ってる素人より
テスト通ったらバグが無いと思ってる管理者の方が悪質

65:デフォルトの名無しさん
22/06/15 16:26:07.62 WkpRckyH.net
それはテストをしない理由にはなりえない
勿論自分はプロだから、なんて戯言も

66:デフォルトの名無しさん
22/06/15 17:29:37.75 SLSWC7tO.net
>>62
書けば?w
その時間に手動の単体テスト終わりそうだけどw

67:デフォルトの名無しさん
22/06/15 18:07:30.81 Usc4mgCv.net
>>66
ザルテスト・ザルではないことを証明できないテストを
やったところで、テストを通過したことにはならんよ
ザルの目を通過しただけのことだからね

68:デフォルトの名無しさん
22/06/15 18:21:44.14 xJcyHgOI.net
つーかディシジョンテーブル書いてみろと言った途端に皆ビビり過ぎ

69:デフォルトの名無しさん
22/06/15 19:16:55.41 XlVHro5g.net
まあ、1番デカイヤツヤラせて見ろよ
これで自動テストやろうぜ厨はリアルで潰せる
そいつは何の成果もあげられない絶対だ

こういうアホの思いつきをプロジェクトから無傷で追い出すのも立派な能力

掲示板でもガチでキレたらオープンソースの自動テスト作ってもらうで
自動テストの話はそれが終わるまでさせん

70:デフォルトの名無しさん
22/06/15 19:27:21.83 kL9YSsea.net
1番デカイヤツが糞過ぎて、ディシジョンテーブル起こせません渡せません。まで読んだ
オワコンなプロダクトにはオワコンな人間が跋扈する、と

71:デフォルトの名無しさん
22/06/15 19:50:46.74 dDeNr2sj.net
自動テストなんか不要!
→ほーん、じゃあそれ手動でテストしてんの?
→そもそもテストしてませんでした

この流れだからなw

72:デフォルトの名無しさん
22/06/15 19:51:24.38 dDeNr2sj.net
>>69
でかいやつの、手動テスト vs 自動テストか
まず手動テストやらせてみようぜ!

73:デフォルトの名無しさん
22/06/15 23:47:08.73 oaz3/shQ.net
自動テスト用のテストデータを自動生成するプログラムの
テストは自動テスト?

74:デフォルトの名無しさん
22/06/15 23:59:13.06 NtuuvbZ6.net
屁理屈しかこねられなくなったのかな

75:デフォルトの名無しさん
22/06/16 00:17:15.51 +hS0AG8l.net
2000年ぐらいのときの人類は自動テストを
人工知能のように考えていた人がいるんだよ

ファクトリーオートメーションのような
コンピュータを導入した自動化のことだって
分かんなかったんだよ

念のために言うけどファクトリーオートメーションは
人間が何もしなくても勝手に何かものを作ってくれる機械じゃないよ

76:デフォルトの名無しさん
22/06/18 23:16:33.28 hl5NRKh8.net
お前らが日々セコセコと作ったジャーナルやらのデータが既にあるやろってのが彼らの理屈
それを虎とよんで提出したら作ってやるという思想

77:デフォルトの名無しさん
22/06/19 00:24:52.22 rHNduwfW.net
自分たちで新しいデータを作らないという前提なの?
そら使えねわw

78:デフォルトの名無しさん
22/06/19 00:26:15.57 rHNduwfW.net
もしかしてユニケージってCOBOLで開発済みのたシステムを
リプレースするための開発手法なのか?

79:デフォルトの名無しさん
22/06/19 00:37:44.77 dIkfdhtd.net
ビッグデータ解析とかに使うのが正解ってのがここ数年で出た答えやと思うぞ
COBOLのリプレスなんか出来んぞ
インデックスもロールバックもないしな
そもそもリアルタイムに処理なんかさせたら崩壊すんぞ

80:デフォルトの名無しさん
22/06/19 01:17:51.64 rHNduwfW.net
シェルスクリプトでビッグデータ解析をします。

え?どうやって?

まずシェルスクリプトを実行します。
そしておもむろにそのシェルスクリプトから
Pythonプログラムを実行します


それもうビッグデータ解析に使ってるのPythonやないかーい

81:デフォルトの名無しさん
22/06/19 08:55:32.76 qE3yIUXX.net
PythonやろがCやろがawkだとしても、シェルのパイプで連結しとって、並列処理ができて作法に準拠しとればユニケージなんやで、それがオラクルよりも速いから信者がいるわけやぞ

82:デフォルトの名無しさん
22/06/19 09:06:06.78 qE3yIUXX.net
これがWindows系のパイプやと処理が終わりきらんと次の処理にデータを渡さんけど、Linux系なら次の処理に渡すんよね
これをたくさん繋げるから並列に大量のデータに対して効き目があるんよ
って教え込まれて育つんやぞ

83:デフォルトの名無しさん
22/06/19 09:36:33.25 G0R2gGHa.net
オラクルよりも早くなるのはデータが少ないときだけだから、ビッグデータを扱うと普通のデータベースより遥かに遅くなるという罠

84:デフォルトの名無しさん
22/06/19 09:39:22.52 qE3yIUXX.net
>>83
それ知らんかった
エビデンスあるん?
興味あるわぁ

85:デフォルトの名無しさん
22/06/19 09:57:09.30 1YFXwgfz.net
>>79
ビッグデータ解析にユニケージが使えるわけ無いだろ

86:デフォルトの名無しさん
22/06/19 12:08:06.23 qE3yIUXX.net
>>85
え!インデックスもねぇーし、ロールバックすら出来なくて、データをリアルタイムに更新するとぶっ壊れるんやぞ
それやから夜間バッチでデータの持ち方を変更して行くのに、ビッグデータ向けじゃないとは?

87:デフォルトの名無しさん
22/06/19 12:10:18.95 rHNduwfW.net
>>84
エビデンスの話をするならユニケージの方がオラクルよりも速いというエビデンスがないんだよ
ユニケージはオラクルよりも速いと主張してるだけで
エビデンスを提供してない

88:デフォルトの名無しさん
22/06/19 12:15:19.02 rHNduwfW.net
ユニケージはファイルの書き込み量が多すぎるんだよね

なんか今のディスクは安いし大容量だから
そんなの気にしなくて良いって反論してるみたいだけど

気にしてるのは、ディスク読み書きの量が多かったら
遅くなるという所なので反論がまとはずれ
オラクルとかはメモリ内でほとんどのことを処理するので速い

89:デフォルトの名無しさん
22/06/19 12:28:25.75 rHNduwfW.net
>>84
例えば数十GB、数千万件ぐらいのデータをデータベースに突っ込んで
日付項目にインデックスを張った状態で
特定の日時範囲のデータを数十件を取得するのと
ユニケージコマンドで全体なめて検索するのとでは
圧倒的にデータベースのほうが速い

90:デフォルトの名無しさん
22/06/19 12:49:48.08 qE3yIUXX.net
>>89
ほう!ほう!
ええねぇ~ええねぇ~
そうすると所長は検索なんやから項目を無作為に選べないととか言い出すんやろなぁ
奴らの言う一休さん方式こそインデックスをはるポイントやなか?

91:デフォルトの名無しさん
22/06/19 12:56:40.38 AlEqw3Pb.net
>>90
何が言いたいのかわからないわ
でたらめな文章をごまかすためにエセ関西弁で書いてるの?

92:デフォルトの名無しさん
22/06/19 13:25:46.00 G0R2gGHa.net
またPOSIX原理主義者が湧いてるの?

93:デフォルトの名無しさん
22/06/19 14:25:06.47 qE3yIUXX.net
皆どんぐらいユニケージさわっとるの?
おいは数年前に3年ほど

94:デフォルトの名無しさん
22/06/19 16:29:05.64 WvuKu/8E.net
3年間もユニケージ触るとか可哀想

95:デフォルトの名無しさん
22/06/19 20:55:14.05 rHNduwfW.net
>>90
テキストファイルにインデックスはってどうするの?
そのインデックスを使うコマンドが存在しないんだが

96:デフォルトの名無しさん
22/06/19 20:56:27.16 rHNduwfW.net
>>93
この3年でユニケージ以外のプログラミング技術
何ができるようになった?

97:デフォルトの名無しさん
22/06/19 21:02:22.39 rHNduwfW.net
ユニケージにかかわると、成長できない人間になっちゃうのよ
あれ、どれだけ勉強せずに仕事をこなすか(単純作業を繰り返すか)が
メインの開発手法だから

98:デフォルトの名無しさん
22/06/19 21:03:45.46 rHNduwfW.net
ユニケージは飲みニケーション重視の文化だからねw
昭和かって思う。

99:デフォルトの名無しさん
22/06/19 23:12:04.72 qE3yIUXX.net
インデックスを、はるん違うよ
そこが何かやりたかった箇所じゃない?って意味
まぁ概ねその通りやね、リアルタイム処理が出来ない事とか認めんしね
引っ張り出した後のデータを加工する側はユニケージやなかったから色々他にも触っとったよ

100:デフォルトの名無しさん
22/06/20 00:00:14.99 9wjWgg3a.net
ソフトウェア工学的に間違っていることに対して
「一休さん方式」とか名前をつけると
それを新しい手法とか勘違いするような間抜けが釣れるんだろうね

いやさ、常識で考えてみ
こんな弱小ベンチャーが思いつくようなこと
世界でとっくに考えられてるからさ
そして、ああこれ、だめな考え方だねってなったから名前ついてないの

101:デフォルトの名無しさん
22/06/20 00:02:58.21 9wjWgg3a.net
プログラムを書く前に、データベース設計を先にやりましょう

でもデータベースを使わないから
一休さん方式という名前をつけたのね(苦笑)

102:デフォルトの名無しさん
22/06/20 00:14:23.95 ui+uFJOZ.net
経営者や高齢をターゲットにしたコンサルもどきの資料だね
言いくるめるにはこういうのもありなんじゃね、誠実かどうかは置いといて

103:デフォルトの名無しさん
22/06/20 01:16:23.80 tl0+tP1K.net
ユニケージなんか使うよりそこらのDBMSのほうが早いし、商用ならカスタマーサポートもある

104:デフォルトの名無しさん
22/06/20 09:16:31.50 9wjWgg3a.net
ユニケージの人たちってUSP、ユニバーサル・シェル・プログラミング研究所とか
名乗ってるけど、あそこの人たちが研究してるのはユニケージであって
シェルスクリプトじゃないんだね

他の会社よりも少しUNIXシェルを使ってましたってレベルで
シェルスクリプトの専門家じゃない

105:デフォルトの名無しさん
22/06/20 19:49:19.03 POXtKMKt.net
都合がいいから、そこにアジャイルってフィルタも被せるんやぞ

106:デフォルトの名無しさん
22/06/21 16:27:11.45 EjbRTWsP.net
「ニセ・誤情報に騙されないために」 総務省がネットリテラシー教材を公開
URLリンク(www.itmedia.co.jp)

騙されないためには・・・その分野の専門家?

ユニケージはソフトウェア開発の専門家ではありません
シェルスクリプトの専門家ではありません

POSIX原理主義者は、過去ニセ・誤情報を発信して
批判されています

その人(POSIX原理主義)は関連する情報や商品(ユニケージ)を
売っています

107:デフォルトの名無しさん
22/06/22 21:39:21.08 844DKgF/.net
まぁ同等にキモいことは分かった

108:デフォルトの名無しさん
22/06/28 23:04:53.88 DGy/t/cm.net
ID:qE3yIUXX
こいつは結局POSIX原理主義者だったんだろうか
それともユニケージ幻想を捨てきれなかった哀れなエンジニア崩れだろうか

109:デフォルトの名無しさん
23/01/16 02:52:13.53 9mlG87Vp.net
書けるかな?

110:デフォルトの名無しさん
23/06/05 04:50:35.27 vGn5Cz/p.net
(´・`)v-。o○ヾ(||´ロ`)o=3ゲホゲホ

111:デフォルトの名無しさん
23/10/16 23:49:36.19 DpZ6deeU.net
今日はちょっとめんどくさいわ


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