昨日の内容を思い出してから、Day 2に入りましょう。
テストを書く工程はAIの恩恵を最も受けやすい領域です。退屈な定型作業をCopilotに任せ、人間はテスト設計に集中する。
実装クラスを開いた状態で /tests コマンドを実行すると、JUnitテストのひな型を一括生成してくれます。
Copilot Chatに「このメソッドのテストケースを列挙して」と依頼すると、正常系・異常系・境界値のケースをリストアップしてくれます。テストコード生成の前にまずケースを洗い出す習慣をつけましょう。
AI時代のテスト手法として、Playwright(Microsoft製)を使ったE2Eテストの自動化も急速に普及しています。画面操作を丸ごと自動化し、ユーザー視点での動作確認をAIに任せる手法です。今回の研修ではユニットテストを中心に扱いますが、E2Eテストのデモも予定しています。環境構築が複雑なため、デモ形式で「こういうことができる」を見ていただく想定です。
エラーメッセージやスタックトレースをCopilot Chatに貼り付けるだけで、原因の特定と修正案を提示してくれます。
以下のコードを実行するとエラーになります。Copilotの /fix コマンドで修正してください。
Copilot Chatで「このメソッドを適切な単位に分割して」と依頼。関心の分離を自動化。
コード内の裸の数値を選択し、「これらを定数に変換して」と指示。
/explain で既存コードの説明を生成。/doc でJavadocを自動付与。
2日間の集大成。設計書を読み、Copilotと一緒に実装、テスト、レビューまでを駆け抜けます。手作業との時間差を体感してください。
個人開発タイマー(80分)
以下の簡易仕様書をもとに、商品管理のサービスクラスとDAOクラスをCopilotで実装してください。
| 項目 | 仕様 |
|---|---|
| エンティティ | Product(id, name, price, stock, category, createdAt) |
| 必須メソッド | findById, findByCategory, create, updateStock, delete |
| ビジネスルール | 在庫が0未満にならないこと、価格は0円以上であること |
| テスト | 各メソッドに対して最低2件(正常系+異常系) |
| 制約 | JDBC使用、PreparedStatement必須、例外ハンドリングあり |
まずProductクラスをCopilotに見せた状態でDAOクラスを作成すると、フィールド名を自動認識して精度の高いCRUDコードを生成します。テストは実装完了後に /tests で一括生成し、境界値テストを手動で追加してください。
どの工程で最も時間短縮を感じたか。具体的なコードを示して説明してください。
期待通りのコードが出なかった場面、手動で修正が必要だった場面を共有してください。
Java研修で同規模のコードを書いた時と比べて、どの程度速くなったか体感を共有してください。
8月の配属後にCopilotをどう使うか。現場での判断基準を持って、この研修を終えましょう。
既存コードを /explain で理解。知らないフレームワークの使い方をCopilot Chatに質問。
getter/setter、DAO、テストコード、バリデーション。パターンが決まっているコードはCopilotに任せる。
レビュー依頼の前にCopilot Chatで「このコードのセキュリティリスクを指摘して」と確認。
Javadoc自動生成、コードの説明文作成、コミットメッセージの提案。
| 場面 | 判断 | 理由 |
|---|---|---|
| getter/setter | AIに任せてよい | 定型的で間違いが少ない |
| CRUDの定型処理 | AIに任せてよい | パターンが決まっている |
| テストのひな型生成 | AIに任せてよい | ただし境界値テストは人間が設計 |
| ビジネスロジックの核心 | 自分で考えて書く | 要件の理解が必要。AIは要件を知らない |
| セキュリティ関連のコード | 必ず人間がレビュー | 脆弱性は致命的な影響を及ぼす |
| お客様環境での利用 | 上長に確認してから | 契約やセキュリティポリシーによる制限がある場合も |
Copilotは優秀なアシスタントだが、最終判断は常に人間が行う。
具体的に、コンテキストを与えて、明確なゴールを示す。この3つで精度が変わる。
AIが書いたコードほど注意深くレビューする。セキュリティ・ロジック・命名の3観点。
配属先でCopilotが使えるかどうかは環境次第。迷ったら確認してから。
配属先ではWSL(Windows Subsystem for Linux)やDockerコンテナ内で開発環境を構築するケースが増えています。Copilotの認証情報やGitHubトークンをコンテナ内に閉じ込めることで、ホストOSへのセキュリティリスクを最小化できます。環境構築の選択肢として覚えておいてください。
アプリケーション事業本部向けに、Claude Code研修(1回)、上流工程研修(2回)、下流工程研修(2回)を別日程で実施予定です。新卒向けはIDホールディングス全体での実施となります。