A Practical Guide to Testing Wireless Smartphone Applications
Testing applications for mobile phones is difficult, time-consuming, and hard to do effectively. Many people have limited their testing efforts to hands-on testing of an application on a few physical handsets, and they have to repeat the process every time a new version of the software is ready to test. They may miss many of the permutations of real-world use, and as a consequence their users are left with the unpleasant mess of a failing application on their phone. Test automation can help to increase the range and scope of testing, while reducing the overhead of manual testing of each version of the software. However automation is not a panacea, particularly for mobile applications, so we need to pick our test automation challenges wisely. This book is intended to help software and test engineers pick appropriately to achieve more; and as a consequence deliver better quality, working software to users. This Synthesis lecture provides practical advice based on direct experience of using software test automation to help improve the testing of a wide range of mobile phone applications, including the latest AJAX applications. The focus is on applications that rely on a wireless network connection to a remote server, however the principles may apply to other related fields and applications. We start by explaining terms and some of the key challenges involved in testing smartphone applications. Subsequent chapters describe a type of application e.g. markup, AJAX, Client, followed by a related chapter on how to test each of these applications. Common test automation techniques are covered in a separate chapter, and finally there is a brief chapter on when to test manually. The book also contains numerous pointers and links to further material to help you to improve your testing using automation appropriately.
Review By: Chris A. Grady
08/15/2011A Practical Guide to Testing Wireless Smartphone Applications by Julian Harty begins by defining some key wireless applications terms and ideas. Harty splits the book into easily identifiable sections, none of which is more than a couple of pages long, offering the reader some broad introductions to the larger ideas he presents.
The text is only ninety-eight pages, including appendix. I wish it expanded a bit more on some of the key concepts. The section on testing AJAX applications comprises two chapters, but this is only roughly eight pages. The author provides some web links for the user to get further information on the subject, but I wanted more in-depth information from the text itself.
That said, the book reminds me a lot of using a smartphone—information presented in a very condensed, concise manner. I can only assume this is the author’s intent. With smartphones quickly becoming a viable web access point, further expansion of these ideas is warranted
The book is a very good reference for links to additional information and the open source products available for testing smartphone applications. The addition of these links and suggestions make this book worthwhile.
The author indicates that this is a work in progress and welcomes any suggestions. (I would argue that most testing texts are works in progress with room for improvement.) The information is not overly technical. A novice tester looking to gain some insight into the world of wireless applications could easily understand it, and there are some good examples that the more experienced tester can utilize.
Review By: Rick Craig
08/15/2011When Julian gave me a copy of this book, I must admit that I put it on the bottom of my reading list. I don't currently test wireless smartphone applications, and therefore it seemed unlikely that I would learn much that I could use immediately. Besides, as I jokingly told Julian, I normally don't like books with long titles. But, I'm glad that I finally got around to reading this book. It is written in a conversational style that is easy to follow and understand. I learned some tips on testing that are useful for testing a variety of applications, not just wireless smartphone applications. Julian pragmatically discusses testing strategies, design, and automation, and there are some coding examples in the book for those of you who like that level of detail.
The first chapter is a nice overview of what mobile wireless computing is all about and a definition of the problem space. The next couple of chapters discuss the basics of markup applications and techniques for testing them, chapters 4 and 5 offer a similar treatment for the testing of AJAX mobile applications, and Chapters 6 and 7 do the same thing for client applications. Chapter 8 discusses common testing techniques. Although most of the book focuses on automated testing, it concludes with a short chapter on when it may be preferable to test manually.
If you are looking for a broad tome on how to test software, this is probably not going to be the first book you would choose. But, if you fall into one of the categories below, you might want to get a copy of the book and invest the hour or so it takes to read it:
- Managers who want to learn about the basics of wireless smartphone applications: I urge you to read chapter 1 (only a dozen pages or so) and skim the rest of the book.
- Developers and testers of wireless smartphone applications: You definitely should read this book and consider it a primer on the subject.
- Testers of other types of software: You can usefully employ some of the tips on testing strategy, design, and automation.