「テストケース」を含む日記 RSS

はてなキーワード: テストケースとは

2026-04-25

なぜレジシステムの税率変更にベンダー各社が時間がかかると主張するのかざっくりと説明する

消費税率の変更と聞くと、多くの人はレジ数字を一つ打ちかえるだけの簡単作業を思い浮かべるかもしれない。しかし、実際のレジは、店頭で「ピッ」と音を立てる箱にとどまらず、その背後に広がる巨大な神経網の末端にすぎない。バーコードを読み取った瞬間、その情報在庫管理システムに流れ、発注システム本部サーバ会計システムポイント電子マネー管理さらにはネット通販サイトといった別々の世界へと枝分かれしていく。税率を変えるとは、このすべての経路で数字意味が変わる、ということでもあるのだ。

たとえば税率が一時的ゼロになるとき、単に「0%で計算し直せばいい」という話では終わらない。レシートにどう表示するのか、軽減税率との区別をどう付けるのか、締め処理や決算書のどこで「課税」と「非課税」を線引きするのか、そのたびにプログラム分岐見直し、帳票のレイアウトを調整し、テストケースを積み上げていく必要がある。しかも、その作業一社、一店舗だけで完結しない。全国に散らばる何千、何万台ものレジが、営業を続けながら同じタイミングミスなく振る舞えるように、夜間や休業日にアップデートが配られ、店長本部確認し、現場スタッフが新しい操作に慣れていくまでの時間必要になる。

から、「技術的にはそれほど難しくないのに、なぜ時間がかかるのか」という問いに対しては、こう答えることになるだろう。難しいのはコードのものよりも、「社会全体の時計を、一斉に一分だけ進め直す」ような段取りなのだと。制度の詳細が固まるのを待ち、関係するすべてのシステムを洗い出し、ミスが許されないお金と税の世界で慎重にテストを重ねる。その結果として、カウンター越しの小さなレジが、何事もなかったかのように新しい税率で動き出す。その見えない準備の厚みが、「レジシステム変更に時間がかかる理由」の正体なのだ

2026-03-24

これもうAIほとんどのエンジニアいらないな

開発力ってところだとweb業務系はもうAIでほぼ完全に代替できる

組み込みハードベンダ依存関係が大きいのでまだAIコードをそのまま使うのは難しそうだけど)

テスターAIがやってくれるしテストケース設計さえできればあとはAIが回してくれるのでレビュアー不要

テストケース自体要件定義ができてればその時点でAIで生成できる

インフラも今はAI勝手クラウド経由でアーキテクト構築してテナントサーバーDBを置いてくれる

AIはまともにドキュメント作れない」とか言ってる人まだいるけど動けばいいのでそもそもそんなのいらない、AIにとっては文字通りコードドキュメント法令監査必須なとこは別だけど国の動向見てるとそういうのも減っていきそう

運用保守AI監視させてクラウドに可用性を投げれば基本は回る、障害対応も初動はAIが診断してくれる

(全部最初から作らせるとトークン消費がえげつないのでやり方を考える必要はあるかと、コストを考えると運用保守はあった方がいいが結局それもAI監視させればよい)

要件定義できる人はまだ必要だと思うけど、ドメイン知識や決定権のある人がブラックボックスサービスを作ればいい

まりプロパー企画立案者が内部でプロダクトを決定してそれ以降の設計実装まではAIに投げればいいので、特にSISESらに金払う奴はいなくなる

当然自社でドメイン知識のないエンジニア負債になる

不要にならない「エンジニア」はハード触れる人ぐらいか

2026-03-12

anond:20260312142006

いうてテストケースにも限界はあるからね。

特定の値を入力したら特定の出力を出すみたいなテストケースだと、他の値には対応できない出力が出てくるかもしれない。

それはテストケース網羅的ではないからだ!って言って全部の値を書く?それは流石にバカだよね。

人間なら境界テストで炙り出せるような成果物を出すけど、AIはそのテストケースのみパスするうんちを出す可能性があるってことは何事にも代えがたいケツの穴の痛みになるんじゃないかな?

anond:20260312141007

あらかじめ、網羅的なテストケースを用意しておいて、

そのすべてをパスできるようにAIが書いたのならば、それは中身が説明できなくても別にいいんじゃない

2026-01-19

spec駆動開発の流れ、自分はだいたいこんな感じでやってるんだけど、これであってるのかなぁ?

CLAUDE.md や rules / skills みたいな形で、重要コーディングルールはあらかじめかなり固めておく。

たとえば repository 層や Entity 層は具体的にどう書くのか、テストケースはどういう書き方をして、どういう観点で項目を洗い出すのか、みたいな AI への指示は最初から用意しておく。

あと、linter や ArchUnit、dependency-cruiser みたいなアーキテクチャ制約も、自分なりの定石を持っておく。

割と過剰なレベルガチガチに固める感じで、アーキテクチャルールも「◯◯は XXX に依存できない」みたいなブラックリスト式じゃなくて、「◯◯は XXX だけに依存できる」みたいなホワイトリスト式の方が良いと思っている。

