I have been using Python for more than 10 years for a variety of stuff. Initially, I used it for GUI applications. Then I quickly moved to the scientific usage as my academic projects demanded it. When I entered professional life, I used it for automation first and then for implementation of alert mechanisms. I have been using Python for the last six years in the various fields of scientific computing, Internet of Things (IoT), and single board computers. I have written plenty of Python code over these years. I always prefer it to bash scripting, which offers limited capabilities to users like me. Over the period of the last 10 years, I worked as a developer, an R&D engineer, a maker, an author, and a QA specialist. I used Python in every single role.
Whenever I write any code, I unit test it thoroughly every time. Earlier I used to unit test all my Python modules in the good old manual way. I used to run all the scripts once and compare the outcome with what’s expected. However, I experienced that when your codebase grows larger, it’s pretty difficult to perform the activity of testing the scripts manually. Also, all the scripts have to be tested, re-tested, and tested for regression whenever a small part of the codebase changes. I was looking for a way to run all the tests automatically and then I started reading about test automation. It immediately aroused my curiosity and, after a couple of days, I was running my own automated Python tests. After acquainting myself with the philosophy of test automation, I applied the knowledge to automate unit and integration testing to web, mobile, GUI, API, and a variety of other types of applications using programming languages like C++, Python, Java, and PHP.
I wrote this book to share my knowledge and experiences while automating the unit tests in Python 3. I explore different frameworks and plugins in this book. I learned about the tools and techniques explained in this book by spending numerous hours learning, coding, discussing, and actively participating in diverse Internet forums. I have condensed the knowledge to the basics of the unit test automation frameworks in this book. I hope readers will enjoy reading and following the book as much as I enjoyed writing it.