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.
Want to learn how to use Selenium from the ground up? This presentation will show you how to start from nothing and build out a well factored, maintainable, resilient, and parallelized set of tests that will run locally, on a Continuous Integration server, and in the cloud. These tests will not only work well, but exercise relevant functionality that matters to the business.
Want to learn how to use Selenium from the ground up? This presentation will show you how to start from nothing and build out a well factored, maintainable, resilient, and parallelized set of tests that will run locally, on a Continuous Integration server, and in the cloud. These tests will not only work well, but exercise relevant functionality that matters to the business.
What makes up an acceptance testing framework? Especially one that will help you use Selenium successfully? How about a list of what ones currently exist? We've got you covered.
This talk was prepared for the DC Selenium Meetup in April 2013.
Continuous Testing Meets the Classroom at Code.orgSauce Labs
Code.org's Brian Jordan, a Software Engineer, takes the audience for a fun tour of Code.org’s continuous, automated testing suite. Brian discusses how Code.org approaches testing throughout the product development cycle, given their unique testing challenges—developing interactive, game-like curriculum for just the types of browsers you’d expect to find in school computer labs—from Internet Explorer 9 to iPads across 40+ languages.
Ever want to automate your web testing with Selenium? Usually it works well, but then there are times where it seems to be brittle and unreliable. Sometimes, your company might want to stop using this (and stop the automated test effort!).
How can we prevent Selenium tests from becoming Shelfware? Selenium based tests can in fact be reliable and should actively be used in the regression test effort.
Key Takeaways; Alan Ark shares techniques he uses to turn sick test automation codebases into a reliable workhorse. Techniques include AJAX-proofing, use of the Page Object model, and pop-up handling.
These are the slides for the talk given at https://www.meetup.com/South-Florida-Software-Testing/events/233980212
Short summary:
KISS (Keep It Simple Stupid) techniques and practices in Web UI Automation on topics:
- selenium webdriver vs wrappers
- XPath vs CSS Selectors + Selene
- End to End vs Atomic tests
- Pretty vs Simple reports
- BDD vs XUnit style of tests
- PageObject vs PageModules (OOP vs Procedural/Modular programming)
You do not need automation engineer - Sqa Days - 2015 - ENIakiv Kramarenko
English Version of presentation for the "You don't need automation engineer" talk, given (in russian) at SQA Days 2015.
You can watch the "screencast" try-out cut at https://youtu.be/TZhbI-JPdG0
Web ui tests examples with selenide, nselene, selene & capybaraIakiv Kramarenko
Code Examples Cut from Polyglot Automation talk given at QA Fest
full video: https://www.youtube.com/watch?v=D4w8btYlbRY
full presentation: http://www.slideshare.net/yashaka/polyglot-automation-qa-fest-2015
This is a presentation about mobile apps testing using Appium. The presentation conrtains tips on comprehensive testing of apps written for various devices and platforms.
Presentation by Yaroslav Pernerovskyy (Lead Test Engineer, GlobalLogic, Kyiv), delivered at UA Mobile, November 22, 2014.
More details - http://uamobile.org
Slides from "Polyglot Automation" talk given at QA Fest conference.
There are many good programming languages. But test automation is preety simple so the power of language will not matter. But choosing language does matter for effective automation. How to choose the language for Web UI automation? Why Web UI automation is easy? How to choose easyy tools for your automation? How to learn new language and why? We will try to answer all these questions in this talk.
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...Iakiv Kramarenko
***VIDEO***: view in SD at http://youtu.be/HPHKeBakulQ or download in HD at http://bit.ly/1nyvA67
Often we have lack of automation resources. If we just would involve less experienced juniors to implement test model and even Manual QA to write DSL like tests…
In this talk I want to present the simplified approach to write PageObjects for your test model as it would be like playing “three chords” song on a guitar. And also share the experience of pacifying the LoadableComponent pattern, rather hard in implementation but making your tests much more DRY and easy to use in context of loading pages.
- Why Selenide for Web UI Automation
- Demo on how to implement your own Selenide in Python (link to video (in Russian) and github sources attached)
- Benefits and Comparison to other approaches
What makes up an acceptance testing framework? Especially one that will help you use Selenium successfully? How about a list of what ones currently exist? We've got you covered.
This talk was prepared for the DC Selenium Meetup in April 2013.
Continuous Testing Meets the Classroom at Code.orgSauce Labs
Code.org's Brian Jordan, a Software Engineer, takes the audience for a fun tour of Code.org’s continuous, automated testing suite. Brian discusses how Code.org approaches testing throughout the product development cycle, given their unique testing challenges—developing interactive, game-like curriculum for just the types of browsers you’d expect to find in school computer labs—from Internet Explorer 9 to iPads across 40+ languages.
Ever want to automate your web testing with Selenium? Usually it works well, but then there are times where it seems to be brittle and unreliable. Sometimes, your company might want to stop using this (and stop the automated test effort!).
How can we prevent Selenium tests from becoming Shelfware? Selenium based tests can in fact be reliable and should actively be used in the regression test effort.
Key Takeaways; Alan Ark shares techniques he uses to turn sick test automation codebases into a reliable workhorse. Techniques include AJAX-proofing, use of the Page Object model, and pop-up handling.
These are the slides for the talk given at https://www.meetup.com/South-Florida-Software-Testing/events/233980212
Short summary:
KISS (Keep It Simple Stupid) techniques and practices in Web UI Automation on topics:
- selenium webdriver vs wrappers
- XPath vs CSS Selectors + Selene
- End to End vs Atomic tests
- Pretty vs Simple reports
- BDD vs XUnit style of tests
- PageObject vs PageModules (OOP vs Procedural/Modular programming)
You do not need automation engineer - Sqa Days - 2015 - ENIakiv Kramarenko
English Version of presentation for the "You don't need automation engineer" talk, given (in russian) at SQA Days 2015.
You can watch the "screencast" try-out cut at https://youtu.be/TZhbI-JPdG0
Web ui tests examples with selenide, nselene, selene & capybaraIakiv Kramarenko
Code Examples Cut from Polyglot Automation talk given at QA Fest
full video: https://www.youtube.com/watch?v=D4w8btYlbRY
full presentation: http://www.slideshare.net/yashaka/polyglot-automation-qa-fest-2015
This is a presentation about mobile apps testing using Appium. The presentation conrtains tips on comprehensive testing of apps written for various devices and platforms.
Presentation by Yaroslav Pernerovskyy (Lead Test Engineer, GlobalLogic, Kyiv), delivered at UA Mobile, November 22, 2014.
More details - http://uamobile.org
Slides from "Polyglot Automation" talk given at QA Fest conference.
There are many good programming languages. But test automation is preety simple so the power of language will not matter. But choosing language does matter for effective automation. How to choose the language for Web UI automation? Why Web UI automation is easy? How to choose easyy tools for your automation? How to learn new language and why? We will try to answer all these questions in this talk.
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...Iakiv Kramarenko
***VIDEO***: view in SD at http://youtu.be/HPHKeBakulQ or download in HD at http://bit.ly/1nyvA67
Often we have lack of automation resources. If we just would involve less experienced juniors to implement test model and even Manual QA to write DSL like tests…
In this talk I want to present the simplified approach to write PageObjects for your test model as it would be like playing “three chords” song on a guitar. And also share the experience of pacifying the LoadableComponent pattern, rather hard in implementation but making your tests much more DRY and easy to use in context of loading pages.
- Why Selenide for Web UI Automation
- Demo on how to implement your own Selenide in Python (link to video (in Russian) and github sources attached)
- Benefits and Comparison to other approaches
We are all working harder and harder, and many of us have reached our limit. Giving us a faster more powerful laptop might make a marginal gain, and faster broadband complemented by smarter search engines might add a few more percentage points to our productivity, but the big ITC gains have been won. We have become the limiters of work output and not our technology. The technology now waits for us and not the other way around.
To make the next leap in productivity and creativity we need help – specifically, we need machine help! Men and women alike need a third intelligence – a new way of thinking – a new perspective – and a new route to problem solving and creativity. So where will it com from, or in other words, why is my laptop, PC, Pad, Tablet so dumb?
Even with Moore's Law continuing at it's present rate or accelerating, true machine intelligence will remain largely embedded in our networks. The good news is; it will soon be available as a commercial service in The Cloud. Much later, it is likely to appear in our devices to perform specific tasks related to our work, health, life and leasure. In both cases the primary key is sensors, sensor networks, and adaptability of software and hardware.
Big Data Is Not the Insight: The Language Of Discovery: Joe Lamantia
Designing Effective Search and Discovery Experiences for the Enterprise, Using the Language of Discovery
The oncoming tidal wave of Big Data, with its rapidly evolving ecosystem of multi-channel information saturated environments and services, brings profound challenges and opportunities for the design of effective user experiences that UX practitioners are just beginning to engage with in a meaningful fashion. In this coming Age of Insight, 'discovery' is not only the purview of specialized Data Scientists who create exotic visualizations of massive data sets, it is a fundamental category of human activity that is essential to everyday interactions between people, resources, and environments. Search is the gateway to discovery, and thus is indispensable as a capability.
To provide architects and designers with an effective starting point for creating satisfying search and discovery experiences this session presents a simple analytical and generative vocabulary for understanding how people conduct the broad range of discovery activities necessary in the information-permeated enterprise, and defining the search experiences they need.
Specifically, this session will present:
A simple, research-derived language for describing search and discovery needs and activities that spans domains, environments, media, and user types
Observed and reusable patterns of discovery activities in individual and collaborative settings
A practical model that defines actionable patterns of information engagement throughout the enterprise
Examples of the architecture of successful discovery experiences at small and large scales
A vocabulary and perspective for discovery as a critical individual and organizational capability
Guidance on using this vocabulary to drive large scale IT portfolio management as well as the design of individual search solutions
Alert overload is bad for people and bad for business. In this presentation we discuss ways to get your business on board with actionable alerts, and how to prune poor alerts from your system.
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