人が意図を書き、AIがコードに変える時代のテスト設計。
研修概要
本研修は、C#を用いたビヘイビア駆動型開発(BDD)の基本概念と実践方法を習得し、実際のプロジェクトでBDDを効果的に導入・活用できる力を身につける実践型ハンズオンです。Gherkin・Reqnroll・Playwright・Moqの4ツールを組み合わせ、業務担当者にも読めるシナリオ形式でテストを設計・実装します。
ドメイン駆動設計(DDD)の各アーキテクチャ層ごとにBDDテストを実装する構成で、テストの属人化解消から自動テストのCI組み込みまでを一気通貫で提供します。テストが属人化しやすい現場の構造課題を解消し、属人依存のないテスト体制を確立させます。
こんな課題を持つ企業におすすめ
ビジネス現場
- 要件の誤解が後工程で発覚し、手戻りコストが増大している:エンジニアと業務担当者の間で仕様の認識がズレたまま実装が進み、リリース直前に大量のバグ修正が発生しているケース。
- テスト担当者の退職・異動でテストが崩壊するリスクを抱えている:テストの意図が特定担当者の頭の中にしか存在せず、属人化による事業継続リスクが顕在化しやすい状態にある。
- CI/CDパイプラインは整備できたが、テスト自動化が追いついていない:ビルド・デプロイの自動化は完了しているものの、品質検証の工程だけが手動のまま残り、デリバリー速度の足かせとなっている。
- DDDでアーキテクチャを整備したが、テストがアーキテクチャ構造に対応できていない:設計の整備に投資した一方で、テストがドメイン層・インフラ層・アプリケーション層・プレゼンテーション層の分離に追いつかず、品質保証の網目が粗いままのケース。
本研修の到達目標
開発現場
- 1 BDDの基本理論を習得し、実開発への適用を説明できるようになります BDDの歴史・概念・TDDとの違いを理解し、実際の開発プロジェクトでBDDをどのように適用するかを説明できるようになります。
- 2 複数のステークホルダーと共通理解を得るためのシナリオ作成技術を習得します Gherkinを用いたGiven-When-Then形式のシナリオを設計し、業務担当者にも読める仕様書として機能するテストを作成できるようになります。
- 3 テスト実行結果を分析し、発見された問題点を効果的に改善できるようになります Reqnroll・Playwright・Moqを使ったBDDテストをDDDの各アーキテクチャ層に実装し、テスト結果から改善策を講じる能力を身につけます。
組織への期待効果
- 1 リリース直前バグによる手戻りコストの抑制 要件の誤解を設計段階で構造的に防ぐシナリオ駆動の開発フローを確立し、後工程での修正コストとリードタイムの超過を低減します。
- 2 テスト属人化による事業継続リスクの低減 シナリオがドキュメントとして機能する体制を整備し、担当者交代時の引き継ぎコストを最小化します。品質保証プロセスの属人依存から組織依存への転換を促進します。
- 3 CI/CDへのテスト組み込みによるデリバリー速度と品質の両立 自動テストをパイプラインに統合することで、コード変更のたびに品質検証が自動実行される体制を確立します。リリース判断の予測精度向上と、デリバリー速度の維持を両立させます。
本研修の特長
C#×BDD×DDD統合を扱う、国内唯一水準の実践構成
Java・PythonベースのBDD研修が多い中、本研修はC# / .NET / Visual Studio環境に特化しています。さらにDDDのアーキテクチャ層ごとにBDDテストを実装する構成は、国内でほぼ見当たらない独自性を持ちます。Reqnroll(SpecFlowの後継)という最新フレームワークを採用しており、現場にそのまま持ち帰れる即戦力の知識を提供します。
シナリオが仕様書として機能する、コミュニケーション設計
Gherkinの自然言語に近いGiven-When-Then形式を用い、エンジニアでない業務担当者でも仕様の正確性を確認できるシナリオ設計を学びます。テストと仕様書が一体化するため、仕様とテストのズレを構造的に防ぎ、要件合意のコミュニケーションコストを削減します。
E2Eテスト安定化まで網羅した、ハンズオン比率70%超の実践設計
Playwright(E2Eテスト)とMoq(モックライブラリ)の組み合わせにより、不安定なテストの根本原因となる設計上の問題を解消する実装パターンを習得できます。講義とハンズオンの比率は約70%以上がハンズオンで、受講後に即実践できる設計力を提供します。
研修カリキュラム
| 日程 | 章・学習テーマ | 学習内容・習得スキル |
|---|---|---|
| 1日目 | 第1章:BDDとハンズオンの概要 | BDDの歴史・基本概念・TDDとの違いを学びます。BDDのコンセプト・導入効果・フレームワーク(Reqnroll)・テストの基本的な流れを習得します。 |
| 第2章:Gherkin | BDDのシナリオ記述言語Gherkinの概要とキーワードを学びます。セクションキーワード・ステップキーワード・タグとコメント・テストデータと期待結果・シナリオ作成の実践を行います。 |
|
| 第3章:ドメイン層の実装とテスト | DDDのドメイン層を題材にBDDテストを実装します。値オブジェクト・共通ステップ・エンティティの実装とテストを通じて、ドメインロジックの振る舞いをシナリオで定義する手法を習得します。 |
|
| 2日目 | 第4章:インフラストラクチャ層の実装とテスト | Entity Framework Coreを使ったインフラストラクチャ層のBDDテストを実装します。フック(Hooks)・テストターゲットの取得・AdapterとRepositoryの実装とテスト、および参照系・更新系メソッドの演習を行います。 |
| 第5章:アプリケーション層の実装とテスト | アプリケーション層のサービスクラスを題材にBDDテストを実装します。商品検索・商品登録・商品変更の各サービスをシナリオ駆動で設計・検証する実践を行います。 |
|
| 第6章:プレゼンテーション層の実装とテスト | Playwrightを使ったE2Eテストを実装します。プレゼンテーション層のコントローラーとAPIエンドポイントをシナリオ形式で検証し、商品変更機能のE2Eテスト演習まで一気通貫で実践します。 |
必要な受講環境と前提知識
受講環境
| 統合開発環境 | Visual Studio 2022 |
|---|---|
| SDK | .NET8(要望により .NET6 または .NET7 での対応も可能) |
| 実行環境 | Windows 11 |
| 拡張機能 | Reqnroll for Visual Studio 2022(演習前にインストールが必要) |
前提知識
- C#言語:基礎的な構文・クラス設計・非同期処理の知識が必要です。
- ASP.NET Core・Entity Framework Core:WebアプリケーションおよびWeb APIの基礎知識が必要です。
- ソフトウェアテスト技法:単体テスト・テスト設計の基礎知識が必要です。
- ドメイン駆動設計(DDD):基礎知識が必要です(本研修ではDDDの講義を交えながら進めます)。
お問い合わせ
本研修に関するご質問・お申し込みは、以下のフォームよりお問い合わせください。
担当者より2営業日以内にご連絡いたします。
