プログラミングを学び始めた頃、「テストコードなんて実務経験を積んでから覚えればいい」と思っていませんでしたか?

実はこれ、半分正解で半分誤解かもしれません。

半分正解:本格的なテスト設計は後回しでいい

モックを使って外部APIの呼び出しを再現したり、カバレッジ(コードのどこまでがテストで確認されているかの割合)を意識したり、GitHubにコードを送ったタイミングで自動的にテストを走らせる仕組み(CI連携)を組んだり。こうした本格的なテスト設計は、正直、未経験のうちに慌てて覚える必要はありません。

こうした仕組みは「チームで開発する」「サービスを長期運用する」フェーズで初めて必要になるものです。1人で学習中の段階でここまで手を出すと、テストの書き方を覚えることに気を取られて、肝心のプログラミング自体の学習が止まってしまいます。ここは焦らなくて大丈夫です。

実際、未経験の方から「テストコードって最初から勉強すべきですか」と聞かれることがよくあります。そのたびに「本格的な設計は後でいいですよ」と答えています。これ自体は間違ったアドバイスではありません。ただ、そう答えた後にもう一言付け加えるようにしています。それが次の話です。

半分誤解:一番シンプルな確認は今すぐ書く価値がある

一方で、「この値を渡したら、この結果が返ってくるはず」という一番シンプルな確認は、未経験のうちからでもすぐに書けますし、書く価値があります。

例えば、消費税込みの金額を計算する関数を書いたとします。多くの未経験者は、関数を書き終えるたびに、電卓アプリを開いて「1000円なら1100円になるはず…あ、合ってた」と手動で確認し直しています。次に関数を修正したときも、また同じように電卓で確認します。この繰り返し自体が地味に時間を溶かしますし、確認を忘れて先に進んでバグに気づかない、ということも起こります。

ここで役立つのが、「入力を渡すと期待する結果が返ってくるか」を確認するだけの、ごく簡単なテストコードです。難しい設計は不要で、代表的な入力パターンを2〜3個用意して、それぞれの期待する出力と実際の出力を照らし合わせるだけの形で十分です。

これを1回書いておくだけで、関数を書き直すたびに毎回手で確認する必要がなくなります。しかも「さっきまで正しく動いていたのに、修正したら壊れた」というミスにもすぐ気づけます。未経験のうちはコードを何度も書き直す場面が多いので、実はこのタイミングこそ、簡単なテストの恩恵を一番受けやすい時期だとも言えます。

AIへの伝え方ひとつで、学びの質が変わる

ここでAIの使い方が分かれます。

悪い例のプロンプトはこうです。

テストコード書いて

これだと、AIは何をどう確認したいのか分からないまま、それっぽいテストコードを大量に生成してきます。モックやカバレッジまで含んだ本格的な内容が返ってくることも多く、結局「難しそう」と閉じてしまう未経験者を何人も見てきました。

良い例はこうです。

この関数[コードを貼る]について、代表的な入力3パターンと
その期待する出力を考えて、それぞれ合っているか確認できる
簡単なテストコードを書いて。テストの仕組みの説明も
簡単に添えて

「代表的な入力3パターン」「期待する出力」「簡単な仕組みの説明」まで具体的に指定することで、AIは本格設計に寄り道せず、今の自分に必要なレベルのテストコードを返してくれます。しかも仕組みの説明も一緒にもらえるので、「テストコードって何をしているのか」が自然と分かってきます。

これは単にテストコードを手に入れる作業ではなく、「今の自分に必要な粒度で頼む」というAIへの指示スキルそのものの練習でもあります。プログラミングの知識と、AIに的確に注文を出す力は、こうした小さな場面の積み重ねで同時に育っていきます。

もし返ってきたテストコードにモックやカバレッジのような聞き慣れない言葉が混ざっていたら、それは今すぐ理解しなくて大丈夫です。「入力と出力を確認する部分だけ、まず読んでみてください」とAIに聞き返せば、必要な範囲だけをかみ砕いて説明してくれます。分からない部分を無理に飲み込まず、都度確認しながら進めるのも、AIと一緒に学ぶときの大事なコツです。

着地:本格設計は後回しでOK、でも1個だけは今日から

本格的なテスト設計を今すぐ学ぶ必要はありません。そこは半分正解のままで大丈夫です。

ただ、「この関数にこの値を渡したら、こう返ってくるはず」という確認を1個だけ書いてみる。これは今日からでも始められますし、書いておくと、後でコードを直したときに「壊れていないか」をすぐ確認できる安心材料にもなります。

次に何か小さな関数を書いたら、電卓やメモで手動確認する前に、一度AIに「入力3パターンと期待する出力」を聞いてみてください。そこから、テストコードとの付き合い方が少しずつ変わっていくはずです。


未経験から Next.js + Supabase + Claude Code で Web アプリを公開するまで

教材とメッセージサポートで、今日のような小さな一歩を一緒に積み重ねていくプランです。プランの詳細はこちらから。
https://menta.work/plan/20251?ref=menta