QA/Contribute/QA 201

From MozillaWiki
< QA‎ | Contribute
Jump to: navigation, search

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 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.