Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
現役アーキテクトが教える『Javaテスト基礎&実践』JUnit5、Mockito、DBUnit/CICD/生成AI活用
Highest Rated
Rating: 4.5 out of 5(97 ratings)
1,259 students

現役アーキテクトが教える『Javaテスト基礎&実践』JUnit5、Mockito、DBUnit/CICD/生成AI活用

テストの方法論やJavaテスティングフレームワーク(JUnit5中心)の利用方法を詳細に解説/GitHub Actionsのデモ/Chat GPTによるテスト効率化/開発環境が全部入った仮想マシンが付属
Created by斉藤 賢哉
Last updated 7/2024
Japanese
Japanese [Auto],

What you'll learn

  • ソフトウェアテストの考え方を理解し、適切なテスト戦略を立案することが可能になります。
  • Javaによる様々なテスティングフレームワーク(JUnit、Mockito、DBUnit、Spring Boot Test、RestAssured、WireMock、Selenium、Gatling)の使用方法を習得することができます。
  • 企業システムやWebサービスに携わるエンジニアとして、差別化を図ることができます。
  • 将来的に1ランク上のエンジニアやアーキテクトを目指す方が、土台を固めることができます。

Course content

26 sections72 lectures10h 46m total length
  • イントロダクション(+本編PDFダウンロードもここから)10:20

Requirements

  • Javaの基本的な文法やEclipseの使用方法などをある程度理解されていることを前提にしています。
  • Spring Boot Test(Chapter5.x)ではSpring Bootに関する前提知識が、REST APIテスト(Chapter6.x)ではREST APIに関する前提知識が、それぞれ必要になります。
  • PC(Windows、MAC)をお持ちの方は、所定の手順により開発環境・コンテンツをセットアップすることにより、理解を深めることができます(推奨)。

Description

本コースは私が講師を務める「レッツラーンシリーズ」の一つです。

本コースの内容は、ソフトウェアテストの基本的な考え方から始まり、JUnit 5を中心としたJavaベースの様々なテスティングフレームワーク(以下)の利用方法を詳細に解説します。


  • JUnit:xUnitテスティングフレームワーク

  • Mockito:モッキングフレームワーク

  • DBUnit:DBテスト効率化のためのJUnit拡張ライブラリ

  • Spring Boot Test:Spring BootのためのJUnit拡張ライブラリ

  • RestAssured:RESTサービスのためのテストライブラリ

  • WireMock:モックHTTPサーバー作成ライブラリ

  • SeleniumSelenide):WebブラウザのUIテスト自動化フレームワーク

  • Gatling:負荷テストフレームワーク


またAppendix(補足)として、GitHub ActionsによるCI/CDパイプラインの構築方法や、Chat GPTを活用したテスト効率化手法についても取り上げます。

本コースを修了すると、大規模な企業システムやWebサービス開発において、テスト技法や自動化手法に精通した専門性の高いエンジニアとして活躍することが可能になるでしょう。


本コースの範囲は、以下のとおりです。


  • Chapter 1.1 - ソフトウェアテストの概要

  • Chapter 1.2 - 単体テストの手法と戦略

  • Chapter 1.3 - 結合テストとシステムテスト

  • Chapter 1.4 - テスティングフレームワーク

  • Chapter 1.5 - CI/CD

  • Chapter 2.1 - JUnit5による単体テスト

  • Chapter 2.2 - 単体テストにおける「依存性注入」とテストダブルの利用

  • Chapter 2.3 - JUnitの開発環境

  • Chapter 3.1 - Mockitoによるモッキング

  • サンプルコード実演:Chapter 2.x~3.x(JUnit 5、Mockito)

  • Chapter 4.1 - DBUnitによるデータベーステスト

  • サンプルコード実演:Chapter 4.x(DBUnit)

  • Chapter 5.1 - Spring Bootアプリケーションの単体テスト

  • サンプルコード実演:Chapter 5.x(Spring Boot Test)

  • Chapter 6.1 - RestAssuredによるREST APIのテスト

  • Chapter 6.2 - WireMockによるモックサーバー構築

  • サンプルコード実演:Chapter6.x(RestAssured、WireMock)

  • Chapter 7.1 - SelenideによるWebブラウザのUIテスト

  • サンプルコード実演:Chapter 7.x(Selenide)

  • Chapter 8.1 - Gatlingによる負荷テスト

  • サンプルコード実演:Chapter 8.x(Gatling)

  • Appendix 1 - GitHub Actionsとコンテナを活用したCI/CD

  • サンプルコード実演:Appendix 1(GitHub Actionsとコンテナを活用したCI/CD)

  • Appendix 2 - 生成AIのテストへの活用

  • Appendix 3 - 開発環境全部入り仮想マシンのセットアップ手順


