こんにちは。GoQSystemで技術顧問をしております、@hiro_yです。この記事は「GoQSystem Advent Calendar 2025」、20日目の記事です。
Webエンジニアの皆さん、テストをしていますか。
「テスト」と聞いたとき、最初に思い浮かべたものは何だったでしょうか。テストコードを書くことだったりしませんか。テストコードは、関数やメソッドといった処理の単位でユニットテスト(単体テスト)の自動化を進めるためのものです。あくまで「テスト」の一部を構成するものでしかありません。
最近、開発プロセスの一つとしてコードレビューが行われることが当たり前になってきました。コードレビューの責務についてはそれぞれのシチュエーションがあるかと思いますが、単体のコードとして問題がないかを確認するのが第一義です。処理の手順やパフォーマンスの観点から問題がないかどうか、それに対して適切なテストコードが書かれているかを順番に確認していきます。
ここで注意しなければならないのは、そのコードの実装が仕様を満たしているかどうか、どこまで確認するかです。もちろん、仕様について十全に理解した上でコードレビューを行うのが一番いいと思いますが、実装者と同じか、それ以上に理解してコードレビューを実施できるかは時と場合によるのではないでしょうか。
何が言いたいかというと。
コードレビューを依頼する前に、一度立ち止まって、きちんとテスト(手動テスト)をしてください。当たり前の話のはずなのですが、動作確認さえしていれば見つけられるはずの問題をコードレビューで指摘するのはなかなか厳しいです。
改めて仕様を確認してください。その上で、手元の環境で構わないので、仕様通りに動作しているか、きちんと確認した上でコードレビューを依頼してもらえたらと思います。そしてそのためには、テスト技法に関する知識が役立ちます。
例えば、同値分割法や境界値分析など。ひょっとしたら耳慣れない言葉かもしれませんが、Webエンジニアであれば当たり前のように思考している内容のはず。どういう入力があったときにどういう出力になるか、そのパターンを知っていればテストの網羅性が増します。見落としも少なくなるというわけです。
エンジニアがどこまで「テスト」について知っておくべきかは意見が分かれるかもしれません。開発チームによっては、テスターやQAエンジニアがメンバーにいて、職掌として分かれている場合もあるでしょう。しかしそれは、Webエンジニアであるあなたがテストをしなくていい理由にはなりません。
責任を持ってコードを書き、システムを作り上げていくために。テストを怠らないこと、テストについて必要な知識を持っておくことは大切なことだと思います。あなたが作っているのは、コードではありません。そのコードで動くシステムなのです。だからきちんと仕様を満たした挙動をするか、しっかり確認していきましょう。
GoQSystemでは、毎週の「Tech meetup」で輪読会を実施しています。今まで、改訂新版『良いコード/悪いコードで学ぶ設計入門』、『失敗から学ぶ RDBの正しい歩き方』を読んできました。次に読む本を何にするか考えていたところだったのですが、テストの技法を知ることができる本にしようと思っています。

