This talk was prepared for and presented to the NYC Web Design Meetup. It covers how to do identify core app functionality, an approach acceptance testing, and some ways the UI can be built more intelligently.
7. How many of you work on web things?
(e.g. websites, web applications, mobile apps)
Saturday, March 16, 13
8. How many of you test what you build?
(or have someone on your team who does)
Saturday, March 16, 13
9. How many of you primarily test manually?
Saturday, March 16, 13
10. How many of you primarily with automation?
Saturday, March 16, 13
11. How many of you test with a mix of both?
Saturday, March 16, 13
12. How many of you don’t test?
Saturday, March 16, 13
13. Show of hands if any of these are true for you:
Save testing for the end of the cycle
Feel like there isn’t enough time to adequately test
Feel unnerved when it’s time to release
Find issues in production
Saturday, March 16, 13
35. How long will it take to test manually?
Saturday, March 16, 13
36. How long will it take to test manually?
This will help you get a baseline before answering the
following questions.
Saturday, March 16, 13
37. How often will this functionality need to be checked?
Saturday, March 16, 13
38. How often will this functionality need to be checked?
If often, then it is likely a good candidate for automation.
Saturday, March 16, 13
39. Is it valuable (e.g. core functionality, used heavily, a legal
or political requirement)?
Saturday, March 16, 13
40. Is it valuable (e.g. core functionality, used heavily, a legal
or political requirement)?
If yes, then it is very likely a candidate for automation.
Saturday, March 16, 13
41. How risky is the feature (e.g. fundamental changes,
complex architecture, large user facing impact)?
Saturday, March 16, 13
42. How risky is the feature (e.g. fundamental changes,
complex architecture, large user facing impact)?
High? Medium? Or Low?
If Medium to High, then maybe.
Saturday, March 16, 13
43. What is the level of effort to automate?
Saturday, March 16, 13
44. What is the level of effort to automate?
T-shirt sizing will help you here:
Small: 0-2 hours
Medium: 1-2 days
Large: 2-4 days
X-Large >= 1 week
If large or higher, probably not
But it really depends
on what other work you have committed to
Saturday, March 16, 13
60. But let’s assume UI is involved.
In that case, something with WebDriver.
Saturday, March 16, 13
61. Full Disclosure: I have some opinions on this
Released an open-source web testing framework
for Selenium WebDriver
http://arrgyle.com/blog/automated-web-testing-is-hard/
Saturday, March 16, 13
63. Selenium...
is a robot sent from the future to help us test web
sites
uses locators (id, name, link, css, xpath, etc.) to
interact with the html elements of the page (a.k.a
‘find by strategy’)
------
The simplest and most sustainable way is to use
straight up CSS.
Saturday, March 16, 13
64. How to build UI tests so you won’t hate yourself
Saturday, March 16, 13
78. “The more people think about usability, the more
things tend to work out. It's a virtuous path.”
- Ken Pier, Senior Director of Product Quality,
Socialtext
Saturday, March 16, 13
79. “It’s only words and photos on the internet.”
- John F. Croston III, Web Content Accessibility
Manager for the United States Army (army.mil)
Saturday, March 16, 13
81. Recap
• You Don’t Have To Test Everything
• But do test, intelligently, asking yourself
• What matters?
• Should I automate this?
• Choose a toolchain that’s right for you and your team
• Build a feedback loop
• Build a more descriptive, usable, and testable web
Saturday, March 16, 13
82. I’m writing a book about this stuff!
arrgyle.com/book
@TourDeDave dave@arrgyle.com
Saturday, March 16, 13
84. • A practical guide to usability: http://jfciii.com/presentations/wasp/
accessibility.html
• How to address risk in Agile (view it like an investment portfolio): http://
arrgyle.com/blog/agile-accounting/
• Automated Web Testing Is Hard (Introducing ChemistryKit, an open source
testing framework to make automated web testing easier): http://arrgyle.com/
blog/automated-web-testing-is-hard/
• CSS Selectors in Selenium: http://sauceio.com/index.php/2010/01/selenium-
totw-css-selectors-in-selenium-demystified/
• Locators in Selenium http://marakana.com/bookshelf/selenium_tutorial/
locators.html
Saturday, March 16, 13
85. • Page Objects in Selenium: https://code.google.com/p/selenium/wiki/
PageObjects
• Page Objects Ruby Gem: https://github.com/cheezy/page-object
Saturday, March 16, 13