ts 前提だと eslint や tsconfig は一番厳しい水準に設定する、流石にきつい部分でてきたらそこだけ緩める、という運用

おすすめなのは、何かしらの小規模案件個人開発アプリを1つオーバーエンジニアリング上等でガチガチ構成で作っておく。

そこで出てきた linter 設定やプロンプト設定を、別案件に横展開する感じ。

正直、ガチガチすぎると MVP とかレベルだとコード量は増えるけど、メンテする前提の案件ならバイコーディング時代だと普通にペイすると感じている。

まずは仕様書作りから入る。

アイディアを思いついたら、AI と壁打ちしながら仕様を洗い出していく。

手書きドメイン図を書いて、それを写メ撮って画像認識仕様整理、みたいなのも割とアリだと思っている。

どういう画面があって、どういう入力項目や表示項目が存在するか、バックエンドはどういうエンドポイント必要か、この辺りは最初に一通り洗い出しておく。

それに加えて、ユーザーが初めてトップページを開いてから登録ログインして実際にサービスを一通り使うまで、みたいな流れをそのまま Playwright のシナリオテストに落とせそうな形で何パターン仕様書にしておく。

全体の仕様書としては、あまり細部まで踏み込まない。

大枠が共有できていれば OK というスタンス

開発に入ったら、最優先はドメインオブジェクト作成

ここは最重要だと思っているので、あまり作業を並列化しない。

フロントエンドで、DDD における集約みたいな概念がそのまま当てはまらない領域についても、設計時点で洗い出せているなら Entity 的なものドメインサービス的なロジック用のレイヤを作って、ドメインオブジェクトとして実装していく。

最初に作った基本設計ベースに、◯◯Entity、XXEntity、△△Entity……を作るためのプランチェックリスト形式TODO を 1つの md ファイルに吐き出してもらう。

フェーズごとにフォーマッタ、linter、アーキテクチャルールなど一括実行したコマンド実行させて失敗してたら成功するまで修正繰り返させる。

ある程度わかりやす単位AI に依頼する感じで、出来上がったコードレビューする前提なので、実装プランmd 自体はよほど分かりやすツッコミどころがない限り細かくレビューしない。

mdフォーマットは skills 側で事前に用意しておく。

フロントエンド用、バックエンド用の両方でドメイン層のファイルを作る。

当然、足りないロジックは後から絶対に出てくるけど、最初から完璧は目指さない。

TODO 一覧の中から自分認知負荷が許す単位で「チェックリストのここからここまで実装して」と指示を出し、実装が終わったら TODO 項目のチェック状態更新してもらう、mdファイルコミットに含める。

コミット前にはlint ルール無効化していないか意図通りの実装になっているかgit diff差分で必ず確認する。

ドメイン層の実装が終わったら、そこからは並列で進める。

git worktree を使うことが多い。

よくやるのはフロントエンドの画面モック作成バックエンド実装の2並列で行う。

3並列以上はまだ自分脳みその性能が追いついていない。

フロントエンドも当然 spec 駆動前提。

実装プランを考えてもらうときは「◯◯画面を実装プラン考えて」くらいの単位で依頼する。

実装プランmd ファイルを作るときプロンプトには、基本設計の〇〇画面の項目一覧をベースに、◯◯のアイテムコンポーネントリストコンポーネント、◯◯のボタンコンポーネント、Information コンポーネント、外部通信用の ◯◯Gateway実装する、◯◯コンポーネントは既に ◯◯ 機能実装してあるからそれを使って、◯◯は処理が膨らみそうだからドメインサービス実装して、みたいな感じで頭の中のふんわりしたイメージを伝える。

詳細な名前とかは、AIにいい感じに考えてもらう。

バックエンドも同様で、◯◯のエンドポイントを作って、Gateway がこれこれ必要から実装して、これはインターフェース実装分けてね、Entityへの変換処理は関数分けて、◯◯の処理は Usecase 層で、◯◯の処理はドメイン層で、Usecase が膨らみそうだから ◯◯ の処理は独立したクラスにして、あ、似たようなのが ◯◯ 機能にあるからそれを参考にして、くらいの粒度で指示を出す。

フロントエンド実装を待っている間に、バックエンドプランを考えたり、タスク粒度を調整したり、リファクタリングプランを考えたりする、またバックエンドAI待ち時間フロントエンドのことをする。

フロントエンドオンリー実装とかで作業が競合するリスクあるときは並列作業しない。

チェックリスト更新が終わるごとに差分確認して、問題なければコミットメッセージ提案してもらってコミットする。

コミット粒度はあまり細かくしない。

細切れにするコストよりも、レビューする人間認知不可が許すレベルであればある程度まとまった単位レビューして実装速度を優先する派。

チーム開発ならもうちょっとちゃんとする。

テストは、ある程度実装が進んでリファクタリングが辛くなってきたタイミングで作ることが多い。

カバレッジミューテーションテストなど、定量的テスト評価できる仕組みは導入する。

バックエンド側のテスト実装は正直かなり楽で、行数や認知的複雑度を厳しく制限して単一責務の原則を守って実装しておけば、AI がかなり高精度なテストを出してくれる。

これもテストファイル実装プランを作ってもらって「ここからここまでのテスト20ファイル実装してね」をレビュー挟んで繰り返す感じ、例えばミューテーションテストのkill率100%ならそんなに詳しくは見ない。

フロントエンドテスト定量指標での評価が難しいので、そこはその分レビューを頑張るしかない。

自分はこんな感じでやっている。

感覚としては、優秀だけどシステムアーキテクチャ全体の責務を負ったことはない経験不足の2年目やSESの部下を扱うEMに近いのかなぁ。

周りの話を聞いていると、もっともっと AI自律的にいろいろやらせているようにも聞こえる。

これでも 1日1人で数万行レベルコードを書けてるので、AIない時代に比べると数ヶ月分の成果を1日とかで出してることになるが、もっと本気出せるのかなぁ。

それでも人間干渉しすぎなんだろうか。

「全機能プラン作ってね!そこから良い感じの粒度コミット自分でやってね!」みたいな指示を良い感じに出せたとしても、指示がでかすぎると、脆弱性盛々になったり、lint エラーループでパニクって linter オフにし始めたり、テスト通すためにエラー握りつぶして assertTrue(true) し始めたりする。

それは流石に許容できないレベルじゃない?が紛れ込むリスクが上がりすぎるんじゃないかなぁ。と思ってるんだがどうだろうか。。。

あとツールあんま入れてないねkiroとかspec-kitとか、ガチガチ細切れで仕様書作るメリットあんま感じなかった。

mcpserenaくらいしかいれてないや、トークン節約してレートリミット猶予伸ばした方が結局開発早くなるかなって。

いろいろ入れた方がいいんだろうか。

完全にオレオレでこんな感じでやっているんだけど、みんなspec駆動開発というものをどんな感じで、具体的にどうやっているのかが知りたい。

2025-12-03

クラウド時代のSRE、QA

いらない。

マジいらない。

そもそもパブリッククラウドってSRE的なものクラウド事業者に任せるための仕組みなんだから、SREは限りなく薄くなるはずなんだよ。

なのに、SREが傲慢門番と化してるプロダクトが目につく。

「設定より規約

は、こういう「隠れ設定を知っているかいないか」「暗黙の運用ルールを知ってるか知らないか」って要素を消して、つまらん手動運用を排することで安定運用を目指すものなのに、TerraformファイルとSREチームが延々と太っていくところの、なんと多いことか。

「そういうものを増やすことで、俺を切り捨てられないようにしている。これを複数会社でやることで、業務委託費を積み上げてる」とか自慢げに語るSREエンジニアにあったことがある。

こいつ、端的に言ってクズ

それに集られてる経営者たちはマヌケ

QAも同じ。

サービスさらに巨大化複雑化し続けている現在、E2Eとかで品質保証なんてできるわけがない。

チェック表が莫大になっていて、全部チェックできない。

どころか、絶対テストケース網羅されてない。

機能テストもろくに準備されない。

すっとどうなるか?

穴だらけテストをやってるふり、ただのアリバイ作りをしてるだけだからリリースするたびに障害が発生するし、裏でこっそり致命的なデータを増殖させていたりする。

なんのためのDevOps、自動テストだよ、と。

これは裏を返せば、設計実装エンジニア負担責任無茶苦茶重いってことでもある。

からこその、土日祝日盆暮正月勉強しないとまにあわんのだ。

こういった本質的に高度な内容を、AIに投げるとか、わけわからん

2025-10-21

AIバイコーディングは、既に我々が10年以上前に通った道だ(オフショアリング昔話)

----

追記

「My Job Went To India」の改題改訂版が「情熱プログラマー」なんだ!ありがとう発注したわ。(たぶん達人プログラマー混同して読んだ気になって読んでないパターンだわ)

俺の悪文のせいで意図が伝わらなかったであろうブコメがあったので、要旨だけ書き直しておくな。

ただ忘れないで欲しいんだけど、TerraformメンテしてAWSとかGCPで立ち上げてサービス公開するまでの速度は、相見積取って稟議通して部材調達から入ってた時代に比べると爆速だけど、人間技術屋の需要は増えてる。

俺は、「マスタリングTCP/IP 入門編」を人間が読んで理解するのは古いよね、という時代にはならないと思ってる。

Slerが自前で手元で試すようになるから~ってのも懐疑的SIerメーカーが内製すると必ず子会社作って分離、ぼく発注者きみ受注者にしたがるので。これは技術じゃなくて感情とか経営問題

(ただし、Slerが7payみたいなことやらかすのでは?って疑問なら同意。たぶんそういう生成AIで俺たちでプロダクトなんか簡単に作れるじゃんよギークいらね(仕様バグあり)は一時は増えるだろうね)

追記ここまで

----

VibeCodingでIT技術者は不要になるのか?という話題が花盛りなのは理由があります

ギーク現場コードを書いていたい人)が分かる話からスーツ(人を集めたりお金を集めたり営業をする)が分かる話になってきたからです。

