Python for Test Engineers

Course category
Training area
Course code
PY-404
Duration
4 days
Additional information
Available for on-site delivery only. Can be delivered remotely or Face-to-Face.

Python is typically associated with web and internet development but is an invaluable tool for any test engineer. This course gives the test engineer the ability to use Python comfortably and interact with an embedded platform to show the ease with which Python can make the complicated, trivial. Delegates will gain an understanding of essential programming techniques.

This course introduces the Python 3 language for use by test engineers working with embedded systems and external hardware. The focus is on using Python to automate the testing process, analysis test results, and interact with hardware and external test software. Emphasis is placed on best practices for developing and maintaining Python scripts as well as efficient use of Python data types and OO techniques.
 
Course objectives:

  • To provide a solid understanding of the essentials of the Python programming language.
  • To give you practical experience of writing Python scripts to automate testing.
  • To help you work with test result data and undertake basic numeric data analysis.

Delegates will learn:

  • Python 3 syntax, object model and program structure
  • Data types including tuples, lists, dictionaries and Numpy arrays
  • Reading and writing text and binary files
  • Automating the testing process
  • Simple numeric data analysis
  • Running external programs
  • Interfacing to existing C/C++ library code
  • Interacting with hardware via serial lines or network sockets

Pre-requisites:

The course is designed for test engineers with experience in at least one
programming or scripting language sufficient to work with if statements and for
loops.

Who should attend?

This course should be attended by engineers required to use Python in a testing
role, or those seeking an introduction to Python programming. This course is
suitable for those with limited experience of programming and as a refresher to
bring Python skills up to date.

Duration:

4 days.

Course materials:

  • Delegate handbook
  • Lab solutions
  • Bootable USB data-key

Course workshop:

Up to 50% of the course is hands-on exercises. Students will develop Python 3
scripts using either Eclipse/pydev or PyCharm and work with exercises based on
real world test scenarios.

python-logo-75.png

Python 3 overview

  • Writing scripts
  • Numeric data types
  • String handling
  • Structure and control flow

Compound data types

  • Containers:  tuples, lists and iteration
  • Dictionaries
  • Objects, classes, methods and attributes

Program structure

  • Functions
  • Modules
  • Error handling

Testing

  • Static analysis and Python 3 type hints
  • File handling
  • Unit testing and TDD
  • Test cases, test suites and automating testing

Test result analysis

  • File handling
  • Handling test results
  • Numeric data analysis using Numpy and Pandas
  • Analysing time series data

Optional modules

  • Lambdas & Generator functions *
  • Working with the OS *
  • Binary Files
  • Serial I/O
  • Network programming with sockets
  • Concurrency and Python 3 Futures
  • Reading from web services
  • Command line argument parsing
  • External processes *
  • Interfacing to C library code
  • Pattern matching and extraction using regular expressions
  • Cleaning data and working with large data sets

* Optional Modules taught on a public PY-404 Course

(Please note, we cannot deliver all optional
modules in 4 days)