We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Automated Software Testing with Python

Jose Salvatierra and Teclado by Jose Salvatierra

Welcome to the most comprehensive course on Automated Software Testing with Python on Udemy.

Read more

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

Fear not though, after going through this course, you'll be able to take your new testing knowledge and apply it to any project, even non-web projects.

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 course 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 the runtime of your acceptance tests.

Continuous Integration

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.

Enroll now

What's inside

Learning objectives

  • Everything you need to know about automated software testing with python (and how to enjoy testing, too!)
  • Avoid common pitfalls and implement best practices when writing automated tests
  • 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

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops software testing abilities that are useful in personal and professional roles
Covers methods and concepts that are standard in industry
Teaches methods and concepts that are highly relevant to industry practice
Examines a useful framework for testing applications
Provides testing knowledge that can be applied beyond web applications
Taught by instructors who are recognized for their experience in testing

Save this course

Save Automated Software Testing with Python to your list so you can find it easily later:
Save

Reviews summary

Informative automated testing course

According to students, this course provides a strong foundation in automated software testing with Python. While reviewers say beginners may find some topics challenging, they believe the course is a wise investment.
Helpful learning experience.
"Great course."
"I think it might be a bit much for an absolute beginner... But I believe this is a good investment for anyone"
May be difficult for absolute beginners.
"I think it might be a bit much for an absolute beginner"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Automated Software Testing with Python with these activities:
Review Basic Python Syntax
By reviewing basic Python syntax before the course starts, you can strengthen your foundational understanding and set yourself up for success.
Browse courses on Python Syntax
Show steps
  • Review online tutorials
  • Complete practice exercises
UnitTest Exercises
Regular practice with unit testing exercises will reinforce your understanding and improve your skills in writing effective automated tests.
Browse courses on Unit Testing
Show steps
  • Install Python's unittest library
  • Write unit tests for simple functions
  • Test your code using the unittest framework
Design a Testing Strategy
Creating a testing strategy will help you plan and structure your testing activities, ensuring comprehensive coverage and effectiveness.
Browse courses on Test Planning
Show steps
  • Identify testing goals and objectives
  • Determine the scope and boundaries of testing
  • Select appropriate testing techniques and tools
  • Define test cases and scenarios
Four other activities
Expand to see all activities and additional details
Show all seven activities
Selenium WebDriver Tutorial
Following a guided tutorial on Selenium WebDriver will provide you with practical experience in automating browser tests, enhancing your skills in web application testing.
Browse courses on Selenium WebDriver
Show steps
  • Find a comprehensive Selenium WebDriver tutorial
  • Set up your development environment
  • Walk through the tutorial's examples and exercises
Continuous Integration Pipeline Project
Building a continuous integration pipeline project will give you hands-on experience in setting up automated testing and continuous integration, enhancing your understanding of best practices in software development.
Browse courses on Continuous Integration
Show steps
  • Choose a project or application to test
  • Integrate your project with GitHub
  • Set up a Travis CI pipeline for your project
  • Configure your pipeline to run automated tests
Peer Tutoring
By mentoring others, you can reinforce your understanding of the concepts and strengthen your teaching skills, which can further enhance your own learning.
Browse courses on Python
Show steps
  • Identify a peer who needs assistance
  • Review the course material together
  • Provide guidance and support
Contribute to an Open-Source Testing Project
Contributing to an open-source testing project will allow you to work alongside others, learn from experienced developers, and make a valuable contribution to the testing community.
Browse courses on Open Source
Show steps
  • Identify an open-source testing project to contribute to
  • Review the project's documentation and guidelines
  • Find a task or issue to work on
  • Submit a pull request with your contribution

Career center

Learners who complete Automated Software Testing with Python will develop knowledge and skills that may be useful to these careers:
Software Test Engineer
The Software Test Engineer role plays a crucial role in ensuring software quality and reliability. This course provides a comprehensive foundation in automated software testing with Python, empowering you to perform unit, integration, system, and acceptance testing with proficiency. By mastering these techniques, you'll be able to identify and resolve software defects efficiently, ensuring the delivery of high-quality software products.
Test Automation Engineer
As a Test Automation Engineer, you'll be responsible for designing, developing, and executing automated tests to validate software functionality. This course will equip you with the skills to write robust and maintainable automated tests using Python, covering various types of testing such as unit, integration, and system testing. You'll also learn best practices for test design, execution, and reporting, setting you up for success in this in-demand field.
Quality Assurance Analyst
Quality Assurance Analysts play a vital role in ensuring software quality throughout the development process. This course provides a comprehensive overview of automated software testing with Python, empowering you to analyze and evaluate software functionality, identify defects, and contribute to the delivery of high-quality software products. By mastering the techniques taught in this course, you'll enhance your skills as a Quality Assurance Analyst and contribute effectively to software development teams.
Software Developer
Software Developers are responsible for designing, developing, and maintaining software applications. This course is highly relevant for aspiring and practicing Software Developers who wish to enhance their testing skills. By mastering automated software testing with Python, you'll be able to write effective test cases, identify and resolve defects, and ensure the reliability and quality of your software products. This course will equip you with the skills to excel as a Software Developer in today's competitive tech industry.
QA Engineer
As a QA Engineer, your primary responsibility is to ensure the quality and reliability of software products. This course will provide you with a solid foundation in automated software testing with Python, enabling you to perform comprehensive testing at various levels. You'll learn industry-standard techniques for test design, execution, and reporting, empowering you to contribute effectively to software quality assurance processes and deliver high-quality software products.
Web Developer
Web Developers are responsible for designing, developing, and maintaining websites and web applications. This course is particularly relevant for Web Developers who want to enhance their testing skills and ensure the quality of their web-based products. By mastering automated software testing with Python, you'll be able to write effective test cases, identify and resolve defects, and ensure the reliability and user-friendliness of your web applications.
Data Analyst
Data Analysts play a critical role in analyzing data, identifying trends, and providing insights to businesses. This course may be helpful for Data Analysts who wish to enhance their data analysis capabilities by incorporating automated software testing into their workflows. By leveraging Python for automated testing, you can improve the accuracy and efficiency of your data analysis tasks, leading to more reliable and data-driven decision-making.
DevOps Engineer
DevOps Engineers are responsible for bridging the gap between development and operations teams. This course may be helpful for DevOps Engineers who wish to enhance their testing skills and contribute to the continuous integration and delivery process. By mastering automated software testing with Python, you'll be able to integrate automated tests into your DevOps pipeline, ensuring the quality and reliability of software products throughout their lifecycle.
Business Analyst
Business Analysts play a vital role in understanding business needs and translating them into technical requirements. This course may be helpful for Business Analysts who wish to enhance their understanding of software testing and quality assurance processes. By gaining a solid foundation in automated software testing with Python, you'll be able to effectively collaborate with development and testing teams, ensuring that software products meet business objectives and deliver value.
Product Manager
Product Managers are responsible for defining, planning, and delivering software products. This course may be helpful for Product Managers who wish to enhance their understanding of software testing and quality assurance processes. By gaining a solid foundation in automated software testing with Python, you'll be able to effectively collaborate with development and testing teams, ensuring that software products meet user needs and deliver business value.
Project Manager
Project Managers are responsible for planning, executing, and delivering software projects. This course may be helpful for Project Managers who wish to enhance their understanding of software testing and quality assurance processes. By gaining a solid foundation in automated software testing with Python, you'll be able to effectively manage software testing activities, ensuring that projects are delivered on time, within budget, and meet quality standards.
Technical Writer
Technical Writers are responsible for creating technical documentation, such as user manuals, training materials, and release notes. This course may be helpful for Technical Writers who wish to enhance their understanding of software testing and quality assurance processes. By gaining a solid foundation in automated software testing with Python, you'll be able to effectively write technical documentation that accurately describes software functionality and testing procedures.
IT Auditor
IT Auditors are responsible for evaluating the effectiveness of an organization's IT systems and processes. This course may be helpful for IT Auditors who wish to enhance their understanding of software testing and quality assurance processes. By gaining a solid foundation in automated software testing with Python, you'll be able to effectively audit software development and testing processes, ensuring that software products meet regulatory and compliance requirements.
IT Security Analyst
IT Security Analysts are responsible for protecting an organization's IT systems and data from security threats. This course may be helpful for IT Security Analysts who wish to enhance their understanding of software testing and quality assurance processes. By gaining a solid foundation in automated software testing with Python, you'll be able to effectively test software applications for security vulnerabilities and ensure the confidentiality, integrity, and availability of IT systems.
IT Consultant
IT Consultants provide advice and guidance to organizations on IT-related matters. This course may be helpful for IT Consultants who wish to enhance their understanding of software testing and quality assurance processes. By gaining a solid foundation in automated software testing with Python, you'll be able to effectively advise clients on software testing best practices and help them improve the quality and reliability of their software products.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Automated Software Testing with Python.
This free online book provides a comprehensive guide to using Travis CI for continuous integration. It covers all the essential concepts and techniques, and it good resource for beginners and experienced users alike.
This free online book good starting point for learning how to use Postman for API testing. It covers the basics of using Postman, and it provides some helpful examples.
This practical guide to software testing, covering the entire software testing lifecycle. It good starting point to gain a solid foundation in software testing principles and practices.
Provides a practical guide to using test-driven development with Python. It covers all the essential concepts and techniques, and it good resource for beginners and experienced developers alike.
Provides a practical guide to using Python for automating boring tasks. It good starting point for beginners who want to learn how to use Python for testing.
This classic book on software testing provides a comprehensive overview of the field. It covers a wide range of topics, from test planning and design to test execution and reporting.
Provides a comprehensive guide to writing clean code. It covers all the essential concepts and techniques, and it good resource for beginners and experienced programmers alike.
Provides a comprehensive guide to refactoring code. It covers all the essential concepts and techniques, and it good resource for beginners and experienced programmers alike.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Automated Software Testing with Python.
Selenium WebDriver with Java & Cucumber BDD
Most relevant
Selenium WebDriver JAVA |Best for Beginners |Real...
Most relevant
Advanced Selenium WebDriver with Java and TestNG
Most relevant
Automated Web Testing with Selenium and WebDriver 4 Using...
Most relevant
Web Application Automation - Selenium - Ruby - Cucumber
Most relevant
Selenium WebDriver Java: Basic to Architect Bootcamp 2024
Most relevant
Selenium WebDriver with C# for Beginners + Live Testing...
Most relevant
SDET / Test Automation Architect Masterclass [Hands-On]
Most relevant
Automated Tests in Java with Fluent Interface Using...
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser