「テストを書くと開発に時間がかかる」。こんな話を一度は耳にしたことがあると思います。実際はその逆で、テストを書かないとむしろ開発の工数が増えてしまうのです。本連載では、テストの基本知識はあるが今まで実際のプロダクトでテストを書いたことがない人や、自分が書いたコードのどこをテストしたらいいのかわからない人を対象に、まずはテストを書く→質のいいユニットテストを目指すことを目的として、足がかりとなるポイントを解説します。第3回となる本稿では、自動テストの応用的な使い方であるリファクタリングとTDD(テスト駆動開発)を紹介します。
はじめに
BASE株式会社でシニアエンジニアを務めているプログラミングをするパンダ(@Panda_Program)と申します。本連載はPHPカンファレンス2022での発表「実践!ユニットテスト入門」を再構成して記事としたものです。
対象読者
本連載の対象読者は、自動テストの必要性をわかっているもののまだテストコードを書いたことがない開発者の方です。さらに本記事では、テストコードを書く習慣が身についている中級者の方にとっても自動テストに対する理解を深める助けになるでしょう。
テストを上手に活用してソフトウェア開発を加速させる
前回は、Dev(開発)のみならずOps(運用)にまで視点を広げることにより、ソフトウェア開発の全体像におけるテストの位置付けを説明しました。ここからは視点をDev(開発)の自動テストに戻しましょう。
本連載を通して、自動テストの意義は開発者がリリース前にバグを見つけることだと強調してきました。このように第一義的に自動テストは自分の書いたコードのバグを検知するために使うものとされています。
しかし、自動テストの活用方法はそれだけではありません。さらに、自動テストを使ってソフトウェア開発の技法を洗練することができます。連載の第3回となる本記事では、自動テストの応用的な使い方であるリファクタリングとTDD(テスト駆動開発)を紹介します。
この記事は参考になりましたか?
- 実践! ユニットテスト入門連載記事一覧
-
- 【実践的ユニットテスト入門】自動テストの応用的な使い方は? リファクタリングとTDDを紹介
- 【実践的ユニットテスト入門】ソフトウェア開発における自動テストの位置付けを考察する
- 【実践的ユニットテスト入門】今からでも遅くない! ソフトウェアの最小単位を自動でテストする
- この記事の著者
-
プログラミングをするパンダ(プログラミングヲスルパンダ)
https://twitter.com/Panda_Program/ フロントエンドエンジニア。元々サーバーサイドエンジニアだったが、個人開発を機に HTML, CSS, JS に興味を持つ。特に React、Next.js に熱中しフロントエンジニアに転向。TDD、XP、DevOps が好き。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