具体的に言うと、OpenAI社をはじめ続々とTDD(テスト駆動開発)でやってますみたいな、具体的な開発スタイルの話が出てきたから。

そうすると、現場の座組チョットワカルという強めの経営者が理解して判断し始めるんですね。

でもね、その道はもう15年も昔に我々は通り過ぎました。前回のブームと何が違うでしょうか?

オフショアリングは、ソフトウェア開発者インターンを全滅させる!

技術者なら電子機械も強電も弱電もお世話になったことのあるオーム社過去に出していた直球の本の話から

「My job went to India : オフショア時代ソフトウェア開発者サバイバルガイド」という書籍、何と発行年は2006年です。

かいつまんで話すと、インターネットが整備され、輸送コストほとんどかからないソフトウェア開発では、アメリカエンジニア給与の面でオフショアに歯が立たない、だって、1/10給与インドエンジニアは働くんだぜ?という本です。

そうした、価格競争力で負けるアメリカソフトウェアエンジニアは、如何にして今後サバイブすべきなのか、という本になっています

普通に面白いAIコーディング時代に通づるものがあるので復刊を希望したいところですが、まあ直球過ぎる題名を何とかしないと再販は無理でしょうな)

そして、JTCや外資わず過去オフショア開発経験された技術屋のみなさんははてブにも多く生息されているでしょう。

では、ジュニア開発者不要になりシニア開発者のみになって、いまのソフトウェア開発は主に安い給与で働いてくれるところに遠隔で作業してもらって、レビューだけすれば良い環境ですか?

そうはなっていません。なぜでしょうか。

コミュニケーションコストとは、数値化がしづらいだけで確かに存在しま

さて、今普通にXと連動する中古品売買プラットフォームを開発しようと思ったら、どうやってつくるでしょうか?

この文脈に埋め込まれたいくつもの情報「今」「普通」「連動」「中古品」「売買」「プラットフォーム」「開発」を解釈し、すり合わせ、未来運営者も含めた全員に伝えるためのコストが、コミュニケーションコストです。

そうなると、「ちょっと良い感じにラフでいいかプロトタイプ作って持ってきてよ」で話が通じるのは、受注者マインドがしっかりした日本受託開発現場の精鋭たちになるわけです。

テストケースだけを通過するように、内部テーブルを持たせた関数を大量に持ってこられてレビュー時に頭を抱えた経験が無いひとは、とても幸運なのです。

とは言え、これは何も文化の違いに起因するだけではありません。仕様とは、環境によって定まるものからです。

例えば、うるう年判定の関数は、1581年以前をエラーしますか?1873年以前をエラーしますか?(ヒント:明治六年)

そしてその仕様って、品質にどの程度影響しますか?

成功したすべてのプロダクトでは、最初テストケースを書くべきだった

テスト駆動開発、古い言い方で言えばテストファーストの考え方は、成功したすべてのプロダクトで例外なく、ただの一つの例外もなく、必ず最初から取り入れるべきだったものです。

品質最後に振りかける粉砂糖のようなフレーバーではなく、最初から設計に組み込むべきだからです。

ここに問題があります

ありとあらゆる趣味において、最初から良いものを使えば時間無駄にせずに済んだ、と言われるような初期投資の大切さが説かれます

果たして本当でしょうか?

そうです、その趣味にハマって生き残りサバイブした人から見れば、過去にその時点で投資をすべきだった、というのは正しいのです。

その趣味にハマれなかった人からすれば、少ない投資自分に合わないことが分かったという合理的選択であることと矛盾しません。

そのため、全ての失敗したプロダクトは、テストケースを書く時間プロダクトを作り上げて、さっさと世に問うべきだったわけです。

VibeCodingの境界線は、設計実装の不可分さに起因するが、それは組織構造に起因する

少し昔話をしますが、オフショア開発において重要なのはドキュメンテーションテストケース、それにレビューでした。

他の部署で失敗しつづけていたオフショア開発のやり方は、端的に言えば"教化"でした。

具体的には書けませんが、グッとお安い単価の国に出す仕事を、日本会社に出すのと同じようにすべく、相手会社メンバー教育して仕立て上げるブートキャンプの仕組みを作り上げていました。

発注側を変えずに済むように受注側を教育して、日本会社に出すのと同じように単価の安いところに出せたらお得ですよね?でもこれは必ず失敗します。

何故か。だって日本会社と同じように働けるようになったら、日本会社就職するじゃないですか。少なくとも価値は上がったんだから単価を上げるように交渉しますよね?

結局のところ、当初言われていたような劇的な節約にはつながらないわけです。それなら下手に転職されるよりも自前で現地工場でも立てて地元に貢献しつつ雇用を創出した方が喜ばれるし持続可能です。

小なりとも成果が上がった方法は、フィードバック相手ではなくドキュメントにした場合でした。

例えば先ほどの例で言えば、テストケースは通るが意図したコードにならなかったとき

普通はこういう意図コードを書くからテストケースを通るにしても、関数は次からこう書いて」というのが、相手に対するフィードバック

関数を書く前に、関数意図コメントで残して、レビュー時にはそれを見ましょう」というプロセスの修正が、ドキュメントへのフィードバック

