Course Code: sftest
Duration: 28 hours
Overview:

This course has been created for test managers, quality assurance staff, testers, software developers, project managers and management in order to explain how the Agile project management frameworks (notably SCRUM) deal with testing.

Selenium is an open source library for automating web application testing across multiple browsers. Selenium interacts with a browser as people do: by clicking links, filling out forms and validating text. It is the most popular tool for web application test automation. Selenium is built on the WebDriver framework and has excellent bindings for numerous scripting languages, including Python.

In this instructor-led, live training participants combine the power of Python with Selenium to automate the testing of a sample web application. By combining theory with practice in a live lab environment, participants will gain the knowledge and practice needed to automate their own web testing projects using Python and Selenium.

Format of the course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.
Course Outline:

Where the requirements come from?

  • Traditional Business Analysis
  • Use Cases, Scenarios and Tests
  • Non functional requirements
  • Performance
  • Conformance
  • UML in Business Analysis

Introduction to testing

  • Functional Tests
  • Regression Test
  • UAT Tests
  • Unit Tests
  • Usability Tests
  • Non Functional Tests
  • Performance test
  • Load test
  • Stress test
  • Soak test

Test or not to test

  • Who is making decisions about what to test?
  • The cost of testing irrelevant things
  • Calculating ROI (what if something fails analysis)
  • The role of Test Manager

The process of Testing

  • Testing is a process and a strategy
  • Identifying testing needs
  • Gathering requirements (use cases, user stories)
  • Scoping (choosing and prioritize scenarios)
  • Designing tests
  • Preparing data
  • Preparing environment
  • Creating or Recording tests
  • Perform the test
  • Analysis and reports
  • Conclusions and improvement
  • When to say "stop"

Product owner and Tests

  • The customer representative and test priority
  • Prioritizing tests
  • Writing effective stories for UAT
  • Acceptance criteria
  • Group exercise to produce customer requirements and write stories based on the requirements and create tests

The sprint

  • Sprint backlog and tests user stories
  • Group exercise to plan a sprint

Finishing a sprint

  • Scrum review meeting is a test

Is Agile and Scrum for you?

  • Review of the Scrum process
  • Comparison with other methodologies
  • Benefits of pair programming
  • Question and Answers Session

Introduction to Selenium with Python

  • Python vs Java for writing test scripts

Installation and Setup

Selecting a Python IDE or Editor

Overview of Selenium Architecture

  • Selenium IDE
  • Selenium WebDriver
  • Selenium Grid

Python Scripting Essentials for Test Automation

Working with Selenium Webdriver

The Anatomy of a Web Application

Locating Page Elements through Page Objects

Creating a Unit Test

Accessing a Database

Developing a Test Framework

Running Test Suites against Multiple Browsers

Working with Selenium Grid

Troubleshooting

Closing Remarks