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 BDD Arrow - BDD framework for JavaScript

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 BDD Arrow - BDD framework for JavaScript (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

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Bow BDD Arrow - BDD framework for JavaScript

  • 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