SlideShare a Scribd company logo
1 of 38
Bow – BDD for Arrow
   News QE – Ares Huang
           18 June, 2012
Topics of this talk
 Development Evolutions
 What is Bow
 Bow @ GitHub & BDD
     › Node.js Demo
     › Web Integration Demo

 And Next?

Bow – BDD for Arrow       2   6/17/2012
Development Evolutions
 Cowboy Coding (Dirty Hacking)
 Automated Testing + C.I.
 TDD
 BDD



Bow – BDD for Arrow   3      6/17/2012
Bow – BDD for Arrow   4   6/17/2012
Cowboy Style Programming



The Cowboy is Busy




Bow – BDD for Arrow   5    6/17/2012
Bow – BDD for Arrow   6   6/17/2012
Bow – BDD for Arrow   7   6/17/2012
Bow – BDD for Arrow   8   6/17/2012
Bow – BDD for Arrow   9   6/17/2012
Bow – BDD for Arrow   10   6/17/2012
Bow – BDD for Arrow   11   6/17/2012
Bow – BDD for Arrow   12   6/17/2012
Bow – BDD for Arrow   13   6/17/2012
BDD – Stakeholder Stories
In order to
<achieve some outcome which contributes to the
vision, or business value>
As a
<stakeholder>
I want
<some other stakeholder>
<to do, use or be restricted by something>

Bow – BDD for Arrow    14                 6/17/2012
BDD – Story or Unit tests?
 What’s the difference between story and unit tests where I
have
  both?


The difference is that the story checks the
whole, but I might wish to confirm a portion of the
whole
and that is when I need a unit test.




Bow – BDD for Arrow             15                        6/17/2012
Unit Tests                 Stories




Bow – BDD for Arrow   16             6/17/2012
Bow – BDD for Arrow   17   6/17/2012
Bow – BDD for Arrow   18   6/17/2012
Bow – BDD for Arrow   19   6/17/2012
Bow – BDD for Arrow   20   6/17/2012
Bow – BDD for Arrow   21   6/17/2012
Bow – BDD for Arrow   22   6/17/2012
Bow – BDD for Arrow   23   6/17/2012
Bow – BDD for Arrow   24   6/17/2012
What is Bow




Bow – BDD for Arrow   25   6/17/2012
What is Bow


Spec + Arrow
 Scenarios
   = Bow
Bow – BDD for Arrow   26   6/17/2012
What is Bow.sh
$ cat ./bow.sh
 #! /bin/sh
 ./bin/bow.js $1 "$*" | grep -o -E "([BDD]|Total Number of|Total Test
  Execution Time|Report Created|Execute).*$"




Bow – BDD for Arrow                  27                            6/17/2012
What is Bow.js
$ ./bin/bow.js
Usage: ./bin/bow.js [file path] "[arrow options]"
Example:
         ./bin/bow.js features/math.feature "--group smoke --
browser=firefox --report"




Bow – BDD for Arrow                 28                          6/17/2012
How to install Bow?
 Prerequisites.
1. Assumed Node.js and Arrow frameworks.
     ›         Arrow frameworks is not yet open sourced.
2. Required Gherkin for Node.js
     ›         npm install Gherkin


 Bow is open sourced
     ›         https://github.com/bowdev/Bow


 Supported platform : Depending on Arrow frameworks.
     ›     Currently, Arrow can support Mac & Linux. (Not yet on Windows)



Bow – BDD for Arrow                              29                         6/17/2012
Bow @ GitHub
 https://github.com/bowdev/Bow




Bow – BDD for Arrow               30   6/17/2012
Bow – BDD process
                      1: Describe behaviour in plain text




Bow – BDD for Arrow                    31                   6/17/2012
Bow – BDD process
            2: Bow generates step definitions in YUI




Bow – BDD for Arrow             32                6/17/2012
Bow – BDD process
                      3: Run and Watch it fail




Bow – BDD for Arrow                    33        6/17/2012
Bow – BDD process
                      4. Write code to make the step pass




Bow – BDD for Arrow                    34                   6/17/2012
Bow Demo – Node.js




Bow – BDD for Arrow   35   6/17/2012
Bow Demo – Web Integration




Bow – BDD for Arrow   36     6/17/2012
Next? Become a BDD master
 With right tools and practice, everyone can become a BDD master.




Bow – BDD for Arrow              37                         6/17/2012
Bow – Q&A
 Further Reading
1. Introduction BDD (Dan North)
2. http://cukes.info/
3. How we do BDD – putting it all together

 Contact
Ares Huang - aresyhoo@yahoo-inc.com

 SlideShare version of this tech talk




Bow – BDD for Arrow                 38       6/17/2012

More Related Content

Viewers also liked

Advanced Social Media Techniques in Higher Education
Advanced Social Media Techniques in Higher EducationAdvanced Social Media Techniques in Higher Education
Advanced Social Media Techniques in Higher EducationChristopher Rice
 
How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!
How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!
How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!Ricardo Signes
 
Amazon Web Services sign-up
Amazon Web Services sign-upAmazon Web Services sign-up
Amazon Web Services sign-upSimone Brunozzi
 
All About Parse Push Notifications
All About Parse Push NotificationsAll About Parse Push Notifications
All About Parse Push NotificationsParseIt
 
UX e Fontes de Tráfego
UX e Fontes de TráfegoUX e Fontes de Tráfego
UX e Fontes de TráfegoNeue Labs
 
Analytics updates viewability, verification, visual analytics
Analytics updates   viewability, verification, visual analyticsAnalytics updates   viewability, verification, visual analytics
Analytics updates viewability, verification, visual analyticsjoeychee
 
Which Wolf will you feed?
Which Wolf will you feed?Which Wolf will you feed?
Which Wolf will you feed?Clive Dickens
 
Keynote Hadoop Summit Dublin 2016: Hadoop Platform Innovations - Pushing The ...
Keynote Hadoop Summit Dublin 2016: Hadoop Platform Innovations - Pushing The ...Keynote Hadoop Summit Dublin 2016: Hadoop Platform Innovations - Pushing The ...
Keynote Hadoop Summit Dublin 2016: Hadoop Platform Innovations - Pushing The ...Sumeet Singh
 
Scott Burke, Yahoo! Keynote at Alphonso Summit on Extending Television to Mo...
Scott Burke, Yahoo!  Keynote at Alphonso Summit on Extending Television to Mo...Scott Burke, Yahoo!  Keynote at Alphonso Summit on Extending Television to Mo...
Scott Burke, Yahoo! Keynote at Alphonso Summit on Extending Television to Mo...Ashish Chordia
 
Mobile Web Speed Bumps
Mobile Web Speed BumpsMobile Web Speed Bumps
Mobile Web Speed BumpsNicholas Zakas
 
Responsive web design new14
Responsive web design new14Responsive web design new14
Responsive web design new14FullSIX Group
 
strangeloop 2012 apache cassandra anti patterns
strangeloop 2012 apache cassandra anti patternsstrangeloop 2012 apache cassandra anti patterns
strangeloop 2012 apache cassandra anti patternsMatthew Dennis
 
Mistral Hong Kong Unconference track
Mistral Hong Kong Unconference trackMistral Hong Kong Unconference track
Mistral Hong Kong Unconference trackRenat Akhmerov
 
Diary Studies in HCI & Psychology
Diary Studies in HCI & PsychologyDiary Studies in HCI & Psychology
Diary Studies in HCI & PsychologyUXPA Boston
 
Netflix API - Separation of Concerns
Netflix API - Separation of ConcernsNetflix API - Separation of Concerns
Netflix API - Separation of ConcernsDaniel Jacobson
 
Sfbay quiz without_audio
Sfbay quiz without_audioSfbay quiz without_audio
Sfbay quiz without_audioArun Simha
 

Viewers also liked (19)

Advanced Social Media Techniques in Higher Education
Advanced Social Media Techniques in Higher EducationAdvanced Social Media Techniques in Higher Education
Advanced Social Media Techniques in Higher Education
 
How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!
How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!
How I Learned to Stop Worrying and Love Email::: The 2007 PEP Talk!!
 
