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

via Udemy

Go to Course: https://www.udemy.com/course/learn-java-testing/

Overview

本コースは私が講師を務める「レッツラーンシリーズ」の一つです。本コースの内容は、ソフトウェアテストの基本的な考え方から始まり、JUnit 5を中心としたJavaベースの様々なテスティングフレームワーク(以下)の利用方法を詳細に解説します。JUnit:xUnitテスティングフレームワークMockito:モッキングフレームワークDBUnit:DBテスト効率化のためのJUnit拡張ライブラリSpring Boot Test:Spring BootのためのJUnit拡張ライブラリRestAssured:RESTサービスのためのテストライブラリWireMock:モックHTTPサーバー作成ライブラリSelenium(Selenide):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/CDChapter 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を直接貼り付けすることができないため、このようにご案内しています) 本コースの開発環境は、前述したように仮想マシンとして利用していただくことをお奨めしますが、ソースコードだけを手元で確認したい場合は、このようにしてください。

Skills

Reviews