semantic bdd with shouldit?
TRANSCRIPT
S E M A N T I C B D D
U S I N G S H O U L D I T ? T O V I S U A L I S E Y O U R P R O J E C T T H R O U G H F E AT U R E S .
ProductBusiness Analysis
Development QA
Business Development
J I R A
F E AT U R E F I L E S
C O N V E R SAT I O N
Development QA
J I R A
F E AT U R E F I L E S
C O N V E R SAT I O N
Development QA
Authoritative?
Business
F E AT U R E F I L E S
F E AT U R E F I L E S
Contents?
W H AT D O W E N E E D T O M A K E T H I S T H I N G ?
“Key User Journeys”
W H AT S H O U L D T H E E X P E R I E N C E B E M A D E U P O F ?
“Requirements”
F U N C T I O N A L / N O N - F U N C T I O N A L ?
W H AT D O Y O U D O W H E N ?
“Edge Cases”
W H AT S H O U L D I T L O O K L I K E ?
“Design”
W H AT S E R V I C E S A R E Y O U R E L I A N T O N ?
“Dependencies”
What is the clearest medium to describe what needs to be done
A N D T O V E R I F Y I T H A S B E E N
I N I T I A L F E AT U R E F I L E D E M O
S T E P 1 : W R I T E F E AT U R E F I L E
W H AT A B O U T D E S I G N S A N D M E D I A ?
W H AT A B O U T T E C H N I C A L D O C U M E N TAT I O N ?
W H AT A B O U T C O M P L I C AT E D S C E N A R I O S ?
S T E P 2 : I N S TA L L S H O U L D I T ?
S T E P 3 : S E T U P Y O U R T E S T S
n p m i n s t a l l - g s h o u l d i t
S T E P 1 : W R I T E F E AT U R E F I L E
S T E P 4 : C O N F I G U R E S H O U L D I T
{ "specs": "features/*.md", "results": "karma-specs.json" }
s h o u l d i t . c o n f . j s o n
R U N N I N G S H O U L D I T ?
A D D I N G TA G S
A D D I N G TA G S
W R I T I N G T E S T S
W R I T I N G T E S T S
W H A T T E S T S ?
R U N N I N G T E S T S
Y O U R P R O J E C T H A S A H E I R A R C H Y
Website
Search
Product Listings
Shopping Cart
Detail Page
Checkout
Navigation
Complete
Index Page
B A C K T O H E I R A R C H Y
V I S U A L I S AT I O N
./node_modules/shouldit/bin/shouldit —serve
blog.feature.md
PA G I N AT I O N R E L AT I O N S H I P
m a p . y a m l
PA G I N AT I O N R E L AT I O N S H I P
W H AT I S S H O U L D I T D O I N G ?
* . f e a t u r e . m d T E S T O U T P U T
M O C H A
* . f e a t u r e . m dJ U N I T
J A S M I N E
S E L E N I U M
D E V E L O P M E N T P R O M P T I N G
( c o n s o l e )
F E AT U R E T E S T S TAT U S
( c o n s o l e )
W E B V I S U A L I S AT I O N
J U N I T. X M L O V E R V I E W
C O N T I N O U S I N T E G R AT I O N J O B S
F R O N T E N D
P R O J E C T S
B A C K E N D
P R O J E C T S
E 2 E T E S T S
JS Integration Tests
JS Unit Tests
End To End Tests
Java Integration Tests
Java Unit Tests
Node.JS Mocha Tests
J U N I T X M L
T E S T O U T P U T
ShouldIT?
Features
API Features
• IT allows you to write rich feature files in markdown
• IT encourages you to think through your requirements before starting development in a semantic fashion
• IT helps drive you to the tests that need to be written
• IT refers to tests in your current test suite (no extra layer of tests)
• IT aggregates test output from multiple sources to show you what features are done or outstanding
• IT visualises your projects semantic hierarchy and shows your progress for sharing
h t t p : / / b b c - s p o r t . g i t h u b . i o / S h o u l d I T /Questions?
@ m a c k s t a r