前のパートに戻る 完了して次のパートへ  

  0-1 教材の概要

本教材では、ヨガ教室の予約サイトを題材に、Laravel でテスト駆動開発をする際の基本的な流れと実践的なテクニックを学びます。

本教材では、実際に予約サイトを構築するわけではなく、予約サイトに必要な機能をいくつか抜粋して実装します。本教材の目的はアプリケーションを作ることではなく、テスト駆動で開発するための基礎知識とノウハウを習得することです。

Laravel はテスティングフレームワークに PHPUnit を採用していますので、Laravel 以外のフレームワークをお使いの方でも、PHPUnit に関連する部分やテスト自体に関する部分は、参考になるのではないかと思います。

教材を進めて行く上で質問項目がございましたら、「質問」の箇所からご質問ください。

開発環境は Mac を前提としており、動作確認も macOS でのみしていますが、開発自体は Docker を使って行うので、Docker Desktop for Windows が動かせるのであれば、Windows でも動作させることができるはずです。


学習内容


  • テスト駆動開発の基本的な流れを学びます
  • ユニットテスト(単体テスト)とフィーチャーテスト(機能テスト)の概要について学びます
  • 自動テストにおける Laravel 特有の補助機能について学びます
  • テスト戦略を立てる際のポイントについて学びます


受講における必要条件


  • PHP および Laravel の基礎知識

PHP や Laravel を一度も触ったことがない方は、まずは Progate や Techpit の他の教材で学習することをおすすめします。

これは必要条件ではありませんが、「テスト駆動開発」(ケント・ベック著)を事前にお読みになっておくと、テスト駆動開発の基礎知識を補完できるので、効率よく進められるのではないかと思います。


この教材の対象者


  • 自動テストを書いたことがない、あるいは少ししか書いたことがないが、これから書いていきたいと思っている方
  • 自動テストを書いているが、うまく書けている自信がない方
  • これから自動テストを導入したいと考えているが、どうやって導入していけばいいか悩んでいるマネジャー、リーダーの方


学ばないこと


  • ソフトウェアテスト全般に関すること
  • E2E テスト、受け入れテストに関すること
  • 大規模システムにおけるテスト計画や実施に関すること


本教材の対応バージョン


  • PHP 7.3
  • Laravel 6.x, 7.0 ~ 7.5
  • MySQL 8.0

付属の PHPUnit は 8.3 ~ 8.5 です。


目次


0章 はじめに

本教材を進める上で必要な前提知識の解説と、設計の概要説明、環境構築を行います。

1章 テスト駆動開発の進め方

テスト駆動開発の一連の流れを説明します。簡単なユニットテスト、フィーチャーテストの実装を通して流れを体感してください。

2章 ユニットテストの作り方を学ぶ

テスト駆動による実践的なユニットテストの作り方を学びます。

3章 フィーチャーテストの作り方を学ぶ

テスト駆動による実践的なフィーチャーテストの作り方を学びます。

4章 将来のためにリファクタリングをする

中長期的な視点で、テストコードとプロダクションコードの共生関係を作っていくための、テストに対する考え方、カバレッジ、リファクタリング、などについて学びます。

Appendix

自動テストを開発プロセスに組み込むために役立つツールの紹介をします。

議論

0 質問

このコースの評価は?