【えーてぃーでぃーでぃー】
ATDD(受入テスト駆動開発) とは?
💡 「何ができたらOK?」を先に決めてから作る、ゴール先行の開発術
📌 このページのポイント
ATDDってTDDとどう違うの?
受入テストってどう書くの?
よく使われるのが「Given-When-Then」形式だよ。たとえば「Given: カートに商品が3個ある、When: 注文ボタンを押す、Then: 注文確認メールが届く」みたいに、誰でも読める形で書くんだ
非エンジニアにも分かるの?
そこがATDDの最大のメリットだよ。テストが要件の「仕様書」にもなるから、ビジネス側と開発側の認識ズレを防げるんだ。「これが通ればOK」という明確なゴールができるわけだね
BDDとは何が違うの?
デメリットはないの?
テストの定義にビジネス側の参加が必要だから、チームの協力体制が不可欠だよ。また、受入テストの粒度を細かくしすぎるとメンテナンスが大変になる。「ユーザーストーリー単位」で書くのがちょうどいいバランスだね
まとめ:ざっくりこれだけ覚えればOK!
「ATDD」って出てきたら「受入テストを先に書いてからコードを書く開発手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Acceptance Test-Driven Development」 = 受入テスト駆動開発
💬 TDD(テスト駆動開発)の考え方をビジネス要件レベルに拡張したものだよ。「受入テストに合格すること=完成」と定義するんだ