- 13.5 hours on-demand video
- 14 articles
- 5 downloadable resources
- 7 coding exercises
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Everything you need to know about automated software testing with Python (and how to enjoy testing, too!)
- Common pitfalls and best practices when writing automated tests
- How to write complete system tests using Python and tools like Postman
- Automate your application testing by setting up a continuous integration pipeline using Travis CI
- Browser-based acceptance testing using Behave and Selenium WebDriver
Welcome to the Python refresher section! In this video we give a brief introduction to this section.
In this video we look at variables in Python—the most fundamental building block of the Python language.
In this video we look at collections in Python: lists, tuples, and sets. These allow us to store multiple values in the same variable.
Welcome to this section on acceptance testing! Acceptance testing is a very exciting form of testing that encourages customers to write the tests.
Using Behavior-Driven Development (BDD), we can easily model our tests after what customers say. Learn all about it in this section!
Just a word of warning in this video! You will not have too many acceptance tests, so don't worry about making everything as efficient and generalised as possible. Often, that will result in poor readability and maintainability.
It's okay to have a small amount of duplication in the pursuit of better maintainability in the long term!
Instead, this video covers implicit waits: waiting for something to happen. As soon as it happens, the test moves on—not wasting any precious time.
- We'll give you a complete Python refresher, but some previous knowledge of programming will be helpful
- Some knowledge of how web applications work
- Understanding of REST APIs will be helpful, but not required
Welcome to the most comprehensive course on Automated Software Testing with Python on Udemy.
Testing automation doesn't have to be painful. Software testing is an essential skill for any developer, and I'm here to help you truly understand all types of test automation with Python.
I'm Jose, software engineer and founder of Teclado. The focus of this course is on testing for the web—we'll be working with REST APIs and web applications, and technologies such as unittest, Postman, and Selenium WebDriver.
What will you work with?
This course is jam packed with all the latest technologies for you to use professionally and in personal projects:
- The unittest library, Python's standard automated software testing library;
- Mocking and patching, two essential tools to reduce dependencies when testing;
- unit, integration, system, and acceptance testing—all types of testing to have you fully covered;
- Postman for easy collaboration and testing while developing;
- Selenium WebDriver for automated browser tests;
- Git and Travis for continuous integration of your project.
Fundamental Software Testing Skills
We will cover every fundamental software testing skill that you need to know in order to get a job testing or to apply these skills in your existing projects.
From things like mocking and patching using the unittest library, which reduce dependencies and turn complex tests to simple ones; to looking at all types of testing: simple unit tests to large system tests and even customer acceptance tests.
The Testing Pyramid
The Testing Pyramid says you should have a lot of unit tests, slightly fewer integration tests, even fewer system tests, and as few acceptance tests as possible.
Throughout the program we work on this concept, making sure that we have full coverage of every component of our system with unit tests. Then we test the dependencies using integration tests. Finally, we cover the entire system and its assumptions using system tests. Of course, we'll also look at what acceptance testing is, how we come up with acceptance tests, and some of the best ways to write acceptance tests for a web application using Behavior-Driven Development and Selenium WebDriver.
Automated Browser Testing with Selenium WebDriver
Selenium WebDriver is extremely powerful, particularly when coupled with the efficient and tried-and-tested approach recommended in this course. We'll design our acceptance tests professionally—just the way you'd do at a software testing job. We'll use page models, locators, and step definitions to structure the automated tests in a reusable way. The customers will be able to come up with acceptance tests that you can easily translate to code.
We'll also learn about implicit and explicit waits with Selenium WebDriver and Python, a key concept to speed up runtime of your acceptance tests.
We also cover how you can take automated testing much further in your projects.
By implementing a Continuous Integration pipeline that runs your tests whenever you make any changes, you'll have much higher quality in your projects and not let any pesky bugs pass you by. We'll look at putting our projects in GitHub and liking the CI pipeline with them.
I'm really excited to guide you through this course!
Join me in this automated testing journey. I'll see you on the inside!
- Advanced students who want to learn about testing their Python applications to build more complete solutions
- Professionals wanting to learn more about automated software testing in their workplace
- Automated software testers and software developers