Bow
-
Upload
chienwei-huang -
Category
Technology
-
view
428 -
download
0
Transcript of Bow
18 June, 2012
News QE – Ares Huang
Bow – BDD for Arrow
04/12/20232Bow – BDD for Arrow
Topics of this talk
Development Evolutions What is Bow Bow @ GitHub & BDD› Node.js Demo› Web Integration Demo
And Next?
04/12/20233Bow – BDD for Arrow
Development Evolutions
Cowboy Coding (Dirty Hacking) Automated Testing + C.I. TDD BDD
04/12/20234Bow – BDD for Arrow
04/12/20235Bow – BDD for Arrow
Cowboy Style Programming
The Cowboy is Busy
04/12/20236Bow – BDD for Arrow
04/12/20237Bow – BDD for Arrow
04/12/20238Bow – BDD for Arrow
04/12/20239Bow – BDD for Arrow
04/12/202310Bow – BDD for Arrow
04/12/202311Bow – BDD for Arrow
04/12/202312Bow – BDD for Arrow
04/12/202313Bow – BDD for Arrow
What’s going wrong?
04/12/202314Bow – BDD for Arrow
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>
04/12/202315Bow – BDD for Arrow
BDD – Story or Unit tests? What’s the difference between story and unit tests where Ihave
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.
04/12/202316Bow – BDD for Arrow
Unit Tests Stories
04/12/202317Bow – BDD for Arrow
04/12/202318Bow – BDD for Arrow
04/12/202319Bow – BDD for Arrow
04/12/202320Bow – BDD for Arrow
04/12/202321Bow – BDD for Arrow
04/12/202322Bow – BDD for Arrow
04/12/202323Bow – BDD for Arrow
04/12/202324Bow – BDD for Arrow
04/12/202325Bow – BDD for Arrow
What is Bow
04/12/202326Bow – BDD for Arrow
What is Bow
Spec + Arrow Scenarios = Bow
04/12/202327Bow – BDD for Arrow
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).*$"
04/12/202328Bow – BDD for Arrow
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"
04/12/202329Bow – BDD for Arrow
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)
04/12/202330Bow – BDD for Arrow
Bow @ GitHub https://github.com/bowdev/Bow
04/12/202331Bow – BDD for Arrow
Bow – BDD process
1: Describe behaviour in plain text
04/12/202332Bow – BDD for Arrow
Bow – BDD process
2: Bow generates step definitions in YUI
04/12/202333Bow – BDD for Arrow
Bow – BDD process
3: Run and Watch it fail
04/12/202334Bow – BDD for Arrow
Bow – BDD process
4. Write code to make the step pass
04/12/202335Bow – BDD for Arrow
Bow Demo – Node.js
04/12/202336
Bow Demo – Web Integration
Bow – BDD for Arrow
04/12/202337Bow – BDD for Arrow
Next? Become a BDD master With right tools and practice, everyone can become a BDD master.
04/12/202338Bow – BDD for Arrow
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 - [email protected]
SlideShare version of this tech talk