なお、本コースは言語としてのJavaをある程度理解していることを前提にしています。もしJava言語そのものへの理解が不十分であると感じた場合は、私が講師を務める同じシリーズの別コース(以下)の受講をご検討ください。

  • Java Basic編:Javaの文法、オブジェクト指向開発のための様々な技法(抽象化、カプセル化、多態性など)、Java SEの基本的なAPI(文字列、正規表現、列挙型、例外、コレクション、日時など)

  • Java Advanced編:Java SEと呼ばれる仕様の中で、高度で応用的な仕組み(マルチスレッド、ラムダ式、ストリームAPI、ネットワークプログラミング、総称型、レコードクラスなど)


本コースの開発環境について


本コースでは、学習に必要な開発環境を、Oracle VM VirtualBox(以降VirtualBox)の仮想マシンとして提供します。
受講生の皆様に実施いただくのは、VirtualBoxをインストールし、講師のGoogleドライブからダウンロードした「仮想ハードディスクファイル」を読み込む、という手順を踏むだけです。これで本コースで紹介したすべての作業やテストを、自分で簡単に試すことができます

本コースの開発環境は、仮想マシンとしてUbuntu(22.04 LTS)上に構築されています。この仮想マシンをVirtualBox上で動作させると、以下のリソース一式を、セットアップされた状態ですぐに使うことが可能です。


  • ソースコード一式(講義で用いたコードを含む)

  • JDK(JDK 21)

  • 統合開発環境(日本語化対応済みのEclipse)

  • 各種ライブラリ(JUnit 5、Mockito、DBUnit、RestAssured、WireMock、Selenideなど)

  • 負荷テストツール(Gatling)

  • データベース(MariaDB)※MySQL互換

  • Spring Bootによるサンプル用Webアプリケーション

本コースのソースコードは講師のGitHub上で公開(後述)していますので、それを使って個別に開発環境をセットアップしていただくことも可能ですが、難易度が高く手間も相応にかかります。その点、この方法であれば特段のスキルは不要であり、手間もそれほどかかりません。
このような仮想マシンによる開発環境のセットアップ手順は、Appendix 3にて取り上げます。
また、開発環境において実際にテストを行ったり、アプリケーションを起動したりするための具体的な方法は、Chapterの間に差し込んである「サンプルコードの実演」という講座を参考にしてください。

なお「仮想ハードディスクファイル」が格納された講師Googleドライブへのアクセス方法は、本コースご受講時に届くメールに記載します。


本コースのリソースおよびソースコードについて


  • 本コースの説明で使用する資料は、各レッスンのリソースボタンから、PDFファイルとしてダウンロード可能です。また「イントロダクション」のリソースボタンから、コース全体のPDFファイルをダウンロードすることもできます。必要に応じて、お手元で開いて活用してください。

  • 本コースのサンプルコードは、講師のGitHubリポジトリとして公開されており、ソースコードはZIP形式でダウンロードすることができます。Googleにおいて"KenyaSaitoh、learn_java_testing"というキーワードで検索すれば、当該プロジェクトのページを見つけていただくことが可能です。
    (ここにURLを直接貼り付けすることができないため、このようにご案内しています)
    本コースの開発環境は、前述したように仮想マシンとして利用していただくことをお奨めしますが、ソースコードだけを手元で確認したい場合は、このようにしてください。

Who this course is for:

  • Javaの基本的なスキルを習得済みで、さらなるレベルアップを目指している方
  • テスト技法や自動化手法に精通した専門性の高いエンジニアとして活躍したい方
  • 将来的なキャリアとして、上級アーキテクトを志向している方
  • フリーランスエンジニアとして付加価値の更なる向上を図っている方
  • IT人材の教育研修部門において、新人研修やリスキルのためのオンライン教材をお探しの方