こうすると、担当者退職していなくなっても、次の担当者はその方法を参考にすれば良いわけです。

これ、何かに似てませんか。現在AIコーディングベストプラクティスと呼ばれるものに非常によく似ているんです。

まりオフショア開発というのも、設計実装が分離できるという前提に立って動いていたんです。

そして、実装しながら設計しても問題ないとする場合、それは「技術的な問題」ではなく「組織構造」に起因します。

まりプロダクトの構造を分割して、オフショア開発側に設計実装とを委譲して、実装しながら設計を変えてもらうことが許容できるのは、契約責任分界点輸出入法規を含めた法務領域です。

我々が出来ることを相手が出来ないだろうと侮るのは傲慢です。

少なくとも当時、諸々をクリアにして相手側にプロダクトの一部を荒い設計と共に切り出して、コーディングしながら再設計してもらい、テストケースを完備したコードドキュメントを共に完成までもっていってもらったことは、大きな成果であったはずです。

(当時日本側と仕事をしたという実績があると大きな実力があるとみなされたと聞いたので、今はより良いところで良い仕事をされていると思います

なぜオフショア開発流行らなかったのか

ぼく発注あなた受注者という構造を変える気が無かったから。

(あと、コミュニケーションコスト輸出入の関連法規が複雑だから

少なくとも、納期までに契約たこれを納品してください、という枠組みの中では、実装作業だけ切り出すことはできない、というのが教訓として残ったはずです。

バイコーディングではなく)AIコーディングが主流になるとして起こること

少なくともあと数年、場合によっては10スパンで、日本ではほとんど変わらないと予想しています

これは技術の話ではなく組織構造や、もっと言えばお仕事の進め方と契約の話だからです。

そうは言ってもジュニアエンジニア簡単仕事が減って成長機会が失われているのは事実では?と思うかもしれませんが、そもそもの前提が誤っています

経験(弱経験)者を雇って戦力まで鍛え上げる必要があるなら、AI仕事渡してないでそのジュニアエンジニアやらせるべきなんです。

ジュニアエンジニアAIと両方にOJTさせて、その違いをレビューの場でフィードバックしてジュニアを育てるわけです。

もし、そんな時間は無いというなら、元々ジュニアエンジニアOJTで育てていたというのは幻想です。

(たまに、失敗が経験になるとして、会社に損害を与える方法ジュニアを"教育"しようとする人がいますが、商習慣的にも信義則違反ですし言語道断です)

シニアエンジニアだけで事足りるとしてジュニアエンジニアを雇わなかった企業は、シニアエンジニアが抜けてガタガタになります

これは中核エンジニアがゴッソリやめた会社が傾くなんて言う話で、昔からそうです。(たいてい、もっと人雇ってくれ待遇上げてくれみたいな悲鳴を圧殺した結果だったりします)

から、中堅がやれば手早い仕事新入社員やらせて鍛える、その代わり質は悪いし時間もかかるしフォロー必要だったわけでしょう。

AI時代が到来するとしても全く同じです。AIが出力するコードレビュー悲鳴上げてる場合じゃないんですよ。

レビューできるシニアエンジニアが足りなくなると予想されるなら、当然、ジュニアエンジニア雇ってレビューできるようにする必要があるんです。

そしてそれは、技術的な問題点ではなく、組織的・経営的な決断です。

最後に、なんで10年後は違うかもしれないのか

国産LLM開発の文脈でもそうなんですが、ハードウェア進歩無視して話をする方が多いのが気になります

現時点のコンピューターパワーは、10年後には手の届く価格になる可能性が十分高く、もっと言えば20年後には個人が所有する可能性すらあります

いまから20年前の2005年は、Youtube誕生した年です。その時に、誰もがいつも手元にビデオカメラを持ち、即座に動画世界に公開できるようになるとは思っていなかった頃です。

今もそうだと思いますが、ある分野で必要な性能にはもう十分という期待値があり、10年経てばある程度大きな会社部署単位現在最先端コーディングAIローカルで動くようになると想像するのは容易です。

そうなったときに、果たして営利企業が、エンジニアを育成するというコストを支払うかといわれると、疑問です。その時点で今後のリアルコスト比較対象可能になるので。

だって、筆耕担当者とか、清書担当者を雇わなくなった企業って、多いでしょう?

My job went to AI として、じゃあ残るものは何?というのはオーム社の本を読みましょう。再販しないかなあ。

蛇足

今後数年は変わらないでしょと書いたら今現在進行形で変わっとるわいと突っ込みが来そうなんで防衛的な意味で書いておくんですが、あなた過去数年間同じ仕事してたんすか?

仕事のやり方とか内容とか、言語とかライブラリとか、毎年のように変わってたでしょ。

レビュー比率が多くなったとか、コード書かなくなったとか、そういうの、たぶん管理職になった人が嘆いてたのと同じっすよね?

少なくとも、ジュニアエンジニアが低品質バイコーディング結果を寄越すようになってレビューが大変とか嘆くのなら、まともなコーディング規約一つ作れていない組織の脆弱さを嘆くのが先では?

手癖でバイコーディングしてヒットしたプロダクトに、あとから品質上げるように大工事するリファクタリングと言うよりリビルディング仕事って、別に今もありますよね?

散々テストケースを書かなくて良いプロダクトなんて無いという講演だけ聞きに行って、自分とこでテストケースが自動で走るようになって無いなら、そこが問題でしょ。

最先端企業が、ほとんど生成AIコーディングさせているから、あとは使う人間次第だって

2025-10-15

anond:20251014160123

アーキテクチャ問題ではなく事後学習問題のように思う

最近のGRPOのような強化学習による最適化有効性を考えると、極論、「考えてる風」な表層的な推論に完璧罰則を与えることができればこの問題解決する

しかしこの報酬メカニズムを実現する汎用性の高い緻密かつスケーラブルな方法を誰もまだOpenAIの研究者すら思いついていないんじゃないか

これは推論をどのように評価すべきか、という問題数学コード生成では予め定められた解答出力の可否だったりテストケースの通過だったりと一定解決が与えられているものの、チャット等の一般ドメインにも展開可能方法を考えるのはすごく難しくて深淵問題

2025-07-18

いかお金時間に関わる機能についてはテストコードを書け。

絶対にだ。

面倒だから時間がないから、書き方がわからいから。

そんな言い訳はいらない。書け。

書かなかったら後でみんな苦労する。おまえも含めてだ。

約束だぞ。

絶対だ。

テストを書くんだ。

-- 重要かつ複雑なロジックテストコードが書かれていなくて、他人の書いた既存コードからテストケースを洗い出す羽目になった者より愛と憎しみを込めて

2025-05-23

トランプ政権政策は、極端に国内向き・内向きというか、「金持ち外国人が贔屓されている!俺らが貧乏なのは奴らのせいだ!公金チューチューをやめさせ、外国人を救う金を俺らに回せ!海外から物を買うのを止めろ!」みたいな●●層向けを突き詰めていってるので、これでアメリカ経済おかしくなるならテストケースとしては参考になる

2025-04-06

GOROmanって一見ガチガチエンジニアっぽく見えるけど文系出身だけあって普通に典型的文系経営者的な目線なんですよね

最終的にできるものけが重要

過程を見ることはサンクスコストに繋がるから徹底的に自分の中から排除

エンジニアからマネージメント経営を目指してるならそのやり方は参考にできるけどそうでないならわりと相反してるから先行技術紹介屋ぐらいで見といたほうがいいと思う

まあJavaScriptメインのWeb屋ならテストケース担保に毎回結果だけ求めるって方針も十分可能から野次第でもあるけど

2025-03-22

anond:20250322224933

「難しい」って言い方が悪かったかもしれない

システム階層化されていないってことは、各階層のコーナーケースだったものが全部表層に来ることになる。つまりテストケース数が組み合わせ爆発を起こす

テスターいくら賢くても物理的なリソース限界は超えられない

2025-03-11

anond:20250311225317

上流工程の人「○件しかテストケース作成してないんですか?テスト漏れでは?品質保証は?」

上流工程の人「○件しかバグが発生してないんですか?テスト漏れでは?品質保証は?」

上流工程の人「○件もバグが発生したんですか?品質悪すぎでは?全体の品質保証は?」

こうやぞ

anond:20250311224949

テストケース工数あたり○件作成しないといけない人がいるんやで

2025-02-05

プログラミングできます!」→できない

JTCで「プログラミングできます!」って言ってる人で本当にできる人見たことない

新入社員ならまだ全然OK

想定の範囲内だし、中にはそこそこ出来る奴もいる

問題は中堅社員ぐらいで「プログラミングできる」「ゴリゴリ書いてる」とかいう人

申し訳ないけれどほぼほぼ出来ない

要するに本当にプログラミングできる人はプログラミングをするような仕事をしている

そしてJTCにはそういう仕事がないのでベンチャー外資に行ってる

「うちはプログラミングで開発する部署があるよ?」

っていうJTCもあるけど、よく考えてくれれば分かるんだけどJTCの作り出すソフトウェアプロダクトでまともなものを見たことないでしょ

N〇Tとか富〇通とかN〇Cとか9割9分ぐらいでまともなソフトウェアがない(1%ぐらいはあるかもしれない)

彼らはバグがないことに命を削って開発をしていて、実際に使って貰えるかどうかなんて一切考えてない

からとにかくテストケースを作ってそれに対処するために膨大に作業時間を増やして

それを場当たり的な対処で乗り切るのでアホみたいに残業してる

結果として、そういう知識は何も要らず作業としてのプログラミングばかりやることを「ゴリゴリ書いてる」などと言ってしま

そんなところで開発してたとしても、申し訳ないがプログラマーとしては下の下ぐらい

生成AIに置き換えられる一番最初プログラマー

まり、JTCで「プログラミングできます」って言う人はそういう部署で一時期ゴミコードを量産してたか

もしくは学生時代知識が止まってるかのどっちかで、実際に書かせてみたらマジで全然ダメ

どれぐらいダメかっていうと

「開発環境だと動くのにAWSに移すと動かない」

って言ってて見てみたら普通にlocalhostってハードコードされてるとか

Dockerなら動いちゃう場合もあるからこれまで何も考えず実装してたけど実はlocalhostってどういう意味か分かって無いっていうね

そんな奴らばっかりだし、なんなら生成AIのせいで良く分からコピペしてる奴も出てきてマジでカオス

そういう奴が管理職になったりしてプロジェクト引っ張ってるからマジでゴミしかまれてこない

研修ばっかりやってて研修会社コンサルに良いようにむしり取られてる

アホすぎてやってられんわ

2024-12-18

anond:20241218144618

そう。すごいうまいことやってる。

でも、ああいインディーズニッチ顧客ニーズに合わせたのを少数作ってくれたら、それをテストケースとしてちょっとマイルドなやつを大手が出せるからもっとあいう人が増えたらいいとは思うよ。

2024-12-08

anond:20241208190638

テストケース入力データと出力想定データがあれば発達でもできるだろうけど、自動化した方が早いでしょ

2024-09-23

都心ドーナツ化していく

今まで通勤通学遊びで数十分かけて都心に集まっていた人々は新しい生活様式を覚えて少しずつ変容していく

家で働けるなら買い物も手近で済ませたいのが人の性、ベッドタウンにほど近いが車は使わずに行ける駅前商業施設既存のものからリプレイスされていくだろう

具体的には大きい本屋駅前商業施設に集約され、都心にはむしろなくなる

ハッキリ現れてくるのが本屋というだけであってハイブランドになりきれないアパレルも同じ道をたどるだろう、例えばGAPとかユナイテッドアローズとか

家電量販店都心に集まる意義は薄れていくだろう、インバウンド需要などのニーズは不変ではない

都心に強い大手家電量販店郊外に出店するのは売上ではなく収益のためである


こうした駅前商業施設を中心に置くサテライト都心関東広域数か所に集約され、住民の取り合いの競争がより高まる

大宮駅前みたいなのはまあ別格として、そこからワンランク落ちるところの駅前都市平均レベルがぐーっと上がる感じだと思ってほしい

私が想定しているのは明日大型商業施設オープンする所沢駅前で、都心には数十分かかるが買い物にはその半分もかからないようなエリアで、このあたりには新所沢駅パルコ小手指駅には大型の西友小手指店があり意味もなく分散されていたがともに閉店し、これが交通要衝である所沢駅に集約されたわけだ

意味のない分散地域の発展に貢献してきたが成熟したり役割が変わった現今の環境には非効率な移動を強いられ適さな

これが買い物に行くなら一箇所に行けばいいとなるわけでみんながハッピーになれる上に秩父川越、何なら東京都でも清瀬東村山あたりからなら都心に行くより安くて速い


今後は鉄道各社がこうしたサテライト都心を周辺自治体連携して強力に推進していく

コロナ渦で鉄道会社は鉄道収益だけでは危ういことを実感しただろう、さら人口減少が重なるために都心ですら営業係数の悪化は避けられない

省人化は人の集まる都心例外ではない、ワンマン運転では飽き足らず、自動運転によるゼロマン運転現実味を帯びてきている

もちろん現段階では整った状況(東北新幹線を想定している)でのみ成立するものだがこれをテストケースとして都心鉄道全てを自動運転化するのは既定路線だろう(私が死んでるくらいには先の話として)


結局何が言いたいかというと、鉄道各社の利益追求姿勢とそれに賛同する企業の思惑により都心利便性関東広域に分散化されるということだ

これはいいことしかない、東京一極集中是正される

通勤ラッシュも、都心の溢れんばかりの人の波も、その多くは東京都心に籍を置かない浮動人口の与える影響が大きいもの

サテライト都心が便利になればなるほど、都心差別化してより高い山を築くしかない

背伸びして都心に居座ってた企業も無理してオフィスを構える必要がなくなる

これは格差拡大の齎したメリットひとつです

よかったですね

2024-08-22

面白かったころのITを書いてみる

単体テストというのは、画面を手動で操作してスクリーンショットを撮る仕事だった。エクセル仕様書を書き、レビューをしていたが、レビューアーはテストケースよりも、枠線の整え方に気を配っていた。

誰かが自動テストを導入しようと言い出した。「再現性がある」「保守性が高まる」「もっと良くなる」と口々に言われていた。

でも、テストコードを開発する工数はどうするのか、開発コードが増えればさらに大変になるのではないか不安があった。

それでも、これが実現すれば、何かが大きく変わる予感がした。

 

アプリケーションフレームワークStrutsだった。フォームポストする瞬間にカオスが生じ、50行の無駄コードを書き、100行の読みにくいコード理解することが技術者の条件だった。

ある人が「レイヤリング」という概念を持ち出し、別の誰かが「DI」と言い出した。アプリケーションアーキテクチャという言葉も登場し、ファウラーという人物名前も聞こえるようになった。

新しい構造提案され、それに影響を受けながら、「いつかは美しいアプリケーション構造が生まれるのかもしれない」と夢を抱いていた。

 

当時、PerlCGIを作っていたが、PHPRubyが登場した時は、正直Web"サイト"を作るためのものだと侮っていた。

しかし、次々と洗練されたWebアプリケーションフレームワークが生まれStrutsJavaEEよりもはるかに使いやすくなっていった。

数多くのWebフレームワークの中で、どれを選ぶべきか悩みながら、「いつか完璧Webフレームワークが現れるかもしれない」と期待していた。

 

サーバー冗長化され、ReversProxyを使い、セキュリティのために構成を変更してきた。そしてクラウドが登場し、Dockerなんて本番で使えないと言っていた時代から

気がつけばどこに存在するのかもわからないクラスターの中で、コンテナアプリが動いている時代になった痛快だ。

かつてLinuxマシン一台を「鯖」と呼んでいた時代から世界は目まぐるしく変化し続けるとかと思っていた。

 

誰かがAjaxと言い出し、別の誰かがReactと言い出した。「こんな方法HTMLを作って良いのだろうか?」と疑問に思いつつも、「Webアプリケーションだ」という感覚が強まっていた。Webアプリケーションがどう進化していくのか、未来を感じることができた

 

私たちは、ソフトウェアを開発すること自体に大変さを感じていた。新しい技術フレームワークが次々と登場し、その都度課題解決される一方で、新たな課題生まれる。これほど面白いことはなかった。そしてエンジニアたちには一体感があり、誰もが自分なりの方法課題解決し、そのフィードバックループ世界を動かしていた。だからこそ、今は少しつまらない。変化は穏やかになり、「お金を稼ぐ」という目標けが共通となり、課題は個々の事象に閉じ込められている。しかし、それが悪いことではない。ただ、私たち時代が変わったのだ。

 

かつては、私たちの目の前には普遍的課題があり、それぞれがそれぞれの場所課題解決し、そのフィードバックループ世界を動かしていた。

生成AIで例えると、それをどう使うかではなく、エンジニア一丸となって生成AIチューニングしていた。世界情勢で例えると、世の中の飢餓を全世界の人がアイディア出して、解決しようとしてたいた。

今でも、普遍的課題世界中に転がっているが、それらは高度で、私たちには手が届かないものが増えてしまった。

IT面白かった。プログラミングが分かるだけで、世界課題を一緒に解決できる時代だった。それぞれが自分場所で働くだけで、世界を動かしていた。そんな時代が終わってしまったと感じる。

  

老害といえば昔話だろ!

2024-07-03

anond:20240703042923

先日「属人化してワイのコード絶対守るマン」おじいちゃんコーダー高学歴の若手にリプレースされた。

フロントエンドはそれでもいいと思うよ。

webの画面とかはロボットに作らせたほうが品質高そうだ。テストケース作成自動で作れるし。

どうせ5年ぐらいでアップデートすることになんだし。

 

基幹系はそれじゃまずいと思うけど。

2024-06-25

anond:20240625205616

そしてテストケースも同一人物が書くのでバグ抽出できないところまで読んだ

2024-06-13

いい加減なテストケース残業するの苦行なんだが…

ほらー

絶対実装者と設計者が想定してないバグが出ちゃったじゃん…

こっちはどんなにテストやっても何の特にもならないのに、こういう事で手が止まるのがすごい嫌なんだけど…


仕様書も残さな

面倒臭いのは「仕様だ」って乗り切ろうとする

ソース属人的で同じような処理がぐちゃぐちゃ

そのソースを正にするから手間ばかり増えて、工数ばかり増える

おまけに、正しく動く事しかテストしない


あんな良い加減な実装方針するから取りこぼす…

機能とか、改修とかって言ってる場合じゃないじゃん…

2024-06-06

行間デカテストケース作成するやつは見習いからやり直せ!

途中参加のメンバーがあーだーこーだ言うのもなんだけど…

「全て」「正しく」「表示される事」って何だよ!

結局、全部仕様洗い出して、証明方法を考えなきゃいけないじゃん…


あと、アレとコレとソレが正しいかをまとめて1つのチェック欄にまとめるみたいな欄を作るな

全部分けないから、取りこぼしが起こるんだよ…

それに最低限のテストケースしか書かないから、

経験上よくバグが起こりやす操作をやると案の定バグが出る…

勘弁してくれよ…

2023-11-15

anond:20231115023445

あなたがどんなプロジェクトに関わったか知らんけど少なくともエッジケースのテストケースは考えるよね?

なりきりチャットならやめてくださいね

2023-11-08

anond:20231108152323

テスト仕様書

if (AAA >= XXX) foo()

に対して

AAA が XXX 以上の場合は foo処理 を行う

と、コードと一対一に対応するようにテストケースを書くように指示するSEがいた。

こんなテストケースは、コンパイラバグってない限りバグなんて起きようがないんだけど、そういう指示だから言われた通りに作業していた。

テスト工程が終盤に差し掛かった時に、そのSEが急に「バグ率はn%程度でないといけないから」と言い出して、仕方なくバグ捏造したことがあったわ。

下流工程経験のないSEはだめだな。

ログイン ユーザー登録
ようこそ ゲスト さん