Amazon Web Services sign-up
Amazon Web Services sign-upAmazon Web Services sign-up
Amazon Web Services sign-up
 
All About Parse Push Notifications
All About Parse Push NotificationsAll About Parse Push Notifications
All About Parse Push Notifications
 
UX e Fontes de Tráfego
UX e Fontes de TráfegoUX e Fontes de Tráfego
UX e Fontes de Tráfego
 
Analytics updates viewability, verification, visual analytics
Analytics updates   viewability, verification, visual analyticsAnalytics updates   viewability, verification, visual analytics
Analytics updates viewability, verification, visual analytics
 
Trove Updates - Kilo Edition
Trove Updates - Kilo EditionTrove Updates - Kilo Edition
Trove Updates - Kilo Edition
 
Which Wolf will you feed?
Which Wolf will you feed?Which Wolf will you feed?
Which Wolf will you feed?
 
Keynote Hadoop Summit Dublin 2016: Hadoop Platform Innovations - Pushing The ...
Keynote Hadoop Summit Dublin 2016: Hadoop Platform Innovations - Pushing The ...Keynote Hadoop Summit Dublin 2016: Hadoop Platform Innovations - Pushing The ...
Keynote Hadoop Summit Dublin 2016: Hadoop Platform Innovations - Pushing The ...
 
Scott Burke, Yahoo! Keynote at Alphonso Summit on Extending Television to Mo...
Scott Burke, Yahoo!  Keynote at Alphonso Summit on Extending Television to Mo...Scott Burke, Yahoo!  Keynote at Alphonso Summit on Extending Television to Mo...
Scott Burke, Yahoo! Keynote at Alphonso Summit on Extending Television to Mo...
 
Mobile Web Speed Bumps
Mobile Web Speed BumpsMobile Web Speed Bumps
Mobile Web Speed Bumps
 
Neuroscience and quora
Neuroscience and quora Neuroscience and quora
Neuroscience and quora
 
Responsive web design new14
Responsive web design new14Responsive web design new14
Responsive web design new14
 
strangeloop 2012 apache cassandra anti patterns
strangeloop 2012 apache cassandra anti patternsstrangeloop 2012 apache cassandra anti patterns
strangeloop 2012 apache cassandra anti patterns
 
Mistral Hong Kong Unconference track
Mistral Hong Kong Unconference trackMistral Hong Kong Unconference track
Mistral Hong Kong Unconference track
 
Diary Studies in HCI & Psychology
Diary Studies in HCI & PsychologyDiary Studies in HCI & Psychology
Diary Studies in HCI & Psychology
 
Netflix API - Separation of Concerns
Netflix API - Separation of ConcernsNetflix API - Separation of Concerns
Netflix API - Separation of Concerns
 
Sfbay quiz without_audio
Sfbay quiz without_audioSfbay quiz without_audio
Sfbay quiz without_audio
 
Hack Day EU 2011 YQL
Hack Day EU 2011 YQLHack Day EU 2011 YQL
Hack Day EU 2011 YQL
 

Similar to Bow

Symfony2 and MongoDB
Symfony2 and MongoDBSymfony2 and MongoDB
Symfony2 and MongoDBPablo Godel
 
Behaviour And Model
Behaviour And ModelBehaviour And Model
Behaviour And ModelYukei Wachi
 
Android internals 02 - High-level architecture, version control system (rev_1.1)
Android internals 02 - High-level architecture, version control system (rev_1.1)Android internals 02 - High-level architecture, version control system (rev_1.1)
Android internals 02 - High-level architecture, version control system (rev_1.1)Egor Elizarov
 
Create 3D objects insite Cocos2d-x
Create 3D objects insite Cocos2d-xCreate 3D objects insite Cocos2d-x
Create 3D objects insite Cocos2d-xFramgia Vietnam
 
Android internals 06 - Binder, Typical subsystem (rev_1.1)
Android internals 06 - Binder, Typical subsystem (rev_1.1)Android internals 06 - Binder, Typical subsystem (rev_1.1)
Android internals 06 - Binder, Typical subsystem (rev_1.1)Egor Elizarov
 
