Alexander Litvinok (software engineer) "bdd wtf"

3,012 views
2,900 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,012
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Alexander Litvinok (software engineer) "bdd wtf"

  1. 1. Alex LitvinokBDD: WTF? @# Have you ever heard of BDD/Gherkin/etc.? true is near.. © 1993-2012. EPAM Systems. All Rights Reserved.
  2. 2. Behavior Driven Development .. this is just behavioral specifications.
  3. 3. TDDDDD Automation Testing BDD
  4. 4. Feature: Post articles In order to show trip photos A owner Should be abble to post article Scenario: Post article by owner Given I signed up as owner When I write article "About myself" And I post article Then I should see "Article is created"
  5. 5. This is Gherkin..
  6. 6. Just..Given/ When/ And / Then
  7. 7. Implementation. Cucumber
  8. 8. Given /^I signed up as owner$/ do pendingend– Ruby
  9. 9. Scenario Step Definition Domain Classes Integration Scripting
  10. 10. Scenarios should be: Easy to understand Consistent Easy to access
  11. 11. Experience
  12. 12. TaskCheck possibility of read/write for MySQL in the PHP
  13. 13. Feature: Check read/write for MySQL in PHP Scenario: Check write Given connection to MySQL When database and a table is selected Then some data is inserted Scenario: Check read Given connection to MySQL When database and a table is selected And some data is inserted Then some data is read
  14. 14. Weve got the following steps:1. connection to MySQL2. database and a table is selected3. some data is inserted4. some data is read
  15. 15. …/** * @Given /^ connection to MySQL$/ */ public function connect() { $this -> conn = mysql_connect(); if ( ! $this -> conn ) { throw new Exception(); } } …
  16. 16. Resume BDD is a software development process. It is based on the behavior specification. Gherkin is a meta language for writing scenarious.Cucumber is tool for testing on different languages.

×