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.
- 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
- 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
- Lisp Language
- TDD == Test Driven Development
- BDD == Behavior Driven Development
- Gherkin Format
- Integration Testing
- Chaos Engineering
- Chaos Toolkit
- Requirements Engineering
- QA Lead Podcast
- Cognitive Learning TED Talk
- Quality Engineering
- Regular Expression
- Test Guild