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.
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 Google Account with Webdriver in Python or Javascript.
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.
Curriculum Development/Pedagogy
This will fall into two broad categories:
1. Quick one-shots, to contribute scripts to repositories in existing projects. This will be vocational rather than academic — aimed at folks who are trying to acquire and demonstrate job skills. These will benefit from Webmaker's work on Host a Training, remixable teaching kits.
2. Longer term "significant body of work" for academic/university credit. This may take the form of testing frameworks or suites, but will be at the scale of affecting a whole project rather than just one corner of testing.
In 2014Q3 and subsequent quarters, we hope that the first 'class' of folks (6 to 12 people) to go through QA 201 will stick around and help us with several Mozilla projects, including but not limited to:
- Firefox Accounts
- Sync 1.5
- Marketplace
- Token Server
- Find My Device
- Simple Push
Definition of the rewards and recognition they will get for doing this work
- Linkedin Recommendations
- GitHub verification? (fork the work and/or put it in Mozilla Repo)
- Letter of recommendations