4 ms·
> The web-based user interface The UI was changing constantly, which suggests Stable Functionality wasn't a goal. Correct Functionality was still a goal, so the
by ekidd 10y ago
> The web-based user interface The UI was changing constantly, which suggests Stable Functionality wasn't a goal. Correct Functionality was still a goal, so the UI should have been tested manually by humans (e.g. the programmers as they wrote the code.)
This sounds plausible right up until you realize that 1 out of every 3 production deploys breaks some corner of your web UI, and you're always needing to scramble to fix the deductions table every time you change your basic popup widget. Or until you realize that you need a full week of time from two very skilled testers to make sure your UI actually works.
JavaScript UIs bitrot at incredible speed. Sure, if you're using TypeScript and Angular, you can maybe get away with a bit less testing. But in most cases it's a terrible tradeoff.
There's a huge comfort in knowing that every single time you deploy your application, your basic signup flow and core features still work. You can accomplish this with very high-level tools like Cucumber in most cases. "Stable Functionality" is always desirable, and it allows you to develop faster because you don't have to spend all your time terrified of breaking things and endlessly retesting them by hand.
Or you can keep breaking weird corners of production and getting upset because somebody made a mistake and annoyed an important customer again.
- itamarst 10y agoIf your UI is relatively stable, yeah. If you're redoing the UX every two weeks this isn't feasible. There is no single right answer: it's all about tradeoffs. And in order to make those tradeoffs you need to understand strengths and weaknesses of each form of testing.