Summary We all know that testing is an important part of software and systems development. The problem is that as our systems and applications grow, the amount of testing necessary increases at an exponential rate. Cris Medina joins us this week to talk about some of the problems and approaches associated with testing these complex systems and some of the ways that Python can help. Brief Introduction Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at pythonpodcast.com Linode is sponsoring us this week. Check them out at linode.com/podcastinit and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at getsentry.com Hired has also returned as a sponsor this week. If you’re looking for a job as a developer or designer then Hired will bring the opportunities to you. Sign up at hired.com/podcastinit to double your signing bonus. The O’Reilly Velocity conference is coming to New York this September and we have a free ticket to give away. If you would like the chance to win it then just sign up for our newsletter at pythonpodcast.com To help other people find the show you can leave a review on iTunes, and tell your friends and co-workers Join our community! Visit discourse.pythonpodcast.com for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas. Your hosts as usual are Tobias Macey and Chris Patti Today we’re interviewing Cris Medina about test engineering for large and complex systems. Interview with Cris Medina Introductions How did you get introduced to Python? – Chris To get us started can you share your definition of test engineering and how it differs from the types of testing that your average developer is used to? – Tobias What are some common industries or situations where this kind of test engineering becomes necessary? – Tobias How and where does Python fit into the kind of testing that becomes necessary when dealing with these complex systems? – Tobias How do you determine which areas of a system to test and how can Python help in that discovery process? – Tobias What are some of your favorite tools and libraries for this kind of work? – Tobias What are some of the areas where the existing Python tooling falls short? – Tobias Given the breadth of concerns that are encompassed with testing the various components of these large systems, what are some ways that a test engineer can get a high-level view of the overall state? – Tobias How can that information be distilled for presentation to other areas of the business? – Tobias Could that information be used to provide a compelling business case for the resources required to test properly? – Chris Given the low-level nature of this kind of work I imagine that proper visibility of the work being done can be difficult. How do you make sure that management can properly see and appreciate your efforts? – Tobias Keep In Touch Twitter Picks Tobias Samsung Galaxy Tab S2 Anker SoundCore Bluetooth Speaker Chris On Writing Well This Episode Was Written by an AI The Three Rs Cris CherryPy Etcd Thinking Fast And Slow by Daniel Kahneman Spain Links Behave Pytest BDD Hypothesis Episode XX – Hypothesis Flask CherryPy Django Pandas NumPy Celery Bokeh Vincent Toga D3 Sunburst D3 Chord Diagrams The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA