You can do everything perfectly in your development, testing, and deployment, and there will still be tonnes of people that get issues if enough people use your program because not everyone’s machines are the same, not everyone’s OS is the same, etc.
Then you didn’t do it perfectly did you? Works on my machine is no excuse.
Who said “works on my machine”? Not me. You can test it on a hundred different machines and OS versions and it’s flawless on them all, and you’ll still get people having errors on their machines. I feel like you must have thought you found a “gotcha!” and just stopped reading my comment, because I explained why.
“Perfectly” is a strong word, so I wouldn’t subscribe to this.
But it’s impossible to test software on all setups without installing it to them. There’s endless variation, so all you can do is to test on a good portion of setups and then you have to release and some setups will still have problems.
The only way to guarantee that it works on every customer’s device is by declaring every customer’s device as a beta test environment, and people don’t seem to like that either.
Then you didn’t do it perfectly did you?
Works on my machine is no excuse.
Who said “works on my machine”? Not me. You can test it on a hundred different machines and OS versions and it’s flawless on them all, and you’ll still get people having errors on their machines. I feel like you must have thought you found a “gotcha!” and just stopped reading my comment, because I explained why.
“Perfectly” is a strong word, so I wouldn’t subscribe to this.
But it’s impossible to test software on all setups without installing it to them. There’s endless variation, so all you can do is to test on a good portion of setups and then you have to release and some setups will still have problems.
The only way to guarantee that it works on every customer’s device is by declaring every customer’s device as a beta test environment, and people don’t seem to like that either.