6. Automate at
the feature
level
push
the Automate
at the story
tests level
lower
Automate
at the task
level
7. Tests / Examples
passes
to
API test
structure Test Method / Fixture
calls
Developer Code
Copyright 2012
DragonFire Inc.
8. TestLogIn test /
examples
User Name Password Expected result comments
JanetGregory Password Access system as JanetGregory Valid combo saved
Janet Gregory Password Error Space in user name
boolean TestLogIn (userName, password, expected result)
call LogIn (userName, password)
compare (actual result, expected result)
if true, return pass
test method
else
/ fixture
return fail
end
boolean LogIn (name,pwd)
Developer code stuff ………..
code if logged in, return true
else
return false
Copyright 2012
DragonFire Inc. end
9. • enables testers / • tests are usually
business to define tests through the UI
• test code can be in • programmers aren’t
programming language usually willing to help
• programmers can run • tests are implemented
tests as they code after the code is written
• testers can ask • testers create and
programmers for help implement all tests
• takes time from ‘coding’
production code
Copyright 2012
DragonFire Inc. 9
10. • less abstraction between layers
◦ presentation vs. business layer
• more logic in the GUI layer
• where is the separation in tests?
• who does what?
Copyright 2012
DragonFire Inc. 10
12. So, if we can’t test all (most) functionality at
the API layer ...
Any stories to share?
Copyright 2012
DragonFire Inc. 12
13. • ATDD (acceptance test driven development) through the GUI
◦ Jasmine: BDD framework to test JavaScript
◦ Sebium: Fit and Selenium combined (Cirilo Wortel)
◦ Selenium: possible, but harder
◦ Ruby / Watir: possible, but harder
• Unit tests
◦ jQuery
Copyright 2012
DragonFire Inc. 13
14. two big questions ....
Do testers need to
know how to code?
Can
programmers
do all the
testing?
14
15. • system architecture
◦ high level (context)
◦ component level
Thx to Lynn McKee for the term technical awareness 15
16. for example,
• in JavaScript, there is a small, but important
issue with the parseInt function, used to
transform strings to integers.
• the issue arises when we create a Date object
from a 'yyyy-mm-dd' string.
Could your testers and programmers have a
conversation about this?
Copyright 2012
DragonFire Inc. 16
21. Instead of saying NO,
or being the gatekeeper
Be the information provider so
business can make the decisions
Questions?
Copyright 2012
DragonFire Inc. 21