Luc Perkins joins the show to talk about "Seven Databases in Seven Weeks: A guide to modern databases and the NoSQL movement." We discuss a bit about each database: Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres, and DynamoDB. Special Guest: Luc Perkins. Sponsored By: PyCharm Professional : Try PyCharm Pro for an extended 4 month trial before deciding which version you need. If you value your time, you owe it to yourself to try PyCharm. Promo Code: TESTANDCODE22 Links: Seven Databases in Seven ...
Nov 19, 2018•55 min•Season 1Ep. 53
Brett Cannon discusses the changes afoot in Python packaging as a result of PEP 517, PEP 518, starting with "How did we get here?" and "Where are we going?" Discussed: flit Poetry tox Continuous Integration setup.py, MANIFEST.in, etc. pipenv what's with lock files applications (doesn't go on PyPI) vs libraries (goes on PyPI) workflows dependency resolution deployment dependencies vs development dependencies will lock files be standarized multiple lock files requirements.txt Special Guest: Brett ...
Nov 05, 2018•51 min•Season 1Ep. 52
Andy Knight joins me in discussing the concept of feature testing. A feature tests is "a test verifying a service or library as the customer would use it, but within a single process." That was a quote from an article that appeared on the Twitter engineering blog. The article describes a shift away from class tests towards feature tests, the benefits of the shift, and some reactions to it. Feature tests are similar to something I used to call "functional subcutaneous integration test", but it's ...
Oct 30, 2018•32 min•Season 1Ep. 51
Anthony Shaw joins Brian to discuss flaky tests and flaky test suites. What are flaky tests? Is it the same as fragile tests? Why are they bad? How do we deal with them? What causes flakiness? How can we fix them? How can we avoid them? Proactively rooting out flakiness Test design GUI tests Sharing solutions Special Guest: Anthony Shaw. Sponsored By: DigitalOcean : Get started with a free $100 credit Links: Dropbox article on flaky tests Microsoft article on flaky tests pytest-rerunfailures: a ...
Oct 25, 2018•32 min•Season 1Ep. 50
tox is a simple yet powerful tool that is used by many Python projects. tox is not just a tool to help you test a Python project against multiple versions of Python. In this interview, Oliver and Brian just scratch the surface of this simple yet powerful automation tool. This is from the tox documentation: tox is a generic virtualenv management and test command line tool you can use for: checking your package installs correctly with different Python versions and interpreters running your tests i...
Oct 15, 2018•56 min•Season 1Ep. 49
The story of how I came to find a good user interface for running and debugging automated tests is interleaved with a multi-year effort of mine to have a test workflow that’s works smoothly with product development and actually speeds things up. It’s also interleaved with the origins of the blog pythontesting.net, this podcast, and the pytest book I wrote with Pragmatic. It’s not a long story. And it has a happy ending. Well. It’s not over. But I’m happy with where we are now. I’m also hoping th...
Oct 08, 2018•12 min•Season 1Ep. 48
Interview with Andy Knight, the Automation Panda. Selenium & WebDriver Headless Chrome Gherkin BDD Given When Then pytest-bdd PyCharm Writing Good Gherkin Overhead of Gherkin and if it's worth it When to use pytest vs pytest-bdd The art of test automation Special Guest: Andy Knight. Sponsored By: PyCharm Professional : Try PyCharm Pro for an extended 4 month trial before deciding which version you need. If you value your time, you owe it to yourself to try PyCharm. Promo Code: TESTANDCODE22 ...
Sep 28, 2018•39 min•Season 1Ep. 47
How do you write tests for things that aren’t that easy to write tests for? That question is a possibly terrible summary of a question sent to me by a listener. And to help me start answering that question, I asked a friend of mine to help, Antony Shaw. Of course, different types of applications have different test strategies, so there’s not a universal answer. But I know some of you out there have experience and expertise around how to tackle this problem. Listen to the discussion Anthony and I...
Sep 02, 2018•43 min•Season 1Ep. 46
David Heinemeier Hansson is the creator of Ruby on Rails, founder & CTO at Basecamp (formerly 37signals). He's a best selling author, public speaker, and even a Le Mans class winning racing driver. All of that, of course, is awesome. But that's not why I asked him on the show. In 2014, during a RailsConf keynote, he started a discussion about damage caused by TDD. This was followed by a few blog posts, and then a series of recorded hangouts with Martin Fowler and Kent Beck. This is what I wa...
Aug 13, 2018•41 min•Season 1Ep. 45
Nina Zakharenko is a cloud developer advocate at Microsoft focusing on Python. She's also an excellent public speaker. We talk about her experience with mentoring, both being a mentor, and utilizing mentors. We also talk about public speaking, her move to Microsoft, and to Portland, and the Microsoft/GitHub merge. Special Guest: Nina Zakharenko. Sponsored By: PyCharm Professional : If you value your time, you owe it to yourself to try PyCharm. The team has set up a link just for Test & Code ...
Jul 21, 2018•27 min•Season 1Ep. 44
After I had wrapped up the interview with Kelsey Hightower for episode 43 , I asked him one last question. You see, I admire the his presentation style. So I asked him if he would share with me how he prepared for his presentations. His answer is so thoughtful and makes so much sense, I couldn't keep it to myself. I'm releasing this as a bonus mini-episode so that it's easy to refer back to the next time you or I have a chance to do a technical talk. Special Guest: Kelsey Hightower. ★ Support th...
Jul 17, 2018•9 min•Season 1Ep. 44
I first heard Kelsey speak during his 2017 PyCon keynote. He's an amazing speaker, and I knew right then I wanted to hear more about what he does and hear more of his story. We discuss testing, of course, but we take it further and discuss: tests for large systems, like kubernetes Testing in real world scenarios with all the configuration and everything Becoming a complete engineer by thinking about the end to end flow from the users perspective Learning from other roles, and the value of roles ...
Jul 05, 2018•42 min•Season 1Ep. 43
This interview with Trey Hunner discusses his use of automated tests to help teach programming. Automated testing is a huge part of developing great software. But many new developers don't get exposed to testing for quite a while. But this is changing. New ways to teach programming include automated tests from the beginning. Trey Hunner is one of the PSF directors and a Python and Django team trainer, and he has been using automated tests to help people learn Python. Special Guest: Trey Hunner. ...
Jun 28, 2018•59 min•Season 1Ep. 42
We talk with Anthony Shaw about some of the testing problems facing both DevOps teams, and Agile teams. We also talk about his recent pull request accepted into pytest. Special Guest: Anthony Shaw. Sponsored By: Python Testing with pytest, 2nd edition : The fastest way to learn pytest and practical testing practices. 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: Anthony Shaw on github.io Support for the new b...
Apr 18, 2018•45 min•Season 1Ep. 41
Adam is the host of The Gently Mad podcast, and teaches the steps in creating and growing a podcast in his course Irresistible Podcasting . He was one of the people who inspired Brian to get the Test & Code podcast started in the first place. Brian took his course in 2015. Adam is in the process of updating the course, and building a community around it. Warning: This may be an episode to listen to with headphones if you have kids around. There is swearing. I wanted to get Adam's help to con...
Apr 10, 2018•49 min•Season 1Ep. 40
Complete and exhaustive testing is not possible. Nor would it be fun, or maintainable, or a good use of your time. However, some functionality is important enough to make sure the test behavior coverage is thorough enough to have high confidence in it's quality. In this episode, we discuss 3 techniques that can be combined to quickly generate test cases. We then talk about how to implement them efficiently in pytest. The techniques covered are: equivalence partitioning boundary value analysis de...
Mar 29, 2018•19 min•Season 1Ep. 39
RCRCRC was developed by Karen Nicole Johnson. In this episode we discuss the mnemonic/heuristic and use it to prioritize tests for the cards application. Recent: new features, new areas of code Core: essential functions must continue to work, your products USPs (Unique Selling Propositions) Risk: some areas of an application pose more risk, perhaps areas important to customers but not used regularly by the development team. Configuration sensitive: code that’s dependent on environment settings o...
Mar 13, 2018•11 min•Season 1Ep. 38
This episode starts down the path of test strategy with the first tests to write in either a legacy system or a project just getting off it's feet. We cover: My approach to testing existing systems. Put names to strategies so we can refer to them later. Explain the strategies in general terms and explain why they are useful. Discuss how these strategies are used in an example project. (The code is available on github). Strategies covered today: Dog Fooding Exploratory Testing Tracer Bullet Tests...
Mar 08, 2018•21 min•Season 1Ep. 37
Stephanie is a co-founder and graphics engineer at Binomial. She works on Basis, an image compressor, and has customers in games, video, mapping, and any application that has lots of image data. Stephanie has also been encouraging experienced engineers to open up their twitter DMs to questions from anyone, to help mentor people not only in technical questions, but in career questions as well. She also sets aside some time to mentor people through skype when written form just doesn't cut it. That...
Feb 13, 2018•31 min•Season 1Ep. 36
There are lots of ways to up your skills. Of course, I'm a big fan of learning through reading books, such as upping your testing skills by reading Python Testing with pytest. And then there are online learning systems and MOOCs. At the other end of the spectrum is a full blown university degree. One option kind of in the middle is continuing education programs available through some universities, such as University of Washington. To discuss this option with me in more depth, we've got Andrew Ho...
Feb 01, 2018•25 min•Season 1Ep. 35
An in depth discussion of Test Driven Development (TDD) should include a discussion of Test First. So that's where we start. Why write tests first? How do you know what tests to write? What are the steps for test first? Isn't this just TDD? Functional Tests vs Unit Tests Sponsored By: Python Testing with pytest, 2nd edition : The fastest way to learn pytest and practical testing practices. Patreon Supporters : Help support the show with as little as $1 per month and be the first to know when new...
Dec 31, 2017•25 min•Season 1Ep. 34
A discussion with Katharine Jarmul, aka kjam, about some of the challenges of data science with respect to testing. Some of the topics we discuss: experimentation vs testing testing pipelines and pipeline changes automating data validation property based testing schema validation and detecting schema changes using unit test techniques to test data pipeline stages testing nodes and transitions in DAGs testing expected and unexpected data missing data and non-signals corrupting a dataset with nois...
Nov 30, 2017•37 min•Season 1Ep. 33
A wonderful discussion with David Hussman. David and Brian look back at what all we've learned in XP, TDD, and other Agile methodologies, where things have gone awry, how to bring the value back, and where testing fits into all of this. How to build the wrong thing faster Agile vs Agility Product vs Process Where testing fits into software development practices. "Integration tests, there's a name that needs to be refactored desperately." Integration tests are "story tests". They tell the story o...
Oct 03, 2017•47 min•Season 1Ep. 32
What started as a twitter disagreement carries over into this civil discussion of software testing. Brian and Paul discuss testing practices such as the testing pyramid, TDD, unit testing, system testing, and balancing test effort. the Testing Pyramid the Testing Column TDD unit testing balancing unit with system tests, functional tests API testing subcutaneous testing customer facing tests Special Guest: Paul Merrill. Sponsored By: Patreon Supporters : Help support the show with as little as $1...
Sep 27, 2017•40 min•Season 1Ep. 31
M. Scott Ford is the founder and chief code whisperer at Corgibytes, a company focused on helping other companies with legacy code. Topics include: How M. Scott Ford got into forming a company that works on legacy code. Technical debt Process debt Software testing The testing pyramid iterative development kanban readable code and readable test code Special Guest: M. Scott Ford. Sponsored By: Nerdlettering : Love Python? Show It With Some Python Swag Custom-made Mugs and Accessories for Pythonist...
Aug 01, 2017•42 min•Season 1Ep. 30
Kobiton is a service to test mobile apps on real devices. QASymphony offers software testing and QA tools. Special Guest: Josh Lieberman. 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. ★ Support this podcast on Patreon ★...
Jul 01, 2017•18 min•Season 1Ep. 29
Today we have an interview with Casey Rosenthal of Netflix. One of the people making sure Netflix runs smoothly is Casey Rosenthall. He is the manager for the Traffic, Intuition, and Chaos teams at Netflix. He's got a great perspective on quality and large systems. We talk about Chaos Engineering Experimentation vs Testing Testing Strategy Visualization of large amounts of data representing Steady State Special Guest: Casey Rosenthal. Sponsored By: Nerdlettering : Love Python? Show It With Some ...
Apr 07, 2017•33 min•Season 1Ep. 28
What is the difference between a unit test, an integration test, and a system test? Mahmoud Hashemi helps me to define these terms, as well as discuss the role of all testing variants in software development. What is the difference between a unit test, an integration test, and a system test? TDD testing pyramid vs testing column the role of testing in software development web frameworks listen to wikipedia hatnote the world’s largest photo competition Enterprise Software with Python Links: Mahmo...
Feb 26, 2017•42 min•Season 1Ep. 27
Interview with Sam Van Oort about pyresttest , "A REST testing and API microbenchmarking tool" pyresttest A question in the Test & Code Slack channel was raised about testing REST APIs. There were answers such as pytest + requests, of course, but there was also a mention of pyresttest , https://github.com/svanoort/pyresttest , which I hadn't heard of. I checked out the github repo, and was struck by how user friendly the user facing test definitions were. So I contacted the developer, Sam Va...
Dec 01, 2016•58 min•Season 1Ep. 26
Interview with Dave Hunt @davehunt82 . We Cover: Selenium Driver pytest pytest plugins: pytest-selenium pytest-html pytest-variables tox Dave Hunt’s “help wanted” list on github Mozilla Also: fixtures xfail CI and xfail and html reports CI and capturing pytest code sprint working remotely for Mozilla 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. ★ Support this podcast on Patreon ★...
Dec 01, 2016•42 min•Season 1Ep. 25