2022/06/04 10:22
p1ass
これなぁ"既存の機能のコードには一切変更を入れない。たとえ、新規機能で追加されるコードと共通化できるコードがあっても、共通化が既存の機能のコードの修正になるなら、共通化は行わない。"
2022/06/04 14:55
maninthemiddle
かつてのソフトウェア試験との比較を経験として書けるのはさすが超ベテランならでは
2022/06/04 14:59
nunulk
腐るという表現が適切かどうかは疑問だけど(いずれ朽ちるのであれば腐るほうがマシかもしれない)、書かれていることは同意。
2022/06/04 15:08
moromoro
手動テストだよりが原因じゃなくてリファクタしようと工数確保したり、対応案件整理したりできないのが原因なんじゃ。今どきの手動テスト屋に安価で依頼してて、管理層が金額しか見てないなら無理だろけど。。
2022/06/04 15:11
sirobu
そして工数がなくてメンテされずにNGが出るまま放置されるテストソースの山が……
2022/06/04 15:40
nakamura-kenichi
「やり方」やで。
2022/06/04 17:29
hiroomi
”開発されたソフトウェアが長年にわたって肥大化する前にプロジェクトが終わってしまい、ソフトウェアが腐っていくといことをあまり実感していません”この逆は互換性か。旧富士ゼロの現役mfpの実装はひどい。
2022/06/04 18:17
yarumato
“手動テストだけに頼るソフトウェアは、既存コードに一切変更を入れられないため、共通化できても共通化しない。結果、似て非なるコードが多くなる”  一太郎やATOKはコレに見える。互換性が高い利点はある
2022/06/04 19:22
pogin
自動テストがある現場…どこ…?
2022/06/04 19:23
ledsun
実は短期間に「すべての機能を一通りテストする」必要はないんですよね。デリバリーまでの間に一通り通っていればいい。(変更の多いところは、デリバリー直前の短期間に手動テストした方がいいかも)
2022/06/04 19:29
Shinwiki
2020年代も目視が主流のとこは存在する
2022/06/04 20:08
chintaro3
まぁ後継者がいなけりゃどのみちゴミになるんだけどな。テストを自動化しても、誰がそれを引き継ぐのかという問題は残る
2022/06/04 21:15
civicpg
テストコードちゃんとありますよ!(skipアノテーションを付与しながら)
2022/06/04 21:15
canadie
テストにしろリファクタにしろ、ちゃんと工数をステークホルダと握るのが先。余った時間、余った人員でテストを書いてると工数が足りなくなった時に壊れる
2022/06/04 22:46
takeag
テストやリファクタリングで工数増えると思ってる時点で間違い。逆に生産性が上がり工数が減ります。
2022/06/04 22:51
xlc
自動テストにはコストがかかるしプログラムの書き方も変えなければならない。なので経営的な視点を入れるなら、それができる金額で契約しなければ自動テストはできない。保守契約があればそこで書くのがよいと思う。
2022/06/04 23:13
naggg
このあたり詳しくないので時系列に書いてあって助かる
2022/06/04 23:29
shikiarai
自動テストなんて思想が引き継がれなかった瞬間腐るから
2022/06/05 00:33
osamu0329
逆に考えれば5年の寿命なら手でテストしてもいいわけで(まぁ更改を重ねて秘伝のタレとして引き継がれることはある)
2022/06/05 00:36
taguch1
ユニットテストはともかくe2eをメンテしてくの結構コストだよなぁと。みんな上手くやってる?
2022/06/05 02:09
manaten
腐って何を担保してくれてるのかわからなくなったテストコードとかあるしなあ。結局人の手が入らなくなったコードは腐っていく運命にあるのじゃ…
2022/06/05 07:17
sysjojo
時間があったらやる。というスタンスだと未来永劫自動テストやリファクタなんてできないの同意。お金が余ったら貯金しよ。投資しよ。と言ってるのと変わんない。
2022/06/05 08:13
radian19831019
今の現場がまさに。 ウォーターフォールでテストコードは基本ない、あってもassertがないので目視確認。保守性の高いコードを知らないのでリファクタの発想はなくコピペとパッチ。 勉強会開くことにした。
2022/06/05 08:33
bopperjp
id:moromoro の指摘が耳が痛い。。リファクタリングって当然だけど優先順位付けが必要で、優先順位付けには根拠が必要で、根拠をつけるためには開発対象全体の理解が必要で。。むずいんじゃー。
2022/06/05 09:11
surume000
くさるよなあ
2022/06/05 10:13
turanukimaru
コードに手を加えるたびに手動テストするのに比べたら自動テストは安く、テストしやすいコードはメンテもしやすい。テストの維持は高コストではあるが私にやらせれば安い(真顔。ここ数年はテスト環境作る仕事ばかり
2022/06/05 11:26
kagerou_ts
昔聞いた言葉で「ユニットテストはリファクタリングする勇気を与えてくれる」というものがあった。真理だと思う。自動テストなしでもリファクタリングできるけど、工数やリスクを勘案すると俺ならお勧めしない。
2022/06/05 12:26
caynan
全然かんけいないけど「リファクタする」っていう言い方、「動詞+する」なので違和感があるんだよね
2022/06/05 14:04
hogeaegxa
まあ自動テストっていっても、だいたいは「1を入れると42が戻ること」程度の情報量だし、腐敗を止めるには力不足なんだよな。腐ったシステムは仕様も不明でコードも意味不明だからヒントになるテストにしたい
2022/06/05 15:29
strawberryhunter
オープンソースソフトウェアに関しては、熱心な開発者が減ってしまうとちょっとずつ壊れていく感じはある。/特に画面の自動テストは手間がかかりすぎるのでノウハウがもっと公開されてほしいと思っている。
2022/06/05 17:06
honma200
あとうんざりするようなデータ構造になりがちよね
2022/06/06 01:23
pmint
読んでみれば自動vs.手動の話ではなく、工程の違い。後の工程がコスト高なのは当然で、両方とも必要。後半を読むと「美しいコード」を書きたい人なのかな。実装レベルの美しさなんて、たかが知れているのを知るべき。
2022/06/07 14:46
stilo
"手動テストだけに頼っているソフトウェアは、年々腐っていく"