
The Python Podcast.__init__
Ship With Confidence By Automating Quality Assurance
Aug 28, 2022 · 1 hr 9 min · Episode 375 · 60.9 MB
0:00-1:09:05
Streams straight from the publisher. PodNod never proxies or re-hosts episode audio.
Summary
Quality assurance in the software industry has become a shared responsibility in most organizations. Given the rapid pace of development and delivery it can be challenging to ensure that your application is still working the way it’s supposed to with each release. In this episode Jonathon Wright discusses the role of quality assurance in modern software teams and how automation can help.
Announcements
- Hello and welcome to Podcast.__init__, the podcast about Python’s role in data and science.
- When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it’s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to pythonpodcast.com/linode and get a $100 credit to try out a Kubernetes cluster of your own. And don’t forget to thank them for their continued support of this show!
- Your host as usual is Tobias Macey and today I’m interviewing Jonathon Wright about the role of automation in your testing and QA strategies
Interview
- Introductions
- How did you get introduced to Python?
- Can you share your relationship with software testing/QA and automation?
- What are the main categories of how companies and software teams address testing and validation of their applications?
- What are some of the notable tradeoffs/challenges among those approaches?
- With the increased adoption of agile practices and the "shift left" mentality of DevOps, who is responsible for software quality?
- What are some of the cases where a discrete QA role or team becomes necessary? (or is it always necessary?)
- With testing and validation being a shared responsibility, competing with other priorities, what role does automation play?
- What are some of the ways that automation manifests in software quality and testing?
- How is automation distinct from software tests and CI/CD?
- For teams who are investing in automation for their applications, what are the questions they should be asking to identify what solutions to adopt? (what are the decision points in the build vs. buy equation?)
- At what stage(s) of the software lifecycle does automation live?
- What is the process for identifying which capabilities and interactions to target during the initial application of automation for QA and validation?
- One of the perennial challenges with any software testing, particularly for anything in the UI, is that it is a constantly moving target. What are some of the patterns and techniques, both from a developer and tooling perspective, that increase the robustness of automated validation?
- What are the most interesting, innovative, or unexpected ways that you have seen automation used for QA?
- What are the most interesting, unexpected, or challenging lessons that you have learned while working on QA and automation?
- When is automation the wrong choice?
- What are some of the resources that you recommend for anyone who wants to learn more about this topic?
Keep In Touch
- @Jonathon_Wright on Twitter
- Website
Picks
- Tobias
- The Sandman Netflix series and Graphic Novels by Neil Gaimain
- Jonathon
- House of the Dragon HBO series
- Mystic Quest TV series
- It’s Always Sunny in Philadelphia
Links
- Haskell
- Idris
- Esperanto
- Klingon
- Planguage
- Lisp Language
- TDD == Test Driven Development
- BDD == Behavior Driven Development
- Gherkin Format
- Integration Testing
- Chaos Engineering
- Gremlin
- Chaos Toolkit
- Requirements Engineering
- Keysight
- QA Lead Podcast
- Cognitive Learning TED Talk
- OpenTelemetry
- Quality Engineering
- Selenium
- Swagger
- XPath
- Regular Expression
- Test Guild
The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA
pythonpodcast.com/linode
pythonpodcast.comLinkedIn
linkedin.com@Jonathon_Wright
twitter.comWebsite
jonathon-wright.comNetflix series
netflix.comGraphic Novels
neilgaiman.comNeil Gaimain
neilgaiman.comHouse of the Dragon
hbo.comMystic Quest
imdb.comHaskell
haskell.orgIdris
idris-lang.orgEsperanto
en.wikipedia.orgKlingon
en.wikipedia.orgPlanguage
gilb.comLisp Language
en.wikipedia.orgTDD == Test Driven Development
en.wikipedia.orgBDD == Behavior Driven Development
en.wikipedia.orgGherkin Format
cucumber.ioIntegration Testing
en.wikipedia.orgChaos Engineering
principlesofchaos.orgGremlin
gremlin.comChaos Toolkit
chaostoolkit.orgPodcast Episode
pythonpodcast.comRequirements Engineering
en.wikipedia.orgKeysight
keysight.comQA Lead Podcast
theqalead.comCognitive Learning TED Talk
youtube.comOpenTelemetry
opentelemetry.ioPodcast Episode
pythonpodcast.comQuality Engineering
en.wikipedia.orgSelenium
selenium.devSwagger
swagger.ioXPath
developer.mozilla.orgRegular Expression
en.wikipedia.orgTest Guild
testguild.comThe Freak Fandango Orchestra
freemusicarchive.orgCC BY-SA
creativecommons.org
- 0:13Introduction and Guest Introduction
- 1:06Jonathan Wright's Background in Automation
- 4:07The Evolution of QA and Testing
- 10:06Distribution of Responsibility in QA
- 19:30Quality vs. Testing
- 27:08Automation in QA: Beyond CICD
- 38:00Investing in Automation Tools
- 44:24Limitations of AI and ML in Automation
- 49:03Innovative Uses of Automation in QA
- 1:00:09Lessons Learned in Automation
- 1:04:28Resources for Learning About Automation
- 1:06:31Picks of the Week