直近1週間の更新
11/9 (月)

【JaSST'26 Niigata参加レポート】QAの「暗黙知」をAIとの比較で見つける
1
ソフトウェアテストタグが付けられた新着記事 - Qiita
はじめに2026年9月18日に開催された JaSST'26 Niigata に参加してきました!いろいろな発表を聞いた中で、「これはぜひ紹介したい!」と思った事例発表があったので、この記事でシェアさせてください。📌 紹介する発表「QAエンジニアの暗黙知を可視化す...
9時間前

テストのないレガシーコードにClaude Codeでテストを足す順番:分岐・お金と権限・過去のfixをスクリプトで数えて決める
Zennの「Test」のフィード
※ この記事は Claude Code(AI)を使って執筆し、掲載しているコードと出力例はすべて実際に実行して確認しています。テストのないコードにClaude Codeでテストを足すとき、「どの関数から書くか」を任せきりにすると、書きやすい関数ばかりにテストが付いてしまいます。この記事では関数ごとに分岐の数・お金や権限に関わる語・過去のfixの回数・既存テストの有無を数えて順番を出し、その順にテストを書かせる手順を紹介します。小さなPythonのコードで実際に動かした出力を載せています。 試したコードネットショップの注文処理、という想定の小さなリポジトリです。テストは1本もなく...
14時間前

デイトレの合図の逆をやっても負けた。負けていたのは合図ではなく、売り方だった
Zennの「Test」のフィード
日本株のデイトレードBotを、実弾ゼロのドライランで検証しています。これまでに数百通りの改善案を試し、どれも基準を通りませんでした。今回、その「通らなかった」の中に、合図の良し悪しではなく、売り方のせいで負けていたものが混ざっていたことに気づきました。この記事はその記録です。 記録していたのに、判断には使っていなかったこのBotでは、証券会社(三菱UFJ eスマート証券)のkabuステーションAPIで、朝に選んだ20銘柄の板(気配の厚さ)と現値を約1.5秒ごとに記録しています。過去の板はAPIで取り直せないので、毎日ためています。ところが、ドライランの売買の判断は、夕方にYa...
15時間前

Gitへ入れた生成物のSHA-256が変わる:改行変換を.gitattributesで止める
Zennの「Test」のフィード
生成したファイルが変わっていないか確認するため、ファイルごとのSHA-256を一覧に保存しています。ところが、Gitへ入れる過程で改行が変わると、生成直後は通った検査が、Gitから取り出したファイルでは通らなくなります。生成物は元のバイト列を保存する方針にし、そのフォルダだけGitの改行変換を無効にしました。 文章が同じでも、ファイルのハッシュは変わる改行にはLFとCRLFがあります。画面ではどちらも普通の改行に見えますが、バイト列は異なります。SHA-256はバイト列に対して計算するので、改行が変われば結果も変わります。HTMLやJSONの内容が読めることと、生成時のファイル...
16時間前
11/8 (日)

単体テスト29件が全緑なのに、本物のn8nでは2箇所で壊れた話 — 有料テンプレ出荷前のE2E検証
Zennの「Test」のフィード
TL;DRn8n の有料テンプレート(楽天カード明細CSVからサブスクを自動検出するワークフロー)を出荷する直前に、Docker の実 n8n で通し検証をやった検出ロジックの単体テストは vitest 29件すべて緑。それでも実環境では 2箇所で確実に壊れる状態だった原因はどちらもロジックではなく、現行 n8n のセキュリティ既定値。「テスト全緑」と「実環境で動く」は別物だった 作っていたもの楽天カードの明細CSVを n8n に読み込ませると、「別々の月に2回以上・ほぼ同額」の課金をサブスクとして検出し、年額換算と解約ページURL付きで一覧化するワークフロー。検出ロ...
1日前

要求定義ではじめる認知的降伏の防ぎ方
1
Zennの「Test」のフィード
サマリーAddy Osmaniさんの Critical thinking when agents do the work を読み、「認知的な降伏」という言葉を知りました。自分も日々AIエージェントの出力する大量のアウトプットに圧倒され、すでに自分で考えることを放棄しつつあり、自分で何をやっているのか他人に説明できない状態が訪れつつあることを実感しています。これを危惧しています。生成AIという名の通り、彼らは出力することに特化した技術ですので、人間がすべてを把握しながら進むのはもう不可能であると諦めています。コードベースを読むことは読みますが、そこまで深くは読んでいません。とい...
1日前

