Cademy logoCademy Marketplace

Course Images

Automated Software Testing with Python

Automated Software Testing with Python

🔥 Limited Time Offer 🔥

Get a 10% discount on your first order when you use this promo code at checkout: MAY24BAN3X

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 12 hours 55 minutes

  • All levels

Description

Learn about automated software testing with Python, BDD, Selenium WebDriver, and Postman, focusing on web applications

Welcome to the most comprehensive course on automated software testing with Python. Software testing is an essential skill for any developer, and this course will help you truly understand all types of test automation with Python. 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-ranging from operations such as mocking and patching using the unit test library (to reduce dependencies and turn complex tests into simple ones) to looking at all types of testing: simple unit tests to large system tests and even customer acceptance tests. Throughout the course we work on the Testing Pyramid concept, making sure that we have full coverage of every system component with unit tests. Then we test dependencies using integration tests. Finally, we cover the entire system using system tests. Of course, we 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. We also learn about implicit and explicit waits with Selenium WebDriver and Python, a key concept used to speed up the runtime of your acceptance tests. By implementing a Continuous Integration pipeline that runs your tests whenever you make any changes, you'll have much higher project quality so that you don't miss any annoying bugs. We'll look at putting our projects into GitHub and linking with them. All the codes and supporting files for this course are available at: https://github.com/PacktPublishing/Automated-Software-Testing-with-Python

What You Will Learn

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
Write complete system tests using Python and tools such as Postman
Automate your application testing by setting up a Continuous Integration pipeline using Travis CI
Browser-based acceptance testing using Behave and Selenium WebDriver

Audience

This course is designed for students who want to test their Python applications in order to build more complete solutions, professionals keen to learn more about automated software testing in their workplace, automated software testers, and software developers

Approach

A complete course packed with step-by-step instructions, working examples, and helpful advice

Key Features

Learn automated software testing with Python * Learn to write complete system tests using Python and tools such as Postman

Github Repo

https://github.com/packtpublishing/automated-software-testing-with-python

About the Author

Jose Salvatierra Fuentes

Jose, a passionate educator in the realm of coding and software development, has dedicated over 7 years to teaching online. He founded Teclado with a vision to democratize software development education, striving to ensure comprehensive understanding for his students. His approach makes learning coding a clear, rewarding journey, connecting the dots that once seemed obscure. Specializing in Python and JavaScript, Jose excels in web and backend development. He's proficient in various libraries and frameworks, including Flask, React, React Native, and AngularJS. His expertise extends to working with UNIX systems, MongoDB, PostgreSQL, and crafting advanced system architectures. Jose's commitment is to make the learning process both efficient and enjoyable, guiding students to mastery in software development.

Course Outline

1. Welcome

This section welcomes the course

1. Welcome to the course

Welcome: Welcome to the course


2. A Full Python Refresher

This section is about Python Refresher and includes lectures on Variables in Python, Methods, List, tuple and sets.

1. Variables in Python

A Full Python Refresher: Variables in Python

2. String formatting in Python

A Full Python Refresher: String formatting in Python

3. Getting user input

A Full Python Refresher: Getting user input

4. Writing our first Python app

A Full Python Refresher: Writing our first Python app

5. Lists, tuples, and sets

A Full Python Refresher: Lists, tuples, and sets

6. Advanced set operations

A Full Python Refresher: Advanced set operations

7. Booleans in Python

A Full Python Refresher: Booleans in Python

8. If statements

A Full Python Refresher: If statements

9. The 'in' keyword in Python

A Full Python Refresher: The 'in' keyword in Python

10. If statements with the 'in' keyword

A Full Python Refresher: If statements with the 'in' keyword

11. Loops in Python

A Full Python Refresher: Loops in Python

12. List comprehensions in Python

A Full Python Refresher: List comprehensions in Python

13. Dictionaries

A Full Python Refresher: Dictionaries

14. Destructuring variables

A Full Python Refresher: Destructuring variables

15. Functions in Python

A Full Python Refresher: Functions in Python

16. Function arguments and parameters

A Full Python Refresher: Function arguments and parameters

17. Default parameter values

A Full Python Refresher: Default parameter values

18. Functions returning values

A Full Python Refresher: Functions returning values

19. Lambda functions in Python

A Full Python Refresher: Lambda functions in Python

20. Dictionary comprehensions

A Full Python Refresher: Dictionary comprehensions

21. Unpacking arguments

A Full Python Refresher: Unpacking arguments

22. Unpacking keyword arguments

A Full Python Refresher: Unpacking keyword arguments

23. Object-Oriented Programming in Python

