Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Programming

/

Back-end

Spring Boot TDD - 入門から実践まで正確に

より早く、より堅牢に Spring Boot アプリケーションを開発しましょう。正確な理論の説明と、実務レベルの連携した実習を通じて、HTTP API アプリケーション開発に TDD を使う効果的な方法を自然に習得できます。

  • gyuwon2187
스프링프레임워크
스프링부트
실습 중심
TDD
Spring Boot
JUnit
Architecture

学習した受講者のレビュー

こんなことが学べます

  • TDD による Spring Boot Web API アプリケーション開発 実践

  • 正確で核心的な TDD 理論

  • 過度なツールと設計なしに TDDを使う方法

  • 要件を満たした後に設計を改善する方法

  • シンプルな設計から構造化されたアーキテクチャへ安全にリファクタリング

  • TDDに関する誤解の解消

コードの実装を超えて
製品の価値を生み出す力

AIコーディングツールが注がれ、「コードは自動的に編む時代」という言葉が出てきます。しかし、本当に重要なのはコード自体ではありません。要件を正確に検証し、安定してシステムを改善できる設計とテスト能力です。

TDD(Test-Driven Development)は、自動化されたテストに基づいてシステムを確実に改善するのに役立つ強力なツールです。コードを超えて、ソフトウェアが「正しく動作しているか」を継続的に検証し、正しい方向に開発を導くことができます。

今、TDDは「良い」開発習慣ではありません。
コードを超えて製品の価値を実装する強力な武器です。

このような経験があればお勧めします。

例や講義をそのまま行ったが、本気TDDの必要性を体感できずにいる。

TDDをスキルと道具中心だけで身につけてみると、
実戦プロジェクトでは限界を感じている。

TDDを導入しようとすると、テストを考慮していないコードベースのために幕詰まりを感じた。

プロジェクトに急にTDDを適用したが、テストが全部壊れて結局あきらめたことがある。

そこで、様々な組織にTDD文化を定着させてきた
CTOの10年の経験を講義に入れました。

TDD理論を正確に説明します。

TDDを正しく書くためには、スキル中心の単純なテスト作成法ではなく、コア概念と設計原理を正確に理解することがまずです。この講義は、TDDと健全な設計のための理論的基盤をしっかりと固め、実務でよく見られる誤解や誤りを避けるための概念中心の学習を提供します。

Spring BootだけでもTDDで十分です。

途方もないアーキテクチャがなくても、Spring BootはTDDを正しく使用できます。このレッスンは、おなじみのSpring Boot環境でTDDの重要な手順に従い、TDDの全体的な流れがどのように機能するかを豊富な実践中心に体感するのに役立ちます。

実コードフローでTDDを獲得します。

実務で使用するコード作成フローにそのまま従います。要件の理解→テストシナリオの導出→機能の実装→設計管理など、実際の事業開発者が経験するTDDの流れを実習で体得します。また、Copilotを活用したAIコラボレーションも間接的に体験できます。

10年の経験、TDDに心からの開発者が伝えます。

10年以上、様々なチームや組織からTDD文化を直接導入し、実務に定着させた経験を持っています。コラボレーションからコードレビュー、デザインまで! TDDを実際のプロジェクトにどのように溶かすかは、その現実的なプロセスと洞察を講義にまとめました。

このような効果を得ることができます。

この講義を通じて、受講者の皆さんはそれぞれの状況に応じて様々な効果を得ることができます。

ソフトウェア開発を初めて学ぶ方は

Spring Bootを使ってWebサーバアプリケーションを開発するプログラマになるために就職を準備している方は、ソフトウェア開発学習の初期からTDDを基本能力で揃えることができます。他の経験が積み重なる前に正確な情報に基づいてTDDを学習すれば、むしろキャリアのある方よりも抵抗なく簡単に習得できます。

実務で安定してアプリケーションを開発したい人

実務では、Spring Boot Webサーバーアプリケーションを開発していますが、新機能を作成する際にバグが発生する恐れで不安を感じる人は、自動化されたテストを使用して要件を満たしていることを確認し、システムに段階的にコードを追加する方法を学ぶことができます。そして、この能力により、より価値のあるエンジニアに一歩進むことができます。

TDDを学びましたが、実務の適用に苦労している人は

TDDとテストオートメーションを勉強しましたが、実務でSpring Boot Webサーバーアプリケーションを開発するときは、さまざまな困難でTDDを適用できない方は、TDDに関する知識をもう一度取り組んで十分に準備された実習を進行しながら、実戦で経験する問題を解決できる手がかりを得ることができます。

