
146: Automation Tools for Web App and API Development and Maintenance - Michael Kennedy
02/28/21 • 48 min
Building any software, including web apps and APIs requires testing.
There's automated testing, and there's manual testing.
In between that is exploratory testing aided by automation tools.
Michael Kennedy joins the show this week to share some of the tools he uses during development and maintenance.
We talk about tools used for semi-automated exploratory testing.
We also talk about some of the other tools and techniques he uses to keep Talk Python Training, Talk Python, and Python Bytes all up and running smoothly.
We talk about:
- Postman
- ngrok
- sitemap link testing
- scripts for manual processes
- using failover servers during maintenance, redeployments, etc
- gitHub webhooks and scripts to between fail over servers and production during deployments automatically
- floating IP addresses
- services to monitor your site: StatusCake, BetterUptime
- the affect of monitoring on analytics
- crash reporting: Rollbar, Sentry
- response times
- load testing: Locus
Links:
- Python Bytes Podcast
- Talk Python To Me Podcast
- Talk Python Training
- Postman
- ngrok
- StatusCake
- Better Uptime
- Rollbar
- Sentry
- Locust
- 12 requests per second in Python
Sponsored by:
- The Complete pytest course is now a bundle, with each part available separately.
- pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively.
- Using pytest with Projects has lots of "when you need it" sections like debugging failed tests, mocking, testing strategy, and CI
- Then pytest Booster Rockets can help with advanced parametrization and building plugins.
- Whether you need to get started with pytest today, or want to power up your pytest skills, PythonTest has a course for you.
Building any software, including web apps and APIs requires testing.
There's automated testing, and there's manual testing.
In between that is exploratory testing aided by automation tools.
Michael Kennedy joins the show this week to share some of the tools he uses during development and maintenance.
We talk about tools used for semi-automated exploratory testing.
We also talk about some of the other tools and techniques he uses to keep Talk Python Training, Talk Python, and Python Bytes all up and running smoothly.
We talk about:
- Postman
- ngrok
- sitemap link testing
- scripts for manual processes
- using failover servers during maintenance, redeployments, etc
- gitHub webhooks and scripts to between fail over servers and production during deployments automatically
- floating IP addresses
- services to monitor your site: StatusCake, BetterUptime
- the affect of monitoring on analytics
- crash reporting: Rollbar, Sentry
- response times
- load testing: Locus
Links:
- Python Bytes Podcast
- Talk Python To Me Podcast
- Talk Python Training
- Postman
- ngrok
- StatusCake
- Better Uptime
- Rollbar
- Sentry
- Locust
- 12 requests per second in Python
Sponsored by:
- The Complete pytest course is now a bundle, with each part available separately.
- pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively.
- Using pytest with Projects has lots of "when you need it" sections like debugging failed tests, mocking, testing strategy, and CI
- Then pytest Booster Rockets can help with advanced parametrization and building plugins.
- Whether you need to get started with pytest today, or want to power up your pytest skills, PythonTest has a course for you.
Previous Episode

145: For Those About to Mock - Michael Foord
A discussion about mocking in Python with the original contributor of unittest.mock, Michael Foord.
Of course we discuss mocking and unittest.mock.
We also discuss:
- testing philosophy
- unit testing and what a unit is
- TDD
- where Michael's towel is, and what color
Micheal was instrumental in the building of testing tools for Python, and continues to be a pragmatic source of honest testing philosopy in a field that has a lot of contradictory information.
Links:
- unittest.mock - Python docs
- Mocks Aren't Stubs - Martin Fowler
- pytest-mock
- mock.patch
- Autospeccing
- Arrange Act Assert
- testing-in-python mailing list
- Classical and Mockist Testing — Classical and Mockist Testing
- Test First Programming / Test First Development
- episode 102: Cosmic Python, TDD, testing and external dependencies - Harry Percival
- episode 132: mocking in Python - Anna-Lena Popkes
- pytest
- unittest - Python docs
- pytest assert usage
- 30 best practices for software development and testing | Opensource.com
Next Episode

147: Testing Single File Python Applications/Scripts with pytest and coverage
Have you ever written a single file Python application or script?
Have you written tests for it?
Do you check code coverage?
This is the topic of this weeks episode, spurred on by a listener question.
The questions:
- For single file scripts, I'd like to have the test code included right there in the file. Can I do that with pytest?
- If I can, can I use code coverage on it?
The example code discussed in the episode: script.py
def foo(): return 5 def main(): x = foo() print(x) if __name__ == '__main__': # pragma: no cover main() ## test code # To test: # pip install pytest # pytest script.py # To test with coverage: # put this file (script.py) in a directory by itself, say foo # then from the parent directory of foo: # pip install pytest-cov # pytest --cov=foo foo/script.py # To show missing lines # pytest --cov=foo --cov-report=term-missing foo/script.py def test_foo(): assert foo() == 5 def test_main(capsys): main() captured = capsys.readouterr() assert captured.out == "5\n"Suggestion by @cfbolz if you need to import pytest:
if __name__ == '__main__': # pragma: no cover main() else: import pytestSponsored by:
- The Complete pytest course is now a bundle, with each part available separately.
- pytest Primary Power teaches the super powers of pytest that you need to learn to use pytest effectively.
- Using pytest with Projects has lots of "when you need it" sections like debugging failed tests, mocking, testing strategy, and CI
- Then pytest Booster Rockets can help with advanced parametrization and building plugins.
- Whether you need to get started with pytest today, or want to power up your pytest skills, PythonTest has a course for you.
If you like this episode you’ll love
Episode Comments
Generate a badge
Get a badge for your website that links back to this episode
<a href="https://goodpods.com/podcasts/test-and-code-41514/146-automation-tools-for-web-app-and-api-development-and-maintenance-m-12114780"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to 146: automation tools for web app and api development and maintenance - michael kennedy on goodpods" style="width: 225px" /> </a>
Copy