I sometimes wish I could feed my bug list upstream somehow. I am a iOS VoiceOver user. Some of the bugs I discovered 8 years ago are still present, and the list is slowly growing. I sometimes wish I could fly over to Apple, sit down with the dev team for a week, and get all of these small to medium hickups fixed. And Apple is just one example. I guess I could do that with almost everything I use daily. But this raises a question: are we passed the point where software is so broken that expecting it to behave relatively bug-free is an illusion? Why is it that I can unbox a new product, start the configuration process and find 3 UI hickups in 10 minutes? Why do I see these, and the QA group does not?
A few reasons why I think this happens: 1) Developers and QA teams optimize for testing happy paths, not the combination of every potential path. 2) Tests are performed within the scope of the current work, not the scope of the application. That's how you end up with bugs where edits in one section of the app inadvertently affect another part of the app. 3) Automated frontend tests aren't thorough enough or aren't implemented by the development team. I've found teams are more likely to test backend code than frontend. 4) Errors often don't affect application usage and have easy workarounds. These get noted but continuously deprioritized. 5) The majority of users don't vocalize the issues they run into because of the effort involved. They either get frustrated and stop using the application or they find a workaround. As a result, bugs continue to exist due to a lack of awareness and the proper channels to report bugs. 6) Software is increasingly reliant on a web of internal dependencies. As those dependencies get updated, due to their own bug or security fixes, developers must update their own software to accommodate these changes. Every change is a new opportunity for something to break.
You might be just like her.
Businesses don't want to pay for QA, businesses definitely don't want to pay what it takes to do good QA, and developers routinely do things that slip the schedule that eats into QA time.