見出し画像

【コード哲学エッセイ】 テストは 「保険」 じゃない。未来の僕へ捧げる 「祈り」 だ

「あとで書く」 という嘘

「テストコード、書かなきゃなぁ……」

納期に追われる深夜、エディタのカーソルを見つめながら、僕は何度この言葉を飲み込んだことでしょうか。
機能の実装だけで手一杯。動いているんだから大丈夫。テストなんて書いても、ユーザーには見えないし。

そうやって自分に言い訳をして、「あとで書く(TODO: add tests)」というコメントを残してコミットする。
けれど、その「あとで」が永遠に来ないことを、僕自身が一番よく知っていました。

当時の僕にとって、テストコードは「保険」でした。
万が一のバグに備えて、しぶしぶ払う掛け金。
何も起きなければ無駄になるコスト。

だから、余裕がない時は真っ先に切り捨てられる対象だったのです。

しかし、ある冬の出来事が、その冷たい価値観を変えました。

孤独な夜を照らす緑色の光

それは、個人開発していたサービスの決済機能に、深刻なバグが見つかった時のことでした。
特定の条件下で、二重課金が発生してしまう。

深夜 2 時。暖房の切れた部屋で、僕は震える手でコードを修正していました。
直しても直しても、別のどこかが壊れる恐怖。
「これで本当に大丈夫なのか?」という不安が、冷気と共に足元から這い上がってきます。

すがるような思いで、過去の自分が書いたテストスイートを実行しました。

プログレスバーが走り出します。
ひとつ、またひとつと、テストケースが通過していく。

. . . . .

そして最後に、全てのテストがパスしたことを告げる**「GREEN(成功)」**の文字が表示されました。

その瞬間、張り詰めていた糸がふっと緩み、涙が出そうになりました。
それは単なる「バグがないことの証明」ではありませんでした。

「大丈夫だよ」
「君が守ろうとしたロジックは、まだここにあるよ」

過去の僕が、未来の(今の)僕にそう語りかけてくれているように感じたのです。

「祈り」 としてのテストコード

あの日以来、僕の中でテストコードの意味が変わりました。
それは「保険」などという損得勘定で語れるものではありません。

テストを書くこと。
それは、未来の自分や、このコードを触る誰かへ向けた「祈り」に近い行為なのです。

「どうか、このロジックが壊れませんように」
「どうか、未来の君が安心して眠れますように」

そんな願いを込めて、アサーション(断定)を書く。
`expect(result).toBe(true)` という一行は、論理的な検証であると同時に、「こうあってほしい」という強い意志の表明でもあります。

そう考えると、テストを書く時間が、少しだけ愛おしいものに変わりました。
それは、コードという無機質なものに、開発者の体温を吹き込む儀式のようなものだからです。

完璧じゃなくていい、優しさを残そう

もちろん、全てのコードに完璧なテストを書くのは難しいかもしれません。
カバレッジ(網羅率) 100% を目指して疲弊してしまうのも、本末転倒です。

でも、「ここだけは壊したくない」「ここは複雑だから不安だ」という場所に、ひとつだけテストを書いてみる。
それは、未来の自分へのささやかなプレゼントになります。

もし今、あなたがテストを書くことに義務感や苦痛を感じているなら、少しだけ視点を変えてみてほしいのです。

それは、誰かに見せるための「証明書」ではありません。
未来のあなたが、恐怖に怯えず、健やかに開発を続けるための「お守り」です。

コードの向こう側にいる 「人」 を想う

エンジニアは、コンピューターと対話する仕事だと思われがちです。
けれど、そのコードを書き、保守し、その上で動くサービスを使うのは、いつだって「人」です。

テストコードは、時を超えて「人(過去の自分)」と「人(未来の自分)」を繋ぐ、優しさの架け橋なのかもしれません。

だから僕は今日も、祈るようにテストを書きます。
画面に灯る緑色の光が、いつか誰かの夜明けを照らすことを信じて。

あわせて読みたい

技術と感情の狭間で揺れるエンジニアの心に寄り添う、コード哲学エッセイシリーズです。

無機質なコミットログに絶望したことはありませんか?

ログを「作業記録」ではなく、未来の自分への「手紙」として捉え直すことで、開発に物語と温度を取り戻すエッセイです。

過去の自分が書いた「汚いコード」を責めてしまうあなたへ。

リファクタリングを単なる修正作業ではなく、過去の自分との「和解」のプロセスとして描いた、癒やしの技術論です。

言葉が出ない苦しみを知っているからこそ、書くことの尊さがわかる。

吃音を持つ僕が、プログラミングという「話さない言葉」に出会い、世界とつながっていく再生の物語です。

ひとりごと

「テスト駆動開発(TDD)」という言葉がありますが、僕は最近「愛情駆動開発(Love Driven Development)」があってもいいんじゃないかと思っています。

自分の書いたコードを愛し、それを触る未来の自分を慈しむ。
その具体的な行動が「テストを書く」ということ。
そう捉えると、面倒だったテスト記述が、なんだか丁寧な暮らしの一部のように思えてくるから不思議です。

あなたのコードにも、優しい祈りが宿りますように。

2025© おおとろ

いいなと思ったら応援しよう!

おおとろ 最後まで読んでいただき、ありがとうございます。もしこの記事が「役に立った」「心に響いた」と感じたら、珈琲一杯分サポートいただけると嬉しいです。あなたの温かい応援を力に、また次の創作活動に励みます。