この工程は何をするのか
IT パスポート試験シラバス Ver.6.5 の「25. システム開発技術」の定義。単体テストまでがこの工程に含まれるのが要点。
③ プログラミング(単体テストの実施までを含む) ・設計に従ったプログラムの作成 ・作成した個々のプログラムに誤り(バグ)がないかを確認するために,単体テストを行うこと 用語例 コーディング,ホワイトボックステスト,デバッグ,コードレビュー
書いたら、その場で自分で確かめるところまでが1つの工程。 「作る人」と「テストする人」を分ける発想はここには無い。次の工程(統合・テスト)は、単体テストが済んだものを組み合わせる段階になる。
ホワイトボックステストは、中身の作りを知ったうえで通る道筋を確かめるテストのこと。統合・テストで出てくるブラックボックステスト(中身を見ず、入力と出力だけで確かめる)と対になる。
具体的な成果物
| 成果物 | 中身 |
|---|---|
| 設計に従ったプログラム | 動くコード。設計から外れた場合はその理由も |
| 単体テストとその結果 | 個々のプログラムに誤りが無いことを示すもの |
つまずきやすいところ
AI に書かせると速いので、確かめる速度が追いつかなくなる。 生成量が人のレビュー能力を超えると、動いているように見えるだけのコードが積み上がる。この工程で単体テストが必須とされているのはそのためで、確かめる手段を同時に用意しないと速さが負債になる。
やり直せる状態を作らずに走らせる。 大量に変更してから間違いに気付くと、どこまで戻せばよいか分からなくなる。
AI に任せられる範囲
この工程は、この図書館が扱う3つのツールがまさに作られた目的の場所にあたる。裏付けが最も厚いので ai_leverage を high にしている。
確認の頻度を作業の危険度に合わせる
Claude Code の permission mode は、確認を求める頻度を段階で切り替える(facts/claude-code/permission-modes.md)。
| モード | 確認なしで実行されるもの |
|---|---|
default(Manual) | 読み取りのみ |
acceptEdits | 読み取り、ファイル編集、mkdir / touch / mv / cp などのファイルシステムコマンド |
auto | すべて(バックグラウンドの安全チェック付き) |
Shift+Tab で default → acceptEdits → plan を循環する。書き慣れた場所は acceptEdits、触ったことのない場所は default という使い分けができる。
大事なのは、モードを緩めても外れない箍があること。deny ルールと明示的な ask ルールは bypassPermissions を含むすべてのモードで適用される。 protected paths への書き込みも自動承認されない。
触れる範囲を OS 側で区切る
sandboxing は、Bash コマンドとその子プロセスに対して、OS レベルでファイルシステムとネットワークの境界を強制する(facts/claude-code/sandboxing.md)。コマンドごとに承認するのではなく、触れてよいファイルとドメインをあらかじめ定義する形になる。
確認を1つずつ返す方式は、量が増えると人が読まずに承認するようになる。境界を先に引いておく方が、速度を落とさずに事故を防げる。
失敗を巻き戻せるようにする
checkpointing は、ファイル編集と会話の状態を自動で記録する(facts/claude-code/checkpointing.md)。
- プロンプトごとに新しいチェックポイントが作られる
- ファイルスナップショットはセッション内の最新 100 チェックポイント分を保持する
/rewind、またはプロンプト入力が空の状態でEscを2回押すと巻き戻せる- チェックポイントは会話とともに保存されるので、セッションを再開したあとでも
/rewindできる
ただし出典は**「セッション単位の復旧手段であり、バージョン管理の代替ではない」と明記している。チェックポイントはセッションとともに30日後に削除される**(cleanupPeriodDays で変更可)。git の代わりにはならない。
並行して進めるときに衝突させない
worktrees は、git worktree ごとにセッションを分離し、並行して走るセッションのファイル編集が衝突しないようにする(facts/claude-code/worktrees.md)。--worktree / -w で作成・起動する。複数の作業を同時に走らせるなら、この分離が前提になる。
現場で要望をその場で形にする
船井総研グループの熊谷俊作氏は、顧客の工場に張り付いて観察し、見つけた要望をその場で Gemini に伝え、生成されたコードを即座にアプリに反映した(cases/ai-activation-catalog.md)。
従来なら数か月かかるような開発がその場で実現
結果、顧客の8割がアプリを活用した。この工程の所要時間が大きく縮むことの実例になっている。
まだ人がやること
設計から外れたときに気付くこと。 生成されたコードは動くが設計と違う、という状態を検出できるのは設計を知っている人だけである。
単体テストが何を確かめているかを見ること。 テスト自体も生成できるが、「通ったから正しい」とは限らない。確かめたい条件を網羅しているかの判断は残る。
巻き戻す判断をすること。 /rewind は手段であって、どこまで戻すべきかを決めるのは人になる。