Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to ATDD (ATDD入門)

Cyan
August 30, 2018

Introduction to ATDD (ATDD入門)

Cyan

August 30, 2018
Tweet

More Decks by Cyan

Other Decks in Programming

Transcript

  1. ATDDとBDD - ATDDとBDD (Behavior-driven development) の関係性について諸説あり - 「BDDはATDDの改良版だ」 https://blog.jbrains.ca/permalink/the-worlds-shortest-article-on-behavior-driven-develop ment-revisited

    - 「BDDとATDDのフォーカスが違う」 http://bufferings.hatenablog.com/entry/2014/09/11/083430 - 「BDD = ATDD + TDD」 http://toolsqa.com/blogs/test-approach-and-comparisons-between-atdd-tdd-and-bdd/ - ATDDとBDDの違いについて深掘りしなくてもいい - 何を目指して作るかさえ明確化すればいいでしょう
  2. Specification by Example ちなみに、Specification by Example (SbE) という言葉も存在する。 ATDDの類義語だと考えば結構でしょう。 https://less.works/less/technical-excellence/specification-by-example.html

    他に、Example-Driven Development (EDD)やStorytest-Driven Development (SDD)があったりするが、気にせず同一視すれば OK http://xunitpatterns.com/example-driven%20development.html https://www.industriallogic.com/blog/storytest-driven-development-article/
  3. 共通認識 - 「Given(前提)」→「前提 / 状態 / 状況」 - 「When(もし)」→「アクション :

    もし〜ならば / したら」 - 「Then(ならば)」→「結果 : 〜になる / が起きる」 - Given(前提) 私の銀行口座に預金があり、 かつ最近引き出していない (my bank account is in credit, and I made no withdrawals recently,) - When(もし) 私は限度より低い金額を引き出す (I attempt to withdraw an amount less than my card's limit,) - Then(ならば) 引き出しはエラーと警告なく完了できる (the withdrawal should complete without errors or warnings) https://www.agilealliance.org/glossary/gwt