In my prior posts, I’ve discussed my journey to develop an iPhone app and I have documented the things I’ve done along the way. This is a continuation of that series of posts. Today we will discuss test preparation tasks you can begin doing as your app is being developed.
Success is where preparation and opportunity meet. ― Bobby Unser
If you missed my prior posts regarding building an app, you can see them here:
- Post 1 – Build an app working 2 hours a day?
- Post 2 – What App Should I Build?
- Post 3 – Defining Your Apps Competitive Advantages
- Post 4 – Is Your App Idea Financially Viable?
- Post 5 – How Will You Monetize Your App?
- Post 6 – Sneak Peak at aMemoryJog iPhone Edition
- Post 7 – Using Alexa to Determine Your User Demographic
- Post 8 – 15 Marketing Activities to Consider for Your App
- Post 9 – Putting the Final Touches on the Business Plan
- Post 10 – Outsourcing your App Development: Getting the Best Price
- Post 11 – Pre-Release Tasks When Developing Apps
- Post 12 – Keeping Track of Your Appreneur Tasks and Time Spent
- Post 13 – Newly Redesigned Website for aMemoryJog
Test Preparation as the App is Being Developed
If you’ve followed my advice thus far, you have outsourced the development of your app so that you can spend time planning the marketing effort. However, one of the most critical things you can do while your programmer is developing your app is to begin to prepare for the testing effort you will go through once the programmer sends you the first version of your app.
If you wait until you get the first version of your app, you will be scrambling to figure out what tests to run. The best approach is to create a list of test cases you can run — but do this as development is going on. This approach allows you to flow right into testing the day you get your first build.
How to Build a List of Test Cases
In a prior post, I discussed how to get the best price for your app development. As part of this, I discussed creating a detail specification in RFP format so that the developer will fully understand your requirements. Taking this approach also aids in your test case development because when you begin developing your test cases, you can simply go through each section of your RFP to jog your memory about test cases you need to run.
In your first cut, you will want to simply make a list of test cases without the detailed steps to execute each one. For aMemoryJog, here are some of the initial test cases I created. This is a very abbreviated list of test case (I have about 90 test cases so this is just a few of them).
Notice that I have test cases for each screen within the app. So for the login screen, I first inspect the look and feel of the screen to ensure that it matches the design specified in the RFP. Then I have a test to ensure that all of the required fields must be entered before going forward. For example, if they want to login, they must enter both their email address and password to login and if they don’t, it should alert them of that. Then I move on to testing for a valid login and an invalid login (incorrect email address and password).
Adding Steps to Each Test Case
Once you have created a list of test cases you wish to run, go back and add the steps you must go through to run each test. Why go through this? Well first of all, it makes testing mindless. You don’t have to try to remember how to execute a specific function, it has already been documented. Another reason is that one day (once you are successful), you will probably outsource your testing effort and having detailed test cases makes that process easy.
Here is an example of steps in a test case:
Where Should I Keep My Test Cases?
Your next question might be “Where do I put all these test cases?”. If you are just starting out and don’t have a lot of working capital, I suggest you simply keep them in a spreadsheet. You can include a column in your spreadsheet to keep track of whether the test case passed or failed. Here is an example:
Once you have working capital, I suggest you use a test management system. I use QAComplete from SmartBear Software because it allows you to create test libraries, test sets and has some really good reporting capabilities that show you the status of your testing effort. It also allows you to track bugs (defects) so that you can communicate them with your development team and track their fix status. If you don’t have any working capital up front, I suggest you use Zendesk for defect tracking since it is free.
Conclusion
Take the time to plan your testing effort while your programmer is coding your app. Don’t spring for a test management system until you have some working capital but purchase it as soon as the business can support it.
Shameless Plug
The app I am creating is slated for production in the App Store in November 2014. However, the web edition is already available at http://www.aMemoryJog.com. Once the app is done, it will seamlessly sync with the web version.
Download a free trial and check it out!
Also, if you like this blog, please share it with others to increase our following. Our twitter account is @2HourAppreneur and be sure to like my Facebook page at http://www.Facebook.com/2HourAppreneur.
Thanks for following the blog!