045B: The AftershowShow Details24min 43s
045: Join Our DiscordShow Details10min 57s
044: Facebook's No Good Very Bad WeekShow Details55min 5s
043: Relay Race ProgrammingShow Details50min 8s
042: Potluck #3Show Details51min 53s
040: Automaticity Is a Weird WordShow Details41min 59s
039: Ben's Future at InVisionShow Details51min 54s
038: Holding Developers AccountableShow Details57min 54s
037: Brian Klaas Talks CloudShow Details1hr 17min
036: Blogs and Digital GardensShow Details58min 32s
035: Being a Swamp GuideShow Details47min 39s
034: Some of My Best Friends Are React Developers!Show Details44min 18s
033: Software PatentsShow Details42min 35s
032: What Comes After Senior Developer?Show Details49min 52s
031: To The Cloud! But Why?Show Details1hr 1min
030: Carol's Consult Catch-Up ConversationShow Details48min 34s
029: Potluck #2Show Details46min 8s
028: Buy vs. DIYShow Details47min 30s
027: Giving Technical PresentationsShow Details34min 15s
026: PasswordsShow Details59min 6s
025: Breaking Up With Your StackShow Details1hr 1min
024: The Archetype of an Effective DeveloperShow Details1hr 25min
023: Book Club #1 Clean Code by "Uncle Bob" Martin (pt2)Show Details1hr 6min
022: Book Club #1 Clean Code by "Uncle Bob" Martin (pt1)Show Details1hr 11min
021: Listener Questions #2Show Details1hr 21min
020: Carol Needs a ConsultShow Details58min 15s
019: MakefilesShow Details1hr 15min
018: Feature Flags (Finally!)Show Details1hr 25min
017: Premature OptimizationShow Details53min 47s
016: InterviewingShow Details1hr 16min
015: Potluck #1Show Details1hr 22min
014: Zen and the Art of Pull RequestsShow Details1hr 12min
013: Do What You Love And You'll Never Work A Day In Your LifeShow Details46min 51s
012: Idiomatic CodeShow Details42min 3s
011: Listener Questions #1Show Details1hr 10min
010: ScalingShow Details1hr 9min
009: TestingHide Details58min 13s
58min 13sPublished Feb 10, 2021 at 12:00pm
There are very few people in the programming world who will argue against the idea of testing software. But, when it comes to the mechanisms though which code is tested, the conversation starts to get interesting. There are those who feel that TDD - Test Driven Development - is "the way"; and, that any divergence from TDD is not only laziness but is, in fact, borderline malfeasance. At the other end of the spectrum are the people who perform all their testing manually; often, relying on QA (Quality Assurance) teams and smoke tests to find regressions before each deployment.
Most people sit somewhere in the middle of these extremes. This week, the crew talks about their own views and experience with testing; and, how they currently implement testing at work. Ben swings heavily towards the manual testing end of the spectrum; Adam and Carol swing heavily towards the automated end of the spectrum; and Tim, who often feels very hypocritical, sits somewhere in the middle.
Triumphs & Fails
- Adam's Triumph: He's been working hard to get his company's application migrated over to a new open-source software stack. And, as of this recording, he's successfully moved 9 of his 13 production servers over to the new setup; and, everything seems to be running smoothly! He's feeling very strong on hitting his goals of migrating the rest of the servers by the end of January.
- Ben's Failure: This week has been kicking his butt! He hasn't been sleeping well, he can't get comfortable in his chair, and everything seems to hurt. He's carrying a boat-load of tension in his neck and shoulders and he just can't seem to get past it. The only saving grace is that he can use his "standing desk" controls to select the perfect height for sitting.
- Carol's Failure: She's also having a tough time getting comfortable! Her body hurts from her tail-bone up to her head; and, the heating pad she's using just ain't doing it. She's currently on the hunt for a new chair that might help offer some relief. But, being the Amazonian warrior that she is makes things a bit more challenging. As she says: "I can't help it - I have six feet of legs and they have to go somewhere!" And, as the icing on the cake, she accidentally deleted the configuration settings for all seven of her home networks. She had automatic backups configured; but, she accidentally turned them off 3-months ago.
- Tim's Triumph: It's been a while since he was able to get into a groove; but, this week, he finally achieved flow state: that moment when the world disappears, time loses meaning, and all you can see is the code in front of you as it appears to pour out of your hands without effort or thought. He summed this feeling up quite nicely: "I feel less like I'm pushing a stone uphill and more like there's a river just flowing through me." I mean, come on, he even wrote a Regular Expression!
Notes & Links
- Pure Function - a function that produced no side-effects; and, whose outputs are determined entirely by its inputs.
- CFML - ColdFusion Markup Language, a language specification for one of the most powerful web application runtimes.
- Unit testing - a low-level test of an individual unit of code.
- Integration testing - a mid-level test of a group of software units running together.
- End-to-End / Functional testing - a high-level test of an entire software system, typically looking at happy paths through an application.
- Manual testing - using human to run tests on a piece of software.
- Automated testing - using computers to run tests on a piece of software.
- Static testing - evaluation of code without having to execute it (think linters and strongly typed languages).
- Testing budget - a concept in which the tests that can block a deployment have to run within a certain time window.
- Rich Hickey: YouTube - please, just go watch all of his videos.
- Software regression - a bug that appears, and often breaks, a previously-working piece of code.
- Guillermo Rauch - CEO of Vercel.
- REST Assured - a testing framework for application APIs.
- Gatling - load testing software.
- Feature flags - tooling that allows you to turn parts of an application on or off without having to redeploy it.
- Strangler pattern
- Ben Nadel: My Personal Best Practices For Using LaunchDarkly Feature Flags - a tome that Ben wrote on how he uses feature flags.
- EggHead.io - a popular subscription service that provides tutorials on web application development.
- MockBox - a module within TestBox that allows the internal execution of a software module to be observed.
Follow the show! Our website is workingcode.dev and we're @WorkingCodePod on Twitter and Instagram. New episodes weekly on Wednesday.
And, if you're feeling the love, support us on Patreon.
008: Origin Stories Pt 2Show Details1hr 11min
007: Origin Stories Pt 1Show Details58min 5s
006: Hopes for 2021Show Details57min 13s
005: Monolith vs. MicroservicesShow Details42min 44s
004: Impostor SyndromeShow Details1hr 18min
003: Burnout, Mental Exhaustion, and ProductivityShow Details1hr 4min
002: Working from homeShow Details54min 24s
001: Adam's Secret ShameShow Details1hr 8min
000: Hello, World!Show Details8min 4s