ddd with behat teaser
DESCRIPTION
Teaser for my upcoming conference talk here https://www.facebook.com/events/600891746698048/TRANSCRIPT
DDD with Behat Teaserby Anton Serdyuk
Agile project and team evolution
1 2 3 4 5 6
1. No tests at all
● You can write very good code, but this code WILL suck later
● “Refactoring” is a swearword● That is why constant “No time for
refactoring”● “We need to rewrite it from scratch” at the
end
1 2 3 4 5 6
2. So called “Unittests”
● Not actual unittests● xUnit based tests for controllers, entities,
repositories etc without any order● Complex fixtures● Hard to support● “There is no time for tests” because of no
visible profit
21 3 4 5 6
3. Selenium acceptance tests
● Written by QA automators usually in Java even in PHP and .NET projects
● This approach is widely spread, well known and may perform well, but I think autotests implementation is not a QA job
1 2 4 5 63
4. Behat acceptance tests
● This approach may perform very well● Can be written by QA (and even sometimes by BA)● Some people call it BDD, but it is not BDD actuallyGiven there is registered user Bob
And I am on homepage
When I follow “Sign Up”
And I fill “Bob” in “Username”
And I press “Sign Up”
Then I should see “This username is already in use”
1 2 3 5 64
5. BDD
● BDD is not about tests● It is the process to find out and deliver features which
provide value to users● Should be used not only in dev team but in whole team
beginning from Product Owner
Given there is registered user Bob
When I try to sign up with username “Bob”
Then I should get error that this user is already signed up
1 2 3 4 65
6. Lean
● The last point of Agile team and project journey
● It is all about how to deliver more value to customer and how to build sustainable business around this product
1 2 3 4 5 6
4,5. DDD with Behat
● Not a BDD yet● Not just acceptance tests with Behat
BDD
Behat acceptance tests
DDD with Behat
Coming soon...
● 8/28/2014● PHP User Group Meetup #9● Imaguru Startup Hub● https://www.facebook.
com/events/600891746698048/