Go for Mobile Games
Go for Mobile GamesGo for Mobile Games
Go for Mobile GamesTakuya Ueda
 
次期Internet explorer10とwindows azureで始めるhtml5 api開発
次期Internet explorer10とwindows azureで始めるhtml5 api開発次期Internet explorer10とwindows azureで始めるhtml5 api開発
次期Internet explorer10とwindows azureで始めるhtml5 api開発Microsoft
 
20150317 firefox os_studymtg_engver
20150317 firefox os_studymtg_engver20150317 firefox os_studymtg_engver
20150317 firefox os_studymtg_engverNaoki Sekiguchi
 
Architectural Patterns for the Cloud
Architectural Patterns for the CloudArchitectural Patterns for the Cloud
Architectural Patterns for the CloudMaarten Balliauw
 
Optimización JavaScript y CSS
Optimización JavaScript y CSSOptimización JavaScript y CSS
Optimización JavaScript y CSSlucascepeda
 
How to add fun to development process
How to add fun to development processHow to add fun to development process
How to add fun to development processBoris Modylevsky
 

Similar to Bow (14)

SpecBDD in PHP
SpecBDD in PHPSpecBDD in PHP
SpecBDD in PHP
 
Symfony2 and MongoDB
Symfony2 and MongoDBSymfony2 and MongoDB
Symfony2 and MongoDB
 
Behaviour And Model
Behaviour And ModelBehaviour And Model
Behaviour And Model
 
Android internals 02 - High-level architecture, version control system (rev_1.1)
Android internals 02 - High-level architecture, version control system (rev_1.1)Android internals 02 - High-level architecture, version control system (rev_1.1)
Android internals 02 - High-level architecture, version control system (rev_1.1)
 
Create 3D objects insite Cocos2d-x
Create 3D objects insite Cocos2d-xCreate 3D objects insite Cocos2d-x
Create 3D objects insite Cocos2d-x
 
Android internals 06 - Binder, Typical subsystem (rev_1.1)
Android internals 06 - Binder, Typical subsystem (rev_1.1)Android internals 06 - Binder, Typical subsystem (rev_1.1)
Android internals 06 - Binder, Typical subsystem (rev_1.1)
 
Phpers day 2019
Phpers day 2019Phpers day 2019
Phpers day 2019
 
Go for Mobile Games
Go for Mobile GamesGo for Mobile Games
Go for Mobile Games
 
次期Internet explorer10とwindows azureで始めるhtml5 api開発
次期Internet explorer10とwindows azureで始めるhtml5 api開発次期Internet explorer10とwindows azureで始めるhtml5 api開発
次期Internet explorer10とwindows azureで始めるhtml5 api開発
 
20150317 firefox os_studymtg_engver
20150317 firefox os_studymtg_engver20150317 firefox os_studymtg_engver
20150317 firefox os_studymtg_engver
 
Complete Dojo
Complete DojoComplete Dojo
Complete Dojo
 
Architectural Patterns for the Cloud
Architectural Patterns for the CloudArchitectural Patterns for the Cloud
Architectural Patterns for the Cloud
 
Optimización JavaScript y CSS
Optimización JavaScript y CSSOptimización JavaScript y CSS
Optimización JavaScript y CSS
 
How to add fun to development process
How to add fun to development processHow to add fun to development process
How to add fun to development process
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Bow

  • 1. Bow – BDD for Arrow News QE – Ares Huang 18 June, 2012
  • 2. Topics of this talk  Development Evolutions  What is Bow  Bow @ GitHub & BDD › Node.js Demo › Web Integration Demo  And Next? Bow – BDD for Arrow 2 6/17/2012
  • 3. Development Evolutions  Cowboy Coding (Dirty Hacking)  Automated Testing + C.I.  TDD  BDD Bow – BDD for Arrow 3 6/17/2012
  • 4. Bow – BDD for Arrow 4 6/17/2012
  • 5. Cowboy Style Programming The Cowboy is Busy Bow – BDD for Arrow 5 6/17/2012
  • 6. Bow – BDD for Arrow 6 6/17/2012
  • 7. Bow – BDD for Arrow 7 6/17/2012
  • 8. Bow – BDD for Arrow 8 6/17/2012
  • 9. Bow – BDD for Arrow 9 6/17/2012
  • 10. Bow – BDD for Arrow 10 6/17/2012
  • 11. Bow – BDD for Arrow 11 6/17/2012
  • 12. Bow – BDD for Arrow 12 6/17/2012
  • 13. Bow – BDD for Arrow 13 6/17/2012
  • 14. BDD – Stakeholder Stories In order to <achieve some outcome which contributes to the vision, or business value> As a <stakeholder> I want <some other stakeholder> <to do, use or be restricted by something> Bow – BDD for Arrow 14 6/17/2012
  • 15. BDD – Story or Unit tests?  What’s the difference between story and unit tests where I
