Column
現場から、ちょっとした話。QA・AI・ツール開発にまつわる気づきをゆるく。
ツールや取り組みの背景をまとめた読み物です。
スタートアップのQAって、何から始めたらいいんだろう
テスト設計書もなく、仕様書もSlackに散らばっていて、「テストよろしく」とだけ言われる現場。そこで最初にやるべきことを整理してみた。
テストパターン集をつくった
「結合テストってどう書くんですか」と聞かれるたびに、うまく答えられなかった。ネットを探しても、ログイン以外のパターンが出てこない。だから自分でまとめることにした。
「これ、バグですか?」って聞くの、しんどくないですか。
テスト中に1日何度も出くわす「これってバグ?」。聞く前の一手間をなくしたくて、スクショを貼るだけでバグ/仕様/不明を判定するツールを作りました。
AIにバグの状況を説明したら、再現手順まで書いてくれた話
スクリーンショット1枚とちょっとした説明を渡しただけで、起票できるレベルの内容が返ってきた。このツールを作ろうと思ったきっかけ。
テスト・リリース・バグ報告。QAの現場でよくある場面を、実務目線で。
QAで一番怖い報告は「動きません」ではなく「直しました」だった話
「直しました」を確認してクローズした一週間後、触っていない欄で別の不具合が発覚した。原因は「似たようなコードなので共通化しました」という、報告されない変更だった。
郵便番号の0がぜんぶ消えていた。犯人はCSVではなくExcelだった話
取込は成功しているのに、郵便番号だけ桁が足りない。犯人は取込処理ではなく、担当者が一度Excelで開いて保存したことだった。データは、人の手を通る旅の途中で静かに壊れる。
【検証実話】生成AIに「削除」と頼んだら、物理削除で実装されていた話
画面上は正しく削除できている。でもDBを見ると、レコードそのものが消えていた。「削除」の一言に、どこまでの意味を込めていたか。
【検証実話】生成AIで実装したら「いいね!」で更新日時まで変わった話
「いいね!」を押しただけで記事の更新日時が変わり、一覧の並び順が崩れた。「データの更新」と「記事の更新」は同じではない。
金曜17時、「これ今日出しちゃっていいですか?」
週末前の駆け込みリリース。出したい気持ちはわかる。でも、誰が監視するのか、誰が戻すのかを決めないまま出すのは、ただの賭けだ。
「再現しません」で突き返されないバグ報告
せっかく見つけたバグが「再現しませんでした」で戻ってくる。原因の多くは、バグそのものより報告の書き方にある。
「仕様です」の一言で、片づけないために
「それ、仕様です」と言われて引き下がったバグが、リリース後にユーザーから同じ指摘で返ってくる。仕様とバグの境界線は、誰が引くのか。
QA・AI・現場にまつわる、自分なりの考えを書いていきます。
proj コマンド1つで Claude Code をプロジェクト別に起動する
WSL環境で proj と打つだけで、VS Code と Claude Code が同時に立ち上がる仕組みを作った。ポイントは Claude Code の環境変数を env -u でクリアすること。
生成AIで作ったテスト項目書は、なぜ現場を止めるのか
AIが作るテスト項目書は、見た目がきれいだ。でも、きれいな表であることと、抜けがないことは違う。仕様書の鮮度、補完された観点、実施できない確認——品質保証が難しい理由を書いた。
プログラマーになるな。検証できるエンジニアになれ。
「テストやって」と言われた瞬間は、悔しい。でも十年後はわからない。言語は変わっても、何を疑うべきかを見抜く力は残る。AI時代に強いのは、検証できるエンジニアだ。
AIをうまく使う方法は、丸投げだった。
AIが使えないのは能力じゃない。「丸投げ」を学ばなかった文化の話だ。完璧な指示をやめて、まず投げる。料理のレシピ相談を例に書きました。
AIは武器か、平均点製造機か。
頼めば記事を書く。頼めばコードを書く。でも、頼み方を知らない人間が使うと、きれいな凡作が出てくる。最適解は、平均値に近い。
Claude:A氏、Claude:B氏、Claude:C氏
Claudeには影武者がいることをご存知だろうか。朝投げた質問を夜再びすると、全く別の答えが返ってくることがある。そいつが影武者だ。
ボールのキャッチは下手でいい
「これ、誰かやってくれない?」全体に向けた言葉は、誰にも届かない。昔の自分は、手を挙げていた。——拾う神に、なり続けなくていい。
この話は、誰に語り継がれるのだろうか
さるかに合戦を知っているだろうか。カニがおにぎりを拾う。サルが柿の種と交換しようと言う。——昔話の構造は、何百年も変わっていない。