Python Test Automation Training Course

Training » All Courses » Python » Python Test Automation

Course Summary

This is a fast-paced introduction to testing with the popular scripting language Python. Teams that complete this course gain a basic understanding of the Python language and the hands on experience necessary to write and manage suites of tests written in Python.

 
After a basic introduction to Python students will learn about the different kinds of tests necessary for complex software development. Students will gain hands-on experience in the art of unit testing by writing unit testing Python code, exploring common refactoring patterns and learning to mock external resources when necessary. Students will then explore common testing scenarios by writing acceptance tests that run against web interfaces and external programs.
 
Students will also explore common tools and libraries used to manage test discovery and execution, test reporting including code coverage, and continuous integration of test suites.
 
Topics include Python's doctest and unittest modules, the Nose test runner along with the code-coverage plugin, mocking and monkey-patching, twill, lettuce and interfacing with Jenkins.

[top] Duration

4 days.

[top] Audience

This class is designed for programmers wanting to write tests in Python. Previous Python programming experience will be extremely helpful but is not required. Previous programming experience (in any language) is a prerequisite as the course assumes familiarity with the basic concepts of programming.

[top] Prerequisites

This class is designed for programmers wanting to write tests in Python. Previous Python programming experience will be extremely helpful but is not required. Previous programming experience (in any language) is a prerequisite as the course assumes familiarity with the basic concepts of programming.

[top] Instructors

Photo

Simeon has been been a software developer for a decade and a half with expertise in many old and annoying technologies like Visual Basic, Delphi, Perl and PHP. In 2007 while working as the lead developer for a web design firm he discovered Python and liked it so much he quit his job to use it!

Since then his career as a developer has been particularly focused on "big data" web applications but Python and Django have remained his favorite tools of choice.

For the last two years Simeon has been an expert instructor for Marakana, creating and teaching Python, Django, and client side Javascript courses for developers at technology giants like Cisco, Intel, and Facebook. He can be found hanging out and organizing the Python Community in the Bay Area at Baypiggies or SF Python Meetup and you can follow him on twitter @simeonfranklin or on his blog at simeonfranklin.com More about Simeon Franklin...

[top] Outline

Day 1

Intro to basic Python 1:

 This is not complete coverage of the language but just enough Python to be able to write tests.
  • variables types
  • (basic and container)
  • flow of execution (if, while, for)
  • basic function declaration and invocation

Day 2

Intro to basic Python 2

  • exceptions
  • modules and namespaces
  • Classes and Objects

Day 3

Intro to testing with Python

  • doctest
  • UnitTest
  • Writing testable code and testing already written code
  • using data fixtures
  • Using mocks and dependency injection for test isolation
  • mocking files
  • mocking networks

Day 4

Applied Testing with Python

  • Using static checkers and linters (pylint, pep8.py)
  • tools for discovery and reporting: using nose with the coverage plugin
  • Types of testing: unit tests vs integration testing
  • Case study: testing web apps with twill
  • Case study: testing command line applications with pexpect
  • Continuous Integration (via Hudson)