Am I Really Done Testing?

Korey Hinton —> Blog —> iOS —> Am I Really Done Testing?

Journaling my mistakes

As the creature of habit that I am I tend to make the same mistakes over and over again. I was getting so frustrated by this I started to take note of the mistakes I would make and specifically the ones I didn't catch while testing my new code changes. Journaling became especially useful when I went back and created a checklist of items that I must now go over before saying I am done testing.

iOS Testing Checklist

As I mentioned in the paragraph above, everytime I miss something in testing new code changes I have been journaling what things I commonly miss. I've created the following checklist below to help me not make the same mistake twice. With iOS apps there a lot of scenarios that can cause very different results from what version of iOS you have to whether or not you have an internet connection. Also, data sources should be tested on both extremes. What happens to a tableview when there is no data and what happens when there is a lot of data? Be sure to test CRUD as well: Create, Read, Update, Delete. Its very important that both the appearance and the functionality are tested. For example, even localization can have functionality bugs in addition to appearance bugs. If I am merely setting the text on a button rather than setting the title then there will be instances where it will revert back to the English translation like when I tap on the button. If I don't actually tap the button then there would be no way for me to know. ../../media/xcode.jpg

Final Sanity ChecksAppearanceFunctionality
Localized?
Portrait/Landscape?
Empty Data Source?
Large Data Source?
CRUD?
All modes/perspectives?
Different Entry/Exit points?
Different User Settings?
Without internet connection?
iPhone & iPad? (if Universal)
New Install?
Different version of iOS?
Download: iOSTestingChecklist.xlsx

Are you really done testing?

Only you can answer this question. Just remember any bugs that you don't catch will be found by your users and will take much longer to fix since the code change will be long gone from your memory and you may not get the full intent back when you read the code again. My plan is to keep growing this checklist so that when I check-in new code changes it is really done and I am really done testing!

Next Steps

Be sure to check out my iOS Pre-Check-In Checklist that I use to catch things I commonly forget to do before code reviewing and checking in new code changes.

Date: 2014-10-22T03:02+0000

Author: Korey Hinton

Org version 7.9.3f with Emacs version 24

Validate XHTML 1.0