On The Bike Shed, hosts Joël Quenneville and Stephanie Minn discuss development experiences and challenges at thoughtbot with Ruby, Rails, JavaScript, and whatever else is drawing their attention, admiration, or ire this week.
…
continue reading
MP3•Episode home
Manage episode 243311288 series 1900125
Content provided by iteration podcast, John Jacob, and JP Sio - Web Developers. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by iteration podcast, John Jacob, and JP Sio - Web Developers or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://staging.podcastplayer.com/legal.
Iteration — A weekly podcast about programming, development, and design through the lens of amazing books, chapter-by-chapter.
This episode uses Chapter 13 of Extreme programing as a jumping off point
Testing Early, Often, and Automated
Here is the dilemma in software development: defects are expensive, but eliminating defects is also expensive.
- Instead of talking about having a kick-ass automated test suite, frequently testing code, and all of that good stuff, we should talk about something a little different.
Q: What was the last big bug you can think of? How did you handle it?
- Health coaching group discussions, mobile users could not post into group discussions for 48 hours. It’s a core feature of the platform.
- React Native Upgrade → Weird android bug where people could not take a photo to upload their proof of funds
Q: What was the reason for the latest big bug?
- lack of automated integration tests in the Mobile app.
- We have some unit testing we also have full API tests, but not enough coverage in the integration.
- We made a small change to the group discussion model, the mobile app wasn’t updated to consider this change, timing the rollout.
- Android Weirdness, lack of QA, rushing to get to the latest and greatest
Q: How do you handle bugs in general?
- Testing is first line of defense.
- QA is backup (One other dev)
- App signal is the catch all (After deployment)
- Users are the last line of defense RABBITHOLE
- Give users a clear escape hatch / line of communication.
- So many times we’ve caught flawed design assumptions from that feedback. Users love it too.
- Superlative language "Thank you so much, you are the best, we really really appreciate you sending that in and I'm so sorry if you are having issues. "
Q: John Ask: What’s the most common causes of bugs?
- Test data does not properly represent production data - phone formats / etc
- An Edge case that wasn’t considered
- The feature functions properly but the functionality is wrong / not what the stakeholder intended.
- Rollout was not planned, data transition or all platforms are not in sync.
- Browser or context considerations. Mobile vs tablet / android device universe.
- Lack of QA, lack of tests
- Rushing things
John — Summary / Thoughts on book overall
- Overall got the most out of this vs other books we've read
Picks
- JP: Heroku! Review Apps (spins up a new app every time a PR is opened); Pipelines
- John: Contentful + Rails to give clients ability to update copy and images on marketing pages.
78 episodes