カバレッジの低いcronパーサーにテストを足したら、mon と日曜の7が一致しなかった
Zennの「Test」のフィード
はじめにcron式を日本語・英語で説明して、次回の実行時刻を出すツールを公開しています。ロジックは CronParserTool というクラスに分けてあり、テストも書いてありました。先日、vitest にカバレッジ計測(@vitest/coverage-v8)を入れました。全体は悪くない数字でしたが、ファイルごとに見ると低いところが4つありました。その中の cron-parser.ts にテストを足していたら、実際に使われる書き方が動いていませんでした。 その記録です。先に結論です。0 0 * * mon や 0 0 * jan * は、次回実行が空になる曜日の 7(日...
1日前

AI作業の時間集計で、未入力と0分を分ける小さな実装
Zennの「Test」のフィード
AIを使った作業の比較では、準備や出力の確認にも時間がかかります。さらに、まだ測っていない工程を0分として足すと、比較結果が変わってしまいます。大創社の公開デモ「AI試行計画ノート」を例に、時間の入力と集計の境界を説明します。このデモは、利用者が時間を入力するノートです。ストップウォッチやAIによる自動評価の機能はありません。 確認した版と再現環境対象は DAISOSHA/ai-pilot-planner のコミット 6e40e7af195f8f6af9845a841d63d08cc93a2cda です。2026年11月8日に、公開コードの構文・既存テストと、同じコードを置いたl...
1日前

AIが書いたテスト24件、バグありアプリで全部『成功』。直したら9件『失敗』した
Zennの「Test」のフィード
miharubaの池谷です。AI技術の検証の仕事をしています。この記事では、私のUdemy講座の題材で確かめた、少し意地悪な実験の話をします。AIにテストを書かせて、不具合のあるアプリと直したアプリの両方で流したら、どうなったか、という話です。 不具合のあるアプリで、テストが全部成功した題材は、問い合わせを登録して一覧で見る、小さな管理アプリです。このアプリを二つ用意しました。ちゃんと動く「正常バージョン」と、わざと不具合を入れた「不具合バージョン」です。不具合は、たとえば必須の入力が空でも登録できてしまう、というものです。まず、AIに書かせたテスト24件を、不具合バージョンで流...
1日前

なぜAIが書くテストコードには血が通っていないのか
Zennの「Test」のフィード
!この記事は、AI(Claude Opus 5.5)が自分の書くテストコードについて行った自己分析です。構成と本文はAIが書き、人間がレビューしたうえで公開しています。 はじめにClaude CodeなどのAIエージェントにテストコードを書かせることが当たり前になってきました。「このモジュールのテストを書いて」と頼めば、数十秒でテストファイルができあがり、すべてグリーン、カバレッジも上がります。それでも、AIが書いたテストを読んだ開発者は、どこかに引っかかりを覚えることがあります。正しそうだし、通っている。でも、このテストが将来なにかを守ってくれる気がしない。この記事では、...
2日前
11/7 (土)

ディクテーションの自動採点で「つづりミス」と「別の単語」を分ける線を、2回引き直した
Zennの「Test」のフィード
TOEICの学習アプリを作っている。ディクテーション(聞こえた英文を打ち込む)の画面が、ずっとこうなっていた。単語ごとに自己判断してください。1. He's [◯ 聞き取れた] [✕ 聞き取れなかった]2. placing [◯ 聞き取れた] [✕ 聞き取れなかった]3. a [◯ 聞き取れた] [✕ 聞き取れなかった]4. paper [◯ 聞き取れた] [✕ 聞き取れなかった]...8語の文なら、8行×2ボタン。 毎回これを押す。ある日気づいた。正解の英文も、打ち込んだ文字列も、画面にある。突き合わせれば機械が判定で...
2日前

2026年アイデアログ開発チーム合宿実施レポート
Zennの「QA」のフィード
株式会社アイデアログでCTOをしている松川です。会場ベストサーチやスペなびといった、会場・スペース探しのサービスを作っています。10月は、開発チームの合宿と、社外のCTO向けイベント(CTO Night & Day)に参加しました。なお、10月19日〜21日に参加したCTO Night & Dayは、会場で聞いた話を外に出さないルールのイベントです。なのでここに書くのは、合宿で起きたことと、イベントから帰ったあとに自分が考えたことだけです。 合宿のテーマを「連携」にした10月15日〜16日に、開発チーム12名で1泊2日の合宿をしました。去年の合宿のテーマは「成...
2日前

JSON台帳の部分読みで、同じ結果をどう確かめるか
Zennの「Test」のフィード
再試行で通った監視を、そのままにできなかった定期処理の結果が共有先へ反映されたかを、AWS Lambdaで監視していました。監視は、過去の結果を蓄積するJSONファイルを毎回丸ごと読み、今回の処理に関係するレコードを照合します。この記事では、そのJSONを「台帳」、1回の定期処理を「run」と呼びます。あるとき、監視がタイムアウトしてアラームが鳴りました。時間切れになると、その実行では検査を完了できません。再試行は正常に終わり、データへの影響はありませんでしたが、ログを振り返るとメモリ使用量が割り当ての上限へ近づき続けていました。まずメモリを増やして止血しました。その後、監視が...
2日前

OCRの同値分割と境界値、実際のテストコードで見る
Zennの「Test」のフィード
対象はOCRエンジンそのものではありません。エンジンが返した結果を受け取ったあとの、ルールで書かれた部分です。アップロードサイズの上限、信頼度による振り分け、識別番号(IMEI)の妥当性チェックの3つを扱います。認識精度のほうは、出力が毎回少しずつ揺れるので、サンプル画像セットと閾値付きの比較で見ています(その方法は前に書きました)。後処理は入力が決まれば出力も決まるので、古典的な技法がそのまま効きます。そして、実際に不具合が出やすいのもこちらでした。コードはこの記事のために新しく書いたもので、実際の案件のコードではありません。上限の10MiBや信頼度0.90も記事用の値です。テスト...
2日前

なぜ、AI時代になって、ものづくりが非常に大変になったのか?
1
Zennの「品質」のフィード
はじめにAIの発達によって、誰でも簡単にものづくりができる時代になりました。プログラムを書き、イラストを描き、文章を作り、設計図を引くといった作業は、かつて専門的な技能を習得した人間でなければ困難でした。しかし、現在ではAIに指示するだけで、一定以上の品質を備えた成果物を短時間で得られます。ものづくりの参入障壁が劇的に下がったことは間違いありませんが、ここには重大な逆説があります。ものを作ることが簡単になったにもかかわらず、ものづくりによって価値を生み出すことは、かえって難しくなったのです。なぜなら、AIが得意とする品質と、人間が本当に求める品質には大きな違いがあり、しかもAIの普...
3日前
11/6 (金)

「直った」の確信を、代わりの合図から取らない
Zennの「Test」のフィード
ある週、同じ形の失敗を何度か踏んだ。どれも「直したはず」「できているはず」と思い込んでいて、実際には別のものを見て安心していた、という失敗だった。あとから並べてみると、確信を「本物の状態」ではなく「その手前の合図」から取っていた点で共通していた。 CI が緑でも、中身は入れ替わっていなかったデプロイのジョブは緑だった。ところが中のステップは「組み立ては別の場所でやる」という理由で SKIPPED を出して、そのまま正常終了していた。緑はジョブが落ちなかったことしか保証しない。本番に入っているコミットと、配備の状態ファイルを読んで、ようやく「何も入れ替わっていない」と分かった。それ...
3日前

【JaSST'26 Niigata 参加レポート】AIに任せた品質は、誰が見立てるのか
ソフトウェアテストタグが付けられた新着記事 - Qiita
はじめに2026年9月18日に開催された JaSST'26 Niigata にオンライン参加してきました。今回のテーマは「AI時代のQA Re-Engineering —— 思考の純度を高め、品質の壁を突破する」でした。LayerX の中野直樹さんによる基調講演「AIに...
3日前

hasAttribute は aria-disabled="false" でも true を返す。属性名だけ置換したらテストが空洞になった
Zennの「Test」のフィード
!2作目のポートフォリオとして「Hubpin」(分散した発信を1か所に集めるハブサイト)を作りながら書いています。リポジトリ: https://github.com/Matsutake29/hubpinNext.js(App Router) + Supabase + Tailwind CSS並び替えボタンで、フォーカスが消える不具合がありました。キーボードで切り分けると、消えるのは「移動先が1番目のとき」だけで、原因は disabled={index === 0} でした。disabled な要素は、フォーカスを保持できません。そこで disabled を aria-...
3日前

AIエージェントのテスト設計 ― 実行結果と判断過程をどう評価するか
Zennの「Test」のフィード
従来のWebアプリケーションでは、入力に対して期待する処理結果を定義し、テストで検証する。AIエージェントでも基本は変わらない。ただし、LLMがToolの選択や実行順序を判断する場合、同じ依頼でも異なる手順で処理される可能性がある。そのため、正しい業務結果が得られたかだけでなく、そこに至る操作が適切だったかも評価する必要がある。本記事では、社内の経費精算システムを例に、AIエージェントの機能テストを考える。特に、結合テスト・システムテストでLLMの振る舞いをどう評価し、合格基準を設計するかに焦点を当てる。性能・負荷・障害耐性などの非機能テストは対象外とする。 1. 従来のWe...
3日前

Amazon Bedrockで挑む、自治体AIコンタクトセンター(AWSぶっちゃけ討論会vol.7)
SHIFT EVOLVE グループの新着イベント
開催日時: 2026/12/16 19:00 ~ 20:30<br />開催場所: オンライン<br /><br /><h2>Amazon Bedrockで挑む、自治体AIコンタクトセンター(AWSぶっちゃけ討論会vol.7)</h2><p>AWSを長年利用してきた人にしかわからない、リアルな問題や対策法をざっくばらんにディスカッション。教科書に載っていない、検索しても出てこない、AWS活用の現実を掘り下げます。</p><p>今回は、AWS Summit Japan 2026でCfPを通過したセッション<a href="https://speakerdeck.com/shift_evolve/20260626-taku-nishizawa-and-satoshi-torano" rel="nofollow">『区民の問い合わせ、AIにどこまで任せる? 品川区×SHIFTが挑む自治体音声AI実証の現在地』</a>を題材に、当日15分の講演枠では語りきれなかった開発の裏側...
3日前

複数のプラットフォームで画像比較を成功させるための方法
Ranorex Blog - テスト自動化ツール 『Ranorex』
※本記事は、Ranorexの画像検証に関する基礎知識をお持ちの方を対象としています。※Ranorex ハンズオンセミナー(初級・中級)を受講することで、Ranorexの画像検証について学習いただけます。 Ranorexの […]The post 複数のプラットフォームで画像比較を成功させるための方法 first appeared on テスト自動化ツール 『Ranorex』.
3日前

善意では、人は動かない ── Folio v3 公開βのしくみ
Zennの「Test」のフィード
この記事は、Folio を運営する株式会社AKIMA が書いています。2026年11月6日に、Folio v3 の公開βを始めました。「テストしてください」X で何度つぶやいても、誰も触ってくれない。善意では、人は動かない。だから Folio は、報酬を払って、契約で動かすことにしました。作っただけで、終わらせない。 Folio v3 とはアプリは作れた。でも、触ったのは自分と AI だけ。この状態で公開すると、初めて使う人がどこで止まるかを知らないまま出すことになります。出した後に、最初に使ってくれる人へどう届けるかも、作った人が一人で抱えがちです。Folio v3...
4日前
11/5 (木)

AIに採点させて品質を上げる:100点満点の採点役と、直す役を分けた改善ループ
Zennの「品質」のフィード
AIにコードを直させると、「改善しました」と報告してくれます。でも、本当に良くなったのかは、報告だけでは分かりません。この記事では、AIに採点させて、その点数を上げていく改善ループを紹介します。個人で公開しているリポジトリ15個に対して、採点と修正を5周まわしました。平均点は73点から、およそ85点まで上がりました。一番のポイントは、採点する役と直す役を分けることです。 なぜ役を分けるのか同じAIに「採点して、直して、また採点して」と頼むと、点数は簡単に上がります。ただしそれは、品質が上がったからとは限りません。自分が直したところを、甘く見てしまう「直した」という記録(変...
4日前

並行テストは、割り込みが起きたことまで確かめる
Zennの「Test」のフィード
全通り試しても、直列にしか動いていなかった共有ファイルをBotと再生成用のLambdaが更新する処理で、追記が消えないことを確かめたかった。読む処理と書く処理の間へ別の更新を差し込むテストは、すでにありました。ただ、AIエージェントが並行処理のセルフレビューをするたびに、割り込みを再現するスクリプトを作り直していました。そこで、操作の直前で書き手を止め、どちらを1手進めるかを全通り試す部品へ移しました。ところが、部品自身のレビューで、最初の操作だけを止める設定でもテストが通ることが分かりました。2本が同時に待っていても、片方が読み書きを全部終えてから、もう片方が動いていたのです。...
4日前

Playwrightテスト失敗時にスクリーンショットを自動保存する(GitHub Actions)
1
Zennの「Test」のフィード
GitHub ActionsでPlaywrightのE2Eテストを実行している場合、テスト失敗時に失敗タイミングのスクリーンショットを残しておくと原因調査が楽になると思い、設定してみました。特に面倒な事とかはしてないのでメモ的に....。 設定方法playwright.config.tsexport default defineConfig({ use: { screenshot: 'only-on-failure', },});workflow.yml- name: Run Playwright tests run: npx playwright...
4日前

BLOG de プレゼントキャンペーン2026
MagicPod Blog
🎄MagicPod BLOG de プレゼントキャンペーン2026🎁今年もやります!年末恒例のMagicPod BLOGキャンペーン✨ご参加いただいた方全員に、素敵なプレゼントをお送りします🎁💡参加方法「MagicPod」に関する記事を公開(500文字以上)公開後、申し込みフォームからキャンペーンにお申し込みこのページの「投稿記事一覧」にあなたの記事が追加されます(掲載に同意いただいた方のみ)個人ブログ、Zenn、Qiita、note、所属企業のテックブログなど、投稿先は自由です。✨ 記事テーマ例MagicPodを使ってみた感想やお気に入りの機能「MagicPod MCPやってみた」など、AIと組み合わせた活用例新機能を試してみた話テスト自動化の工夫やチームでの取り組みうまくいかなかったこと、最初につまずいたところとその解決策MagicPodイベントやコミュニティ参加レポートなど、「MagicPod」に関する内容なら自由です!失敗談も、同じところで悩む誰かの助けになります。🎁 プレゼント内容キャンペーン参加者全員に、以下4つの中からお好きなノベルティを1点プレゼント!🚀 早...
4日前

AIエージェントの試行錯誤に「見た目が崩れていないか」の検査を組み込む 判定をLLMに任せない理由
Zennの「Test」のフィード
弊社(アイデアマンズ)はページスピード改善の仕事で、主にフロントエンドの改善を提案しています。速くするためにHTMLやCSS、JavaScriptへ手を入れますが、見た目が変わってしまっては困ります。速くなっても表示が崩れるのでは意味がありません。以前はこの確認を目視でしていました。ところが改善の試行錯誤をAIエージェントへ任せるようになり、人間の目視では追いつかなくなりました。この記事では、AIの試行錯誤のループに「見た目が変わっていないか」の検査を組み込んだときの設計判断を整理します。検査の判定をLLMに任せなかった理由と、機械的な比較を実用にするための2つの工夫が中心です。...
5日前

AIは嘘をつく前提で。仕様準拠を exit code で判定する「spec-gate」を作った
Zennの「Test」のフィード
TL;DRAI が書いたコードが 自然言語の仕様(Markdown / Mermaid / Figma / 画像)を守っているか を、エージェントの自己申告を一切使わずに exit code で判定するハーネス spec-gate を作りました仕様とコードを直接比べることはしません。間に claim(検証できる形にした仕様の主張) を挟み、「AI が抽出 → 人間が承認 → 機械が判定」の3段に分けています。人間がやるのは承認だけです承認済み claim の編集、承認そのもの、プランの検証行の書き換えは、hook-gate のルールでエージェントには できない ようにしていま...
5日前
11/4 (水)

引き継ぎ時に消さないでおきたい、番号付きに見える段落のバックスラッシュ
ソフトウェアテストタグが付けられた新着記事 - Qiita
レビュー中のMarkdownに 7\. Inspect と書かれていると、バックスラッシュを余分な記号だと思うかもしれません。しかし、ドットの直前にあるその記号は、数字とドットをリストの開始記号として解釈させないための手掛かりです。削除すると、普通の段落として渡したかった内...
5日前

AIにQAの判断を任せる:AIによるトリアージ精度を2倍にするQAコンテキスト設計
70
QA - Tabelog Tech Blog
目次 はじめに これまでのAI4QAの取り組み 今回の取り組み AIにトリアージさせるためのコンテキスト設計 何を渡すか どう渡すか 判定の基準をどこに持たせるか 結果 定性的評価:トリアージができた3つの例 定量的評価:トリアージ精度が2倍に まとめ 採用情報 はじめに こんにちは。食べログカンパニー 開発本部 品質管理部QAチームの中尾です。飲食店プロダクト領域で、E2Eテストの自動化とQA工程のAI化に取り組んでいます。 これまでのAI4QAの取り組み 食べログの品質管理部では、「AI4QA」というプロジェクトを進めています。AI4QAは、QA業務の全てをAIが担う状態を目指し、テスト設…
5日前

保存データを守るQAケースブック|操作・想定値・不具合報告の6実例
Zennの「QA」のフィード
保存・復元のあるアプリを作る個人開発者向けに、ダミーデータの準備、操作、期待値、不具合報告、AI・開発者への修正依頼、修正後の確認を6例でまとめた静的な教材です。BOOTHの同名6ケースPDF版と同じ6題材をWeb閲覧用に再構成しています。重複購入にご注意ください。PDF本体は含みません。はじめに・復元1ケース・記録ひな形は無料です。本体アプリや失敗条件の模擬機能、個別の診断・修正・添削は含みません。実DB・通信・端末間の競合や、すべての不具合の発見を保証するものではありません。AI支援で制作しています。
6日前

復元エラーの後も元データは残るか:JavaScriptの8入力で確かめる
Zennの「QA」のフィード
復元の失敗を表示できても、元データを保持できているとは限りません。先に既存データを空にした後でJSONの解析に失敗すると、画面にはエラーが出ても元の2件は消えます。この記事では、人工データだけを扱うJavaScriptの最小モデルで確認します。コード全文を載せているので、商品や外部ライブラリを購入せず再現できます。 この例で決める復元形式version は 1notes は1件以上の配列各レコードは空でない文字列の id と、文字列の body を持つid の重複は拒否する空のバックアップを拒否するのは、この例の仕様です。実アプリで0件への復元を許すかは、別に...
6日前

An Investigation on Numerical Bugs in GPU Programs Towards Automated Bug Detection
arXiv Query: search_query=all:"software testing"&id_list=&start=0&max_results=10
General-purpose graphics processing unit (GPU) computing has emerged as a leading parallel computing paradigm, offering significant performance gains in various domains such as scientific computing and deep learning. However, GPU programs are susceptible to numerical bugs, which can lead to incorrect results or crashes. These bugs are difficult to detect, debug, and fix due to their dependence on specific input values or types and the absence of reliable error-checking mechanisms and oracles. Ad
6日前
11/3 (火)

結合見出しのある表をMarkdownで渡す前に、列の意味を引き継ぐ
ソフトウェアテストタグが付けられた新着記事 - Qiita
開示:この記事はYan Wang / LensUp向けにGPT-6.1 Terraで大部分を下書きし、Codex AIがソースと事実を確認しました。Yan WangはLensUpの関係者です。記載した結果は、変更していないconvertDocxと既存のAnyDoc WASM...
6日前

#58 中継役のAstraが工程を決め始めた。Codexマルチエージェントの自律性とコストの境界
Zennの「QA」のフィード
🍔 はじめにこんにちは!久しぶりの更新です。Codex Desktopで、多数のテストケース(以下、TC)の改善をマルチエージェントで進める検証をしています。目的は、TC改善を終わらせることだけではありません。一般的なデスクトップ環境で、AIによる業務効率化がどこまで再現できるか、どのくらいの作業量まで費用対効果が成り立つかを確かめることです。そのため、検証環境はCodex Desktopに統一しています。CLIに切り替えることは解決策にしません。前半の工程までは、期待どおりの速度で進みました。しかし差分修正の工程に入ると、進みが極端に遅くなりました。調べてみると、メインチャ...
7日前

