





















Automated tests are no different from any other software we write. They play on the same playing field of priorities as anything else. You have features to spec out, designs to make, bugs to fix, requirements gathering meetings to have, feature flags to configure, etc. etc. etc. To be able to prioritize these activities, you need to know the cost of doing nothing and the benefit of getting it done. And when it comes to prioritizing, you're not saying you "won't" do something, you're just saying you'll do one thing first. So it can also help to know the relative cost/benefit of doing it later vs the cost/benefit of doing it now.
Let's take a few different scenarios.
For the bug, the cost is an unreliable UI for the handful of users who don't have their avatar uploaded out but want to change their bio. Not a great experience.
For the checkout flow, that's pretty serious. Any change to the code that touches that flow could break the checkout flow (potentially costing real money for the seller and valuable time for the buyer).
I think for that, let's prioritize adding a test first, and then fix the bug.
Ok, another scenario.
For goodness sakes! Skip the test, get your product shipped and sell that thing! Your money is burning away 🔥💵🔥
That said, you might find that your demos to potential clients aren't going well because your engineers constantly ship broken code. In that case, write one or two quick and simple E2E tests for the common flows your demos take and run that before you merge any code.
Let's try one last scenario. Just for kicks.
What I'm trying to get across in this post is that testing is no different from any other thing you can do with your time. Consider the costs and benefits, and act accordingly. Keep in mind that tests are the gift that keeps giving.
Good luck!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。