テストコードを書くとき、書かないとき

プログラミング

エンジニアをやっていると、日々のプロジェクトの中で「いま本当にテストコードを書く必要があるのか?」と悩むことがあります。

今日は、そんなときに拠り所になる視座についてです。

エンジニアHubに掲載されていた、ソフトウェアの品質保証・テストに特化した企業の方々のインタビューの引用です。

——近年では、「テストコードを書くこと」がとても重視される印象があります。どんな基準で、テストコードを書く・書かないを区別すべきでしょうか?

谷岡 私は「必ずしもテストコードを書くことが正解とは限らない」と考えています。例えば、開発最初期で仕様がまだ固まっていないようなシステムの場合、テストコードを書いても次の週には仕様が変わっていることもあるでしょう。

(中略)この場合は、まずは手動でテストを実施して大きなバグを潰していく方が効果的でしょう。その後システムが安定してから、改めてテストコードを実装していく手法も検討できます。

 

佐藤 「テストコードを書いたほうがいい」というケースはさまざまですが、「テストの内容を人が忘れないように、テストコードによって再現性を担保しておく」という視座があることをお伝えしておきたいです。

(中略)テストコードを書く際、「何を目的としてテストコードを書くのか」という方向性を明確に定めておくことがかなり重要です。「とりあえずテストコードを書きました」という状態だと、メンテナンスされなくなり負の遺産になってしまう可能性があります。

 

かつて私はテスト駆動開発に触発されて、仕様が決まってない中でテストコードをガチガチに書いて、あとで仕様変更が決まって悲しみに暮れたことがあります…。

必要なときに、必要なだけテストコードを書く」という柔軟な姿勢でやっていきたいものです。

pytestを使ってPythonでテスト駆動開発するための全知識。本書の目的 ・Pythonを使っているのでpytestを使ったテスト駆動開発する ・シンプルなテストをシンプルに書く ・複雑なテストもシンプルに書く ・読みやすいテストを書く

コメント