have both? The difference is that the story checks the whole, but I might wish to confirm a portion of the whole and that is when I need a unit test. Bow – BDD for Arrow 15 6/17/2012
  • 16. Unit Tests Stories Bow – BDD for Arrow 16 6/17/2012
  • 17. Bow – BDD for Arrow 17 6/17/2012
  • 18. Bow – BDD for Arrow 18 6/17/2012
  • 19. Bow – BDD for Arrow 19 6/17/2012
  • 20. Bow – BDD for Arrow 20 6/17/2012
  • 21. Bow – BDD for Arrow 21 6/17/2012
  • 22. Bow – BDD for Arrow 22 6/17/2012
  • 23. Bow – BDD for Arrow 23 6/17/2012
  • 24. Bow – BDD for Arrow 24 6/17/2012
  • 25. What is Bow Bow – BDD for Arrow 25 6/17/2012
  • 26. What is Bow Spec + Arrow Scenarios = Bow Bow – BDD for Arrow 26 6/17/2012
  • 27. What is Bow.sh $ cat ./bow.sh  #! /bin/sh  ./bin/bow.js $1 "$*" | grep -o -E "([BDD]|Total Number of|Total Test Execution Time|Report Created|Execute).*$" Bow – BDD for Arrow 27 6/17/2012
  • 28. What is Bow.js $ ./bin/bow.js Usage: ./bin/bow.js [file path] "[arrow options]" Example: ./bin/bow.js features/math.feature "--group smoke -- browser=firefox --report" Bow – BDD for Arrow 28 6/17/2012
  • 29. How to install Bow?  Prerequisites. 1. Assumed Node.js and Arrow frameworks. › Arrow frameworks is not yet open sourced. 2. Required Gherkin for Node.js › npm install Gherkin  Bow is open sourced › https://github.com/bowdev/Bow  Supported platform : Depending on Arrow frameworks. › Currently, Arrow can support Mac & Linux. (Not yet on Windows) Bow – BDD for Arrow 29 6/17/2012
  • 30. Bow @ GitHub  https://github.com/bowdev/Bow Bow – BDD for Arrow 30 6/17/2012
  • 31. Bow – BDD process 1: Describe behaviour in plain text Bow – BDD for Arrow 31 6/17/2012
  • 32. Bow – BDD process 2: Bow generates step definitions in YUI Bow – BDD for Arrow 32 6/17/2012
  • 33. Bow – BDD process 3: Run and Watch it fail Bow – BDD for Arrow 33 6/17/2012
  • 34. Bow – BDD process 4. Write code to make the step pass Bow – BDD for Arrow 34 6/17/2012
  • 35. Bow Demo – Node.js Bow – BDD for Arrow 35 6/17/2012
  • 36. Bow Demo – Web Integration Bow – BDD for Arrow 36 6/17/2012
  • 37. Next? Become a BDD master  With right tools and practice, everyone can become a BDD master. Bow – BDD for Arrow 37 6/17/2012
  • 38. Bow – Q&A  Further Reading 1. Introduction BDD (Dan North) 2. http://cukes.info/ 3. How we do BDD – putting it all together  Contact Ares Huang - aresyhoo@yahoo-inc.com  SlideShare version of this tech talk Bow – BDD for Arrow 38 6/17/2012