[citation][nom]joytech22[/nom]How can there be so many issues with firmware updates?I mean.. They are a gigantic company with lots of $$$, they should have around 100 of these for internal testing BEFORE releasing a update.Remember how Microsoft did their testing for WP7? They had an entire lab with hundreds of WP7 devices for testing.Then again the world is infinitely variable, some things you just can't avoid the first time around.[/citation]
One would think that performing a software update to a brand new device is a rather simple task and that a quick test should have caught it but I will tell you why this is not always the case. The people who test the effectiveness of such updates are often the same ones who design them (as opposed to game designers who have games tested by unrelated game testers) and as a result, most developers use the same habbits repeatedly. It's entirely possible that an update installs and performs just fine when performed by that developer due to his or her particular testing methodology but a new user may use some particular edge case which wasn't properly accounted for. Normally one would test every possible input vector, especially for something as important as a firmware update, but the number of input vectors for a stateful machine such as a computer or handheld device is theoretically infinite in size.
For example, there are numerous devices which have failed due to improper handling of leap years, character encoding, low level hardware errata, race conditions which do not show up in simulation, etc... Testing a device such as the PSV is a fairly difficult task, testing it with 100% input vector coverage is an impossible task.
All it would take for an update to fail for some users yet succeed for all developers is for the user to find one particular set of state conditions which the developers didn't test thoroughly because all unit tests pass normally and compound unit tests also pass. In theory everything works properly. In practice, the developers might not have had a SIM card from a particular wireless carrier on hand and made a single small mistake in handling that particular carrier despite all other carriers working just fine. There are a lot of incredibly rare edge cases and it's impractical to test all of them.