BDD framework for PHP to help you test business expectations. (引用元:https://github.com/Behat/Behat) ◦ Behat は、ビジネス要件をテストするのに役立つ PHP 用の BDD フレームワークです。 • PHP ◦ Behat で自然言語で記述したシナリオのテストの実装 • Selenium WebDriver ◦ ブラウザをネイティブに操作するために用いる 23
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること 28
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること Feature(機能):テストする機能全体を定義 29
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること As a / I can / so that(ユーザーストーリー) As a: 誰がこの機能を使うか(ユーザーの役割) I can: 何ができるか(実行可能なアクション) so that: なぜその機能が必要か(ビジネス価値・目的) 30
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること Scenario(シナリオ):具体的なテストケースを定義 31
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること Given (前提条件):操作を実行する前の状態 32
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること When(実行アクション):テスト対象となる具体的なアクショ ン 33
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること Then(期待結果):期待される結果を検証 34
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること And(追加条件):複数の条件や検証を並列で記述する 際に使用 35
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること • 顧客やユーザーのニー ズや期待を具体的に文 書化 • 自然言語で記述し、プ ロジェクトの進行中に 生じうる誤解やミスコ ミュニケーションを防げ そう 42
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること 再 掲 58
And SQLクエリを準備する When localhost:8080/search?q=PHPにアクセスする And search.phpが実行される Then HTTPステータス200が返る And DOM要素".results"が1個存在する 実際のユーザーは 「検索ボックスにPHPと入力して検索ボタンを押 す」 検索時にURLに直接アクセスすることはない 63
can ウェブサイトでキーワード検索を実行する so that 必要な技術情報を素早く見つけて学習効率を向上させる Scenario: 興味のある技術について検索する Given ウェブサイトのトップページを開く When "PHP" というキーワードで検索する Then 検索結果に "PHP" が含まれていること And 学習者が求める情報が表示されること • As a 学習者 / I can / so that で明確に ビジネス価値を表現 • 技術的詳細(URL、 HTTPステータス、DOM 等)を一切含まない • 実際のユーザーの行動 と期待や提供価値を表 現 68