In an age where convenience and instant gratification are easy to come by, taking time to do things the right way often gets glossed over…and causes a lot of problems
I am a software QA professional. That means that I test software for a living and manage teams to do the same thing. I’m good at it; and one of the things that I’m really beginning to hate about some of the faster paced, quick turnaround software development and releases processes is that time for testing is either greatly reduced or bypassed entirely.
I’ve learned that when management wants it bad, they can usually count on those fast passed processes to deliver just that – bad, buggy software.
Here’s a very clear case in point – today The Verge reported that it had found a bug in iOS 6.1 that allowed anyone to bypass the iOS lock screen and view and modify contacts, listen to your voicemail, and browse your photos (by attempting to add a photo to the accessible contact list). It doesn’t appear as if the exploit grants access to email or the web.
The new exploit is similar to one that was discovered in iOS 4.1 that allowed access to contacts, call history and voicemail on a passcode-locked handset without knowing the numeric entry code required to formally unlock the phone. While the steps seem to be bit unusual and convoluted – a user needs to make and then immediately cancel an emergency call and then hold down the power button a couple of times – its bugs like this that completely destroy any confidence a smartphone dependent public has in a venerated company like Apple.
It also really chaps my hide.
Testing is something that many companies either bypass or greatly reduce time and resources on, as its seen as a road block to release. In fact, many modern day methodologies don’t carry a lot of support for the different types of needed testing.
System testing, or testing the entire (and just the) application as a whole, is usually supported. Integration testing, or testing the interaction of the application with other apps and systems, usually gets bypassed. Regression testing, or the reexecution of previously completed system and integration testing tests, rarely ever gets done.
…and case in point. The bug that’s referenced here seems to be some type or classification of regression bug that should have been squashed over two FULL versions ago. The fact that it’s come back, isn’t cool; and is something that Apple needs to deal with quickly.
I’ll be watching beta releases of iOS in the near future and if I find out anything interesting, I’ll pass it on.