講義内容

TDDに関する理論の説明から始めて、断絶なく続く一連の実習に従い、自然にTDDに馴染み、アーキテクチャの改善、要件の変更、コラボレーションケースまで連続的に経験できるよう講義を構成しました。

TDDコア理論

TDDを正しく使用するために必要な重要な理論を説明します。 Kent Beckが定義したTDD手順と効果的なテスト作成と管理に必要な基盤設計理論を説明し、実践と同様の実習を通じて理論の効果を体感します。

TDDを使用したWebサーバーアプリケーションの開発

実務で利用可能なレベルのTDD学習には、理論の説明と簡単な例では不足しています。このレッスンでは、本番に近いレベルのSpring Boot Webサーバーアプリケーションをプロジェクトが初期化された状態で開始し、すべての機能をTDDを使用して開発します。

効果的なテストを書く

要件を忠実に検証するテストコードを読みやすく書く方法を体験してください。テストはソフトウェア要件を正しく検証する必要があり、要件文書の一種であるため、テストコードの読みやすさは非常に重要です。機能に忠実でありながら読みやすいテストコードの書き方を考え、JUnitを使って自分で書いてみます。

アーキテクチャの改善

TDDを使用して開発されたアプリケーションの設計品質を向上させるために、単純なアーキテクチャから構造化アーキテクチャに改善します。モデルを他のコンポーネントから分離し、Command Query Responsibility Segretation(CQRS)パターンを適用します。

知識共有者の紹介

  • さまざまな分野でさまざまな技術を使用してソフトウェアを開発しました。

  • 10年以上にわたり、複数のスタートアップでCTOの役割を果たし、複数のチームにTDDを定着させました。

  • TDDをはじめ、様々なテーマで様々な技術イベントで講師として知識と経験を共有してきました。

  • テストデータの生成JUnit拡張ライブラリAutoParamsを運営しています。

受講前の注意

練習環境

  • 練習ビデオはWindowsオペレーティングシステムを使用します。しかし、macOSをお使いの方も問題なく受講できます。

  • IntelliJ Community Editionを使用してください。 IntelliJ Ultimate エディションもそのまま使用できます。

学習資料

  • 500ページ以上のスライドを提供します。

  • 100を超えるコミットで構成されたすべての練習コードは、GitHubリポジトリを介して提供されます。

  • Discordでは、知識共有者や他の受講生とTDDや講義の内容をテーマに自由にコミュニケーションできます。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • ソフトウェア開発の学習初期からTDDを基本スキルとして身につけたい方

  • 安定して要件を満たし設計を改善するプログラマーとして成長したい方

  • Spring Boot Webアプリケーション開発の実務にTDDを使いたい方

  • TDDに関する基本知識は習得したが、実務導入に難しさを感じている方

  • TDDに関する誤解を解消したい方

前提知識、
必要でしょうか?

  • Javaコーディングに不自由なくできる程度のJava言語の文法理解

  • HTTP基礎知識

  • リレーショナルデータベース基礎知識

こんにちは
です。

508

受講生

30

受講レビュー

13

回答

5.0

講座評価

2

講座

여러 스타트업에서 CTO로 활동하며 기술팀의 역량 성장을 이끌어왔습니다.

코딩만큼이나 기술 지식과 경험을 나누는 일에서도 큰 즐거움을 느낍니다.

カリキュラム

全体