A Full Python Refresher: Object-Oriented Programming in Python

24. Magic methods: __str__ and __repr__

A Full Python Refresher: Magic methods: __str__ and __repr__

25. @classmethod and @staticmethod

A Full Python Refresher: @classmethod and @staticmethod

26. Class inheritance

A Full Python Refresher: Class inheritance

27. Class composition

A Full Python Refresher: Class composition

28. Type hinting in Python 3.5+

A Full Python Refresher: Type hinting in Python 3.5+

29. Imports in Python

A Full Python Refresher: Imports in Python

30. Relative imports in Python

A Full Python Refresher: Relative imports in Python

31. Errors in Python

A Full Python Refresher: Errors in Python

32. Custom error classes

A Full Python Refresher: Custom error classes

33. First-class functions

A Full Python Refresher: First-class functions

34. Simple decorators in Python

A Full Python Refresher: Simple decorators in Python

35. The 'at' syntax for decorators

A Full Python Refresher: The 'at' syntax for decorators

36. Decorating functions with parameters

A Full Python Refresher: Decorating functions with parameters

37. Decorators with parameters

A Full Python Refresher: Decorators with parameters

38. Mutability in Python

A Full Python Refresher: Mutability in Python

39. Mutable default parameters (and why they're a bad idea)

A Full Python Refresher: Mutable default parameters (and why they're a bad idea)


3. Your first automated software test

In this section, you will do your first automated software test. This shows Setting up project, writing first test, testing dictionary equivalence and lot more.

1. Introduction to this section

Your first automated software test: Introduction to this section

2. Setting up our project

Your first automated software test: Setting up our project

3. Writing our first test

Your first automated software test: Writing our first test

4. Testing dictionary equivalence

Your first automated software test: Testing dictionary equivalence

5. Writing blog tests and PyCharm run configurations

Your first automated software test: Writing blog tests and PyCharm run configurations

6. The __repr__ method, and intro to TDD

Your first automated software test: The __repr__ method, and intro to TDD

7. Integration tests and finishing the blog

Your first automated software test: Integration tests and finishing the blog

8. Mocking, patching, and system tests

Your first automated software test: Mocking, patching, and system tests

9. Patching the input method and returning values

Your first automated software test: Patching the input method and returning values

10. Taking our patching further

Your first automated software test: Taking our patching further

11. The last few patches!

Your first automated software test: The last few patches!

12. The TestCase setUp method

Your first automated software test: The TestCase setUp method

13. Conclusion of this section

Your first automated software test: Conclusion of this section


4. Testing a Flask Endpoint

This section is about testing a Flask Endpoint and includes lectures on Setting up project, creating our flask app, refactoring the system tests and so on.

1. Introduction to this section

Testing a Flask Endpoint: Introduction to this section

2. Setting our project up

Testing a Flask Endpoint: Setting our project up

3. Creating our Flask app

Testing a Flask Endpoint: Creating our Flask app

4. Our first System test

Testing a Flask Endpoint: Our first System test

5. Refactoring our System Tests

Testing a Flask Endpoint: Refactoring our System Tests

6. Conclusion of this section

Testing a Flask Endpoint: Conclusion of this section


5. REST API Testing, Part I

This section includes REST API Testing.

1. Introduction to this section

REST API Testing, Part I: Introduction to this section

2. A look at a REST API with Flask

REST API Testing, Part I: A look at a REST API with Flask

3. Unit testing a REST API

REST API Testing, Part I: Unit testing a REST API

4. Setting up our generic BaseTest

REST API Testing, Part I: Setting up our generic BaseTest

5. Integration testing a REST API

REST API Testing, Part I: Integration testing a REST API

6. Conclusion of this section

REST API Testing, Part I: Conclusion of this section


6. REST API Testing, Part II

This section is about REST API Testing

1. Introduction to this section

REST API Testing, Part II: Introduction to this section

2. Setting up our project

REST API Testing, Part II: Setting up our project

3. Testing foreign key constraints with Python

REST API Testing, Part II: Testing foreign key constraints with Python

4. Unit testing models and SQLAlchemy mappers

REST API Testing, Part II: Unit testing models and SQLAlchemy mappers

5. Finishing our Store tests

REST API Testing, Part II: Finishing our Store tests

6. Conclusion of this section

REST API Testing, Part II: Conclusion of this section


7. System testing a REST API

This section is about System testing a REST API

1. Introduction to this section

System testing a REST API: Introduction to this section

2. Setting project up and creating User model

System testing a REST API: Setting project up and creating User model

3. Allowing users to log in

System testing a REST API: Allowing users to log in

4. Writing our User tests

System testing a REST API: Writing our User tests

5. The setUpClass method in the BaseTest

System testing a REST API: The setUpClass method in the BaseTest

6. Testing user registration

System testing a REST API: Testing user registration

7. Finalising user System tests

System testing a REST API: Finalising user System tests

8. Writing Store System tests

System testing a REST API: Writing Store System tests

9. Writing our Item System tests and testing authentication

System testing a REST API: Writing our Item System tests and testing authentication

10. Conclusion of this section

System testing a REST API: Conclusion of this section


8. System testing with Postman and Newman

This section involves System testing with Postman and Newman.

1. Introduction to this section

System testing with Postman and Newman: Introduction to this section

2. Introduction to Postman

System testing with Postman and Newman: Introduction to Postman

3. Our first Posman tests

System testing with Postman and Newman: Our first Posman tests

4. Setting and clearing environment variables in Postman

System testing with Postman and Newman: Setting and clearing environment variables in Postman

5. Running a test folder in Postman

System testing with Postman and Newman: Running a test folder in Postman

6. Advanced PyCharm run configurations

System testing with Postman and Newman: Advanced PyCharm run configurations

7. Installing Node and Newman

System testing with Postman and Newman: Installing Node and Newman

8. Multirun in PyCharm-Running app and tests together

System testing with Postman and Newman: Multirun in PyCharm-Running app and tests together

9. Conclusion of this section

System testing with Postman and Newman: Conclusion of this section


9. Continuous Integration with Travis CI

This section is about Continuous Integration with Travis CI

1. Introduction to this section

Continuous Integration with Travis CI: Introduction to this section

2. Installing Git

Continuous Integration with Travis CI: Installing Git

3. What is a Git repository?

Continuous Integration with Travis CI: What is a Git repository?

4. A local Git workflow

Continuous Integration with Travis CI: A local Git workflow

5. GitHub and remote repositories

Continuous Integration with Travis CI: GitHub and remote repositories

6. Adding our project to GitHub

Continuous Integration with Travis CI: Adding our project to GitHub

7. What is Travis CI?

Continuous Integration with Travis CI: What is Travis CI?

8. Adding our repository to Travis

Continuous Integration with Travis CI: Adding our repository to Travis

9. The Travis config file and running tests

Continuous Integration with Travis CI: The Travis config file and running tests

10. Adding our test badge to the Readme

Continuous Integration with Travis CI: Adding our test badge to the Readme

11. Conclusion of this section

Continuous Integration with Travis CI: Conclusion of this section


10. Acceptance testing and browser automation with Selenium

This section is about Acceptance testing and browser automation with Selenium in detail.

1. Introduction to this section

Acceptance testing and browser automation with Selenium: Introduction to this section

2. What is acceptance testing?

Acceptance testing and browser automation with Selenium: What is acceptance testing?

3. Introduction to our project

Acceptance testing and browser automation with Selenium: Introduction to our project

4. Our first acceptance test step

Acceptance testing and browser automation with Selenium: Our first acceptance test step

5. Getting the Chrome webdriver

Acceptance testing and browser automation with Selenium: Getting the Chrome webdriver

6. Verifying everything works

Acceptance testing and browser automation with Selenium: Verifying everything works

7. Finishing our first test

Acceptance testing and browser automation with Selenium: Finishing our first test

8. Re-using steps with the regular expression matcher

Acceptance testing and browser automation with Selenium: Re-using steps with the regular expression matcher

9. Our first content test

Acceptance testing and browser automation with Selenium: Our first content test

10. Page locators and models

Acceptance testing and browser automation with Selenium: Page locators and models

11. The blog page

Acceptance testing and browser automation with Selenium: The blog page

12. Using pages in navigation

Acceptance testing and browser automation with Selenium: Using pages in navigation

13. Don't over-generalise tests!

Acceptance testing and browser automation with Selenium: Don't over-generalise tests!

14. Waits and timeouts with Selenium

Acceptance testing and browser automation with Selenium: Waits and timeouts with Selenium

15. Debugging acceptance tests in PyCharm

Acceptance testing and browser automation with Selenium: Debugging acceptance tests in PyCharm

16. Our final complex scenario

Acceptance testing and browser automation with Selenium: Our final complex scenario

17. Filling in forms with Selenium

Acceptance testing and browser automation with Selenium: Filling in forms with Selenium

18. Conclusion of this section

Acceptance testing and browser automation with Selenium: Conclusion of this section

Course Content

  1. Automated Software Testing with Python

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews