Sinopsis
Test & Code is a weekly podcast hosted by Brian Okken.The show covers a wide array of topics including software development, testing, Python programming, and many related topics. When we get into the implementation specifics, that's usually Python, such as Python packaging, tox, pytest, and unittest. However, well over half of the topics are language agnostic, such as data science, DevOps, TDD, public speaking, mentoring, feature testing, NoSQL databases, end to end testing, automation, continuous integration, development methods, Selenium, the testing pyramid, and DevOps.
Episodios
-
97: 2019 Retrospective, 2020 Plans, and an amazing decade
31/12/2019 Duración: 24minThis episode is not just a look back on 2019, and a look forward to 2020. Also, 2019 is the end of an amazingly transofrmative decade for me, so I'm going to discuss that as well. top 10 episodes of 2019 10: episode 46, Testing Hard To Test Applications - Anthony Shaw 9: episode 64, Practicing Programming to increase your value 8: episode 70, Learning Software without a CS degree - Dane Hillard 7: episode 75, Modern Testing Principles - Alan Page 6: episode 72, Technical Interview Fixes - April Wensel 5: episode 69, Andy Hunt - The Pragmatic Programmer 4: episode 73, PyCon 2019 Live Recording 3: episode 71, Memorable Tech Talks, The Ultimate Guide - Nina Zakharenko 2: episode 76, TDD: Don’t be afraid of Test-Driven Development - Chris May 1: episode 89, Improving Programming Education - Nicholas Tollervey Looking back on the last decade Some amazing events, like 2 podcasts, a book, a blog, speaking events, and teaching has led me to where we're at now. Looking forward to 2020 and beyond I disc
-
96: Azure Pipelines - Thomas Eckert
16/12/2019 Duración: 26minPipelines are used a lot in software projects to automated much of the work around build, test, deployment and more. Thomas Eckert talks with me about pipelines, specifically Azure Pipelines. Some of the history, and how we can use pipelines for modern Python projects.Special Guest: Thomas Eckert.Sponsored By: PyCharm Professional: Try PyCharm Pro with a 4 month free trial. Promo Code: TESTANDCODE22Links: click repo Azure Pipelines Action · Actions · GitHub Marketplace If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.
-
95: Data Science Pipeline Testing with Great Expectations - Abe Gong
30/11/2019 Duración: 23minData science and machine learning are affecting more of our lives every day. Decisions based on data science and machine learning are heavily dependent on the quality of the data, and the quality of the data pipeline. Some of the software in the pipeline can be tested to some extent with traditional testing tools, like pytest. But what about the data? The data entering the pipeline, and at various stages along the pipeline, should be validated. That's where pipeline tests come in. Pipeline tests are applied to data. Pipeline tests help you guard against upstream data changes and monitor data quality. Abe Gong and Superconductive are building an open source project called Great Expectations. It's a tool to help you build pipeline tests. This is quite an interesting idea, and I hope it gains traction and takes off.Special Guest: Abe Gong.Sponsored By: Raygun: Detect, diagnose, and destroy Python errors that are affecting your customers. With smart Python error monitoring software from Raygun.com, you can
-
94: The real 11 reasons I don't hire you - Charity Majors
18/11/2019 Duración: 34minYou've applied for a job, maybe lots of jobs. Depending on the company, you've gotta get through: a resume review a coding challange a phone screen maybe another code example an in person interview If you get the job, and you enjoy the work, awesome, congratulations. If you don't get the job, it'd be really great to know why. Sometimes it isn't because you aren't a skilled engineer. What other reasons are there? Well, that's what we're talking about today. Charity Majors is the cofounder and CTO of Honeycomb.io, and we're going to talk about reasons for not hiring someone. This is a very informative episode both for people who job hunt in the future and for hiring managers and people on the interview team.Special Guest: Charity Majors.Sponsored By: PyCharm Professional: Try PyCharm Pro with a 4 month free trial. Promo Code: TESTANDCODE22Links: The (Real) 11 Reasons I Don’t Hire You — The article If you like Test & Code, I think you'll also like Python People Python People is a new podcast about
-
93: Software Testing, Book Writing, Teaching, Public Speaking, and PyCarolinas - Andy Knight
31/10/2019 Duración: 30minAndy Knight is the Automation Panda. Andy Knight is passionate about software testing, and shares his passion through public speaking, writing on automationpanda.com, teaching as an adjunct professor, and now also through writing a book and organizing a new regional Python conference. Topics of this episode include: Andy's book on software testing Being an adjunct professor Public speaking and preparing talk proposals including tips from Andy about proposals and preparing for talks PyCarolinas Special Guest: Andy Knight.Sponsored By: Raygun: Detect, diagnose, and destroy Python errors that are affecting your customers. With smart Python error monitoring software from Raygun.com, you can be alerted to issues affecting your users the second they happen. Links: Automation Panda Andy's Speaking events PyCarolinas 2020 If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to c
-
92: 9 Steps to Crater Quality & Destroy Customer Satisfaction - Cristian Medina
20/10/2019 Duración: 35minCristian Medina wrote an article recently called "Test Engineering Anti-Patterns: Destroy Your Customer Satisfaction and Crater Your Quality By Using These 9 Easy Organizational Practices" Of course, it's sarcastic, and aims to highlight many problems with organizational practices that reduce software quality. The article doesn't go out of character, and only promotes the anti-patterns. However, in this interview, we discuss each point, and the corollary of what you really should do. At least, our perspectives. Here's the list of all the points discussed in the article and in this episode: Make the Test teams solely responsible for quality Require all tests to be automated before releasing Require 100% code coverage Isolate the Test organization from Development Measure the success of the process, not the product. Metrics, if rewarded, will always be gamed. Require granular projections from engineers Reward quick patching instead of solving Plan for today instead of tomorrow Special Guest: Cristian
-
91: Python 3.8 - there's a lot more new than most people are talking about
16/10/2019 Duración: 21minPython 3.8.0 final is live and ready to download. On todays episode, we're going to run through what's new, picking out the bits that I think are the most interesting and affect the most people, including new language features standard library changes optimizations in 3.8 Not just the big stuff everyone's already talking about. But also some little things that will make programming Python even more fun and easy. I'm excited about Python 3.8. And really, this episode is to my way to try to get you excited about it too.Sponsored By: PyCharm Professional: Try PyCharm Pro with a 4 month free trial. Promo Code: TESTANDCODE22Links: What’s New In Python 3.8 - at docs.python.org Download Python 3.8 at Python.org If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.
-
90: Dynamic Scope Fixtures in pytest 5.2 - Anthony Sottile
11/10/2019 Duración: 34minpytest 5.2 was just released, and with it, a cool fun feature called dynamic scope fixtures. Anthony Sottile so tilly is one of the pytest core developers, so I thought it be fun to have Anthony describe this new feature for us. We also talk about parametrized testing and really what is fixture scope and then what is dynamic scope.Special Guest: Anthony Sottile.Sponsored By: Raygun: Detect, diagnose, and destroy Python errors that are affecting your customers. With smart Python error monitoring software from Raygun.com, you can be alerted to issues affecting your users the second they happen. Links: pytest changelog pytest fixtures dynamic scope fixtures episode 82: pytest - favorite features since 3.0 the pytest book — Python Testing with pytest If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.
-
89: Improving Programming Education - Nicholas Tollervey
28/09/2019 Duración: 42minNicholas Tollervey is working toward better ways of teaching programming. His projects include the Mu Editor, PyperCard, and CodeGrades. Many of us talk about problems with software education. Nicholas is doing something about it.Special Guest: Nicholas Tollervey.Sponsored By: Azure Pipelines: Automate your builds and deployments with pipelines so you spend less time with the nuts and bolts and more time being creative. Many organizations and open source projects are using Azure Pipelines already. Get started for free at azure.com/pipelines Links: Code With Mu — a simple Python editor for beginner programmers Made With Mu — A blog to celebrate projects that use the Mu Python code editor to create cool stuff. PyperCard — Easy GUIs for All CodeGrades If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.
-
88: Error Monitoring, Crash Reporting, Performance Monitoring - JD Trask
21/09/2019 Duración: 48minTools like error monitoring, crash reporting, and performance monitoring are tools to help you create a better user experience and are fast becoming crucial tools for web development and site reliability. But really what are they? And when do you need them? You've built a cool web app or service, and you want to make sure your customers have a great experience. You know I advocate for utilizing automated tests so you find bugs before your customers do. However, fast development lifecycles, and quickly reacting to customer needs is a good thing, and we all know that complete testing is not possible. That's why I firmly believe that site monitoring tools like logging, crash reporting, performance monitoring, etc are awesome for maintaining and improving user experience. John-Daniel Trask, JD, the CEO of Raygun, agreed to come on the show and let me ask all my questions about this whole field.Special Guest: John-Daniel Trask.Sponsored By: Raygun: Detect, diagnose, and destroy Python errors that are affecting
-
87: Paths to Parametrization - from one test to many
11/09/2019 Duración: 19minThere's a cool feature of pytest called parametrization. It's totally one of the superpowers of pytest. It's actually a handful of features, and there are a few ways to approach it. Parametrization is the ability to take one test, and send lots of different input datasets into the code under test, and maybe even have different output checks, all within the same test that you developed in the simple test case. Super powerful, but something since there's a few approaches to it, a tad tricky to get the hang of.Sponsored By: PyCharm Professional: Try PyCharm Pro with a 4 month free trial. Promo Code: TESTANDCODE22Links: git branch — -a : list all branches, -r : just remotes pytest changelog pytest deprecations and removals Python Testing with pytest — Test function parametrization is in chapter 2. Fixture parametrization is in chapter 3. Parametrizing test functions — pytest documentation pytest fixtures — pytest documentation If you like Test & Code, I think you'll also like Python People Python People
-
86: Teaching testing best practices with 4 testing maxims - Josh Peak
06/09/2019 Duración: 22minYou've incorporated software testing into your coding practices and know from experience that it helps you get your stuff done faster with less headache. Awesome. Now your colleagues want in on that super power and want to learn testing. How do you help them? That's where Josh Peak is. He's helping his team add testing to their workflow to boost their productivity. That's what we're talking about today on Test & Code. Josh walks us through 4 maxims of developing software tests that help grow your confidence and proficiency at test writing.Special Guest: Josh Peak.Sponsored By: Raygun: Detect, diagnose, and destroy Python errors that are affecting your customers. With smart Python error monitoring software from Raygun.com, you can be alerted to issues affecting your users the second they happen. Links: From Zero to Test: Turning hurdles into steps. Advanced Python Testing — Posts pytest-vcr VCR.py pytest-randomly If you like Test & Code, I think you'll also like Python People Python People
-
85: Speed Up Test Suites - Niklas Meinzer
26/08/2019 Duración: 26minGood software testing strategy is one of the best ways to save developer time and shorten software development delivery cycle time. Software test suites grow from small quick suites at the beginning of a project to larger suites as we add tests, and the time to run the suites grows with it. Fortunately, pytest has many tricks up it's sleave to help shorten those test suite times. Niklas Meinzer is a software developer that recentely wrote an article on optimizing test suites. In this episode, I talk with Niklas about the optimization techniques discussed in the article and how they can apply to just about any project.Special Guest: Niklas Meinzer.Sponsored By: Azure Pipelines: Automate your builds and deployments with pipelines so you spend less time with the nuts and bolts and more time being creative. Many organizations and open source projects are using Azure Pipelines already. Get started for free at azure.com/pipelines Links:Profiling and improving the runtime of a large pytest test suite | Niklas Mei
-
84: CircuitPython - Scott Shawcroft
20/08/2019 Duración: 36minAdafruit enables beginners to make amazing hardware/software projects. With CircuitPython, these projects can now use Python. The combination of Python's ease of use and Adafruit's super cool hardware and a focus on a successful beginner experience makes learning to write code that controls hardware super fun. In this episode, Scott Shawcroft, the project lead, talks about the past, present, and future of CircuitPython, and discusses the focus on the beginner. We also discuss contributing to the project, testing CircuitPython, and many of the cool projects and hardware boards that can use CircuitPython, and Blinka, a library to allow you to use "CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython," including Raspberry Pi.Special Guest: Scott Shawcroft.Sponsored By: Patreon Supporters: Help support the show with as little as $1 per month and be the first to know when new episodes come out. Links: CircuitPython Downloads — All the products that run CircuitPy
-
83: PyBites Code Challenges behind the scenes - Bob Belderbos
16/08/2019 Duración: 24minBob Belderbos and Julian Sequeira started PyBites a few years ago. They started doing code challanges along with people around the world and writing about it. Then came the codechalleng.es platform, where you can do code challenges in the browser and have your answer checked by pytest tests. But how does it all work? Bob joins me today to go behind the scenes and share the tech stack running the PyBites Code Challenges platform. We talk about the technology, the testing, and how it went from a cool idea to a working platform.Special Guest: Bob Belderbos.Sponsored By: PyCharm Professional: Try PyCharm Pro with a 4 month free trial. Promo Code: TESTANDCODE22Links: PyBites PyBites Code Challenges coding platform Learning Paths Julian's article on whiteboard interviews Selenium running on CodeChalleng.es If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeo
-
82: pytest - favorite features since 3.0 - Anthony Sottile
31/07/2019 Duración: 36minAnthony Sottile is a pytest core contributor, as well as a maintainer and contributor to many other projects. In this episode, Anthony shares some of the super cool features of pytest that have been added since he started using it. We also discuss Anthony's move from user to contributor, and how others can help with the pytest project.Special Guest: Anthony Sottile.Sponsored By: Azure Pipelines: Automate your builds and deployments with pipelines so you spend less time with the nuts and bolts and more time being creative. Many organizations and open source projects are using Azure Pipelines already. Get started for free at azure.com/pipelines Links: pytest documentation pytest Changelog pytest API Reference sponsor pytest getting started contributing to pytest the book: Python Testing with pytest — The fastest way to learn pytest If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. B
-
81: TDD with flit
17/07/2019 Duración: 25minIn the last episode, we talked about going from script to supported package. I worked on a project called subark and did the packaging with flit. Today's episode is a continuation where we add new features to a supported package and how to develop and test a flit based package. Covered: viewing stages of a project with git tags flit support for editable installs flit description entry in pyproject.toml to put README on pypi. development dependencies in pyproject.toml editor layout for optimal TDD-ing test case grouping modifications to traditional TDD that helps me develop faster. code and command snippets from episode: For git checkout of versions: $ git clone https://github.com/okken/submark.git $ cd submark $ python3 -m venv venv --prompt submark $ source ./bin/activate (submark) $ git checkout v0.1 ... etc ... (submark) $ git checkout v0.7 To grab the latest again: (submark) $ git checkout master pyproject.toml change for README to show up on pypi: [tool.flit.metadata] ... description
-
80: From Python script to Maintainable Package
04/07/2019 Duración: 22minThis episode is a story about packaging, and flit, tox, pytest, and coverage. And an alternate solution to "using the src". Python makes it easy to build simple tools for all kinds of tasks. And it's great to be able to share small projects with others on your team, in your company, or with the world. When you want to take a script from "just a script" to maintainable package, there are a few steps, but none of it's hard. Also, the structure of the code layout changes to help with the growth and support. Instead of just talking about this from memory, I thought it'd be fun to create a new project and walk through the steps, and report back in a kind of time lapse episode. It should be fun. Here are the steps we walk through: 0.1 Initial script and tests 0.2 build wheel with flit 0.3 build and test with tox 0.4 move source module into a package directory 0.5 move tests into tests directory Sponsored By: Pantheon: Pantheon makes building, managing, and optimizing websites simpler. Get started for free a
-
79: Fixing misinformation about software testing
27/06/2019 Duración: 22minSome information about software testing is just wrong. I'm not talking about opinions. I have lots of opinions and they differ from other peoples opinions. I'm talking about misinformation and old information that is no longer applicable. I've ran across a few lateley that I want to address. All of the following are wrong: Integrated tests can't work. I can prove it with wacky math. Tests have to be blazing fast or they won't get run. TDD is about design, not about testing. This episode discusses why these are wrong.Sponsored By: Pantheon: Pantheon makes building, managing, and optimizing websites simpler. Get started for free at pantheon.io/testandcode. Links: Why should you write tests? - A Question of Code Podcast Boundaries talk by Gary Bernhardt Integrated Tests Are A Scam - J B Rainsberger UnitTest - Solitary or Sociable - and speed - Martin Fowler Premature optimization is the root of all evil -- DonaldKnuth My reaction to "Is TDD Dead?" - Python Testing Test-induced design damage - DHH Slow da
-
78: I don't write tests because ...
19/06/2019 Duración: 30minRoadblocks to writing tests, and what to do about it. Some developers either don't write tests, or don't like writing tests. Why not? I love writing tests. In this episode we examine lots of roadblocks to testing, and start coming up with solutions for these.Sponsored By: Pantheon: Pantheon makes building, managing, and optimizing websites simpler. Get started for free at pantheon.io/testandcode. Links: "I don’t write tests because ____. " twitter question episode 75: Modern Testing Principles episode 76: TDD: Don’t be afraid of Test-Driven Development "A QA engineer walks into a bar" If you like Test & Code, I think you'll also like Python People Python People is a new podcast about getting to know the people who make Python and our community awesome. Be sure to check out pythonpeople.fm.