QA/Contribute/QA 201
This seminar/hack session series is intended to give hands-on practice to folks wanting to learn more about automated testing techniques. It is not intended for beginners; some knowledge of Python or Javascript will be required. Each session should take 60-90 minutes to complete.
See also: Black box manual testing is covered in QA 101.
Contents
Topics under consideration
When to automate
- The "rule of threes" - what is the rule of threes?
There are two "rules of threes," and they are related: 1. If you're going to do it more than three times, you should automate it. 2. Once is a fluke, twice is co-incidence, three times is where you start to dig out the underlying pattern.
- The three risk areas and how that effects what and how we automate
- When to mock
- Avoiding brittleness
- Which language? Which framework?
Simple login with Selenium/Webdriver
How to automate a login into a Firefox Account with Webdriver in Python or Javascript.
REMO log in / log out example
https://github.com/mozilla/remo-tests/blob/master/tests/test_login_logout.py
https://github.com/mozilla/remo-tests/blob/master/pages/home.py
Introduction to Sauce Labs with Webdriver
Running the login from the previous session in multiple browsers with a free Saucelabs account. Small discussion of the differences between local and remote testing.
Logging into a Firefox Account
We'll use 123done as an example relying party, and explain what a 'relying party' is.
Error handling in test scripts
Which errors should be assumed to be transient, and which should lead to hard failures?
Introduction to Mozmill
Mozmill is a Firefox-specific test framework, written in both Python and Javascript. We'll automate a simple login flow using the Mozmill tools.