109件 ∙ (14時間 9分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

30件

5.0

30件の受講レビュー

  • denia님의 프로필 이미지
    denia

    受講レビュー 6

    平均評価 4.8

    修正済み

    5

    100% 受講後に作成

    大変勉強になりました。 最近受講した講義の中で、最も参考になりました。 これほど丁寧な講義をご準備いただき、本当に感謝しています。 私もテストに興味があり、単体テスト、TDDなどのテスト関連の講義や本を何冊か購入し学習しましたが、 学んだ内容を実際のプロジェクトにどう適用すれば良いか、毎回途方に暮れていました。 そのため、プロジェクトにTDDやテストを正しく導入する方法を教えてくれる講義があれば良いのにと思っていましたが、 この講義を通して、TDDに対する大きな方向性を掴むことができました。 おかげで、私もこれから自分のプロジェクトに慎重にTDDを導入してみることができそうです。 そして、最後に少しだけ触れてくださったレガシー関連の講義も、ぜひ出たら嬉しいです。 講義の購入を検討されている方へ: TDDを導入してみたいけれど、どうすれば良いか途方に暮れている方なら、この講義がきっと大きな助けになるはずです。

    • gyuwon2187
      知識共有者

      denia park様、完講おめでとうございます。そしてありがとうございます。私がこの講座を準備する大きなきっかけの一つが、最後に仰ってくださったTDD導入に途方に暮れている方々に多く出会い、こうした問題を解決して差し上げたいと思ったからで、この受講評価は私にとって特別な意味を持ちます。実務プロジェクトにも安定的にTDDを導入され、より良い製品をより速く作れることを願っています。🙏

  • jin3378s님의 프로필 이미지
    jin3378s

    受講レビュー 5

    平均評価 5.0

    修正済み

    5

    67% 受講後に作成

    この講義は、私たちの仕事が単なる設計やコード作成ではなく、現実世界の顧客の問題を把握し、ソフトウェアを通じて解決することであることを明確に示してくれます。 サーバー、API、データベースだけを学んだ人に、「顧客志向で開発せよ」と言っても、それがどういう意味か理解するのは容易ではなく、また誰かが「クリーンアーキテクチャ」や「Ports and Adapters」アーキテクチャを使えば、変化する要求事項を処理しやすいと教えてくれます。 苦労して勉強してパターンを適用しても、自分が顧客志向で開発していると感じるのは容易ではありません。 この講義は、そういった人々に対し、明確なガイドラインを提供します。講義で教えてくれる内容は、顧客の要求事項をうまく整理し、それを満たすコードを作成することです。そして、この過程で「テスト駆動開発」がいかに効果的であるかを知ることができます。 講義を最後まで 따라가고その趣旨に耳を傾ければ、TDDに対する疑問符が感嘆符に変わることでしょう。

    • gyuwon2187
      知識共有者

      뜨어어さん、講義を聞いてくださり、良い評価まで残してくださって本当にありがとうございます。 私が伝えたかったことが、뜨어어さんにうまく伝わったように感じられて、本当に幸いです。学習された内容が、実際の開発で良い影響を与え、ユーザーのためにもなることを願っております!

  • gggorock님의 프로필 이미지
    gggorock

    受講レビュー 5

    平均評価 5.0

    5

    100% 受講後に作成

    TDDを衒学的にせず、実質的なソフトウェアの価値に集中し、生産性も向上させられる方向で、コード実習を通じて体得することができました。 講義で扱う例が実務にありそうなものでありつつも、講義で必要な知識をカバーするように、細やかに洗練して構成されているのが感じられました。 私のように、とりあえず作ってからデバッグに時間を費やし、失敗してまた最初から作り直したり、不器用なテスト作成でかえって生産性を低下させるコーディング習慣をお持ちの方々にとって、この講義は十分に適切な解決策となり得ると考えます。

    • gyuwon2187
      知識共有者

      꼬꼬록さん、短くない講義でしたが、完講まで本当にお疲れ様でした。👍 良い評価をいただき、ありがとうございます。講義で学ばれた内容を実務で十分な効果として活かしていただけることを願っております。

  • junhyogi9546님의 프로필 이미지
    junhyogi9546

    受講レビュー 1

    平均評価 5.0

    5

    30% 受講後に作成

    よく目にするTDDの方法論や適用方法について抱いていた疑問が解消される講座です。TDDが私たちにどのような助けになるのか、それが問題解決という観点からどのような意味を持つのか、講師の方の哲学がよく伝わってきます。

    • gyuwon2187
      知識共有者

      ジュンヒョク様、レビューありがとうございます。 手法だけでなく、私の考えも伝わっているようで良かったです。 難しい内容があれば、遠慮なくInflearnやDiscordに質問を残してください!

  • apfhdzi118666님의 프로필 이미지
    apfhdzi118666

    受講レビュー 1

    平均評価 5.0

    5

    27% 受講後に作成

    TDDという開発手法を学ぶということにとどまらず、ソフトウェアの設計および実装を進める際に、どのような観点から捉え、どのような領域を重要視するかなど、重要な話も含まれています。 また、実習の難易度自体は比較的易しいと感じられるかもしれませんが、シンプルに見えるシナリオに、実際の開発過程で起こりうる複雑な問題や現象を、簡単でシンプルに見える形に置き換えて、講義に盛り込まれていると感じました。 TDD入門だけでなく、ソフトウェアエンジニアとして入門する方や、これまでの慣性を超えた新しい観点での成長を望む方々に、ぜひ受講してほしいと思います。

    • gyuwon2187
      知識共有者

      良い評価と推薦、ありがとうございます。講座後半の内容も、お役に立てれば幸いです!

¥18,076

似ている講座

同じ分野の他の講座を見てみましょう!