
Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
$44.99$44.99 ($2.23$2.23 / oz)
Ships from: Amazon.com Sold by: Amazon.com
Save with Used - Good
$4.99$4.99 ($0.25$0.25 / oz)
Ships from: HPB Inc. Sold by: HPB Inc.

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Android Application Testing Guide
Purchase options and add-ons
- ISBN-101849513503
- ISBN-13978-1849513500
- PublisherPackt Pub Ltd
- Publication dateJune 30, 2011
- LanguageEnglish
- Dimensions7.5 x 0.69 x 9.25 inches
- Print length332 pages
Editorial Reviews
About the Author
Diego Torres Milano has been involved with the Android platform since its inception, when he started exploring and researching the platform's possibilities, mainly in the areas of User Interfaces, Unit and Acceptance Tests, and Test Driven Development. This is reflected from a number of articles published mainly on his personal blog and his participation as a lecturer in various conferences and courses such as Mobile Dev Camp 2008 in Amsterdam (Netherlands), and Japan Linux Symposium 2009 (Tokyo), Droidcon 2009 (London), Skillsmatter 2009 (London). He has also authored Android training courses delivered to various companies in Europe.
Diego is the founder and developer of several Open Source projects, mainly CULT Universal Linux Thin Project, Autoglade, Gnome-tla, JGlade, and has been contributing to various Linux distributions such as RedHat, Fedora, and Ubuntu.
Apart from giving presentations in Linux World, LinuxTag, GUADEC ES, University of Buenos Aires, etc, Diego has been developing software, participating in Open Source projects and advising companies worldwide for more than 15 years.
Product details
- Publisher : Packt Pub Ltd (June 30, 2011)
- Language : English
- Paperback : 332 pages
- ISBN-10 : 1849513503
- ISBN-13 : 978-1849513500
- Item Weight : 1.26 pounds
- Dimensions : 7.5 x 0.69 x 9.25 inches
- Customer Reviews:
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on October 15, 2015It's Easy to start learning about Unit Testing in Android Using this book. It is not an advance book but it helped me understand a lot of the concepts and how to start testin in android
- Reviewed in the United States on March 25, 2012At the expense of sounding crass, this is probably the worst technical book I've ever paid money for. Honestly, anyone who picks up this book and says that it's better than 2 stars is being paid to say it. You can easily google better information.
- Reviewed in the United States on June 6, 2013I have found this book very helpful. I especially like the chapter on TDD with Android which illustrates the basics of using the JUnit framework for testing an Android Activity. On the down side, much of the information from this book can be found directly at developer.android.com.
- Reviewed in the United States on May 4, 2015The book is a little outdated, but it is a great handy reference and a refresher on the basics of android testing framework
- Reviewed in the United States on August 4, 2014The book was not well organized. I returned the book and never received a refund for it!
- Reviewed in the United States on September 22, 2011Recently I have fallen for Unit Testing. They are really cool. However, it is very hard to find good books covering this topic. When it comes to Android, it is even harder. Check out any on-line store. It will turn out that this book is the only one that covers this topic. Diego tries to provide you with the basic knowledge related to application testing at Android platform. At first chapter, you are presented various kinds of tests: Unit Tests, Mock objects and UI Tests, Integration tests, Functional tests, System test, Instrumentation, etc. Each of them are slightly different from others thus it is good to know what part of software development they cover. Second chapter covers different aspects of tests execution. You will learn here how to start test for single file for the whole suite, how to group tests using annotations and eventually, how to start tests from command line. At first glance, running tests from command line might seem to be not quite good idea - after all, you have an IDE. However, this may allow you to integrate test phase into your auto building process. This way, you can have your code build and tested at the same place. Third part makes you familiar with assertions and mock objects. Assertions make a lot of troubles for newcomers because they are slightly unintuitive at the very beginning. Diego explains this topic quite easily and provides description of most common used assertion related methods. Mock objects are something different. They allow you to pretend the actual objects. This is quite important especially in case of database related testing. Fourth chapter is devoted to Test Driven Development. This approach is really cool. At first it looks slightly awkward - you have to write something that tests things that do not exist. However, after you start using it, you won't be able to imagine any other way of development. Well, I exaggerate a little bit, but there is part of true in this statement. Keep in mind that each approach has its flaws and there is no silver bullet, how Mr. Brooks used to say. TDD may not be applicable to your particular use case. But still, it is worth considering. Chapter eight covers very interesting topic related to continuous integration. In any sufficiently large project it is more than required to have continuous integration provided by automatic build and automatic test processes. One issue here is that this topic is not covered very extensively. If you read the book, it might look like a quite easy thing to do. Believe me it is not. Usually it turns out that you have lots of exceptions from the general build rules and you have to deal with them. However, this is nice introduction to the topic. Profiling is not covered perfectly as well. This is a biggest issue of all the books that cover testing related contents. They tend to show you how to measure things but they doesn't explain how to interpret them. In fact it may end up with using R and some statistic related topics to get things well interpreted.
Drawbacks? There are always some. I think, in case of this book there are few but these are not the major flaws for the content. Book is slightly outdated, it doesn't cover most recent release of Eclipse and Android related SDKs. If you will use most recent Android SDK and most recent Eclipse release you will definitely be abel to tell the difference. Sometimes it is hard to follow the book because of these small differences. For example, you will notice that screen shoots represent something different from what you see on your screen. However, Diego provides you with detailed configuration he has used during book composition, this way you can install everything that is needed and you can configure environment exactly the same way as Diego did - this is a big plus for the author. Another issue are missing, so called, flavors of the topic. I miss here detailed description of how to test mock data from the database. This is really big topic. And it looks like everybody avoids it. How to create sample data, how to create good database related tests, how to combine artificial and real data during development. Diego doesn't cover this topic, however as an excuse for the author, I can say that there are very few places you can find description of this issue.
- Reviewed in the United States on October 24, 2011I have to say that for a novice Android developer like I am, I learn a lot from reading the Android Application Testing Guide. Best-in-class testing techniques are covered in this book which are commonly practiced in the agile development. These include Test Driven Development, Behavior Driven Development, Continuous Integration, etc. They in generally oppose to the traditional approach of doing test and integration at the end of development cycle. However, as author states in the book, there is no silver bullets in software development - the suggested testing approaches might not apply to certain needs or projects. But I can see that for a large complex project, applying these methodologies and techniques will likely increase in the productivity and quality.
Numerous tools are introduced in this book. This may be one of the big issues for those who are less-advanced in Android development. Since there is no common repository of these tools, extended knowledge of a varieties of open-source tools, and ability to incorporate them with the development process are required. I wish that there would be consolidated repository for all testing tools or even better all required testing functionality would be built-in in the SDK. Well, before when that would happen, this Android Application Testing Guide book is probably one of a few reference books that has the complete collection of Android testing topics.
- Reviewed in the United States on July 17, 2012I can understand Android unittesting by this book.
Android developer site isn't easy to beginner.
So If you're not good at Android unittesting, this book is good guide.
If you want TDD(test driven development) technique, you can choose TDD books.
Current This book is only thing about android unittest.
Top reviews from other countries
-
Martin FReviewed in Germany on November 30, 2012
3.0 out of 5 stars Nützlich aber nicht was ich mir erhofft habe
Nun, funktionale Unittests und einen Basic-Instrumentation-Testcase habe ich schon vor dem Kauf ganz gut anhand der Android-Hilfeseiten zusammenbekommen.
Angesichts der Tatsache, dass das Buch gerade mal 300 Seiten hat muss man beachten, dass relativ häufig Klassen mit Funktionen vorgestellt werden, ohne dass dies weit über das auf den Android-Seiten aufgeführte hinausgehen würde.
Trotzdem ist es eine gute Zusammenstellung um zu sehen, welche Teile eines Android-Systems (Service, Network-Connection,...) sich generell simulieren / mocken lassen. Leider gibt es nur sehr wenige Beispiele oder Tips wie man die Architektur so gestaltet, dass man die Tests durchführen kann.
- Ollie CReviewed in the United Kingdom on March 18, 2012
2.0 out of 5 stars Good coverage, very difficult to read
I've read a lot of books on programming, and the problem with a great number of them is that the author knows their subject well, but is lacking the skills required to teach it well to others. I don't care how much the author knows if they can't clearly communicate it to me. Unfortunately this book falls into the latter category. The grammar and writing style is stilted and uncomfortable to read. It's like swimming through treacle trying to read it. I keep having to re-read paragraphs because they make little sense on first reading. The author jumps around from subject to subject with a lack of flow. Sentences are too long. He provides little context, delivering solutions before explaining the problem, and dives into a subjects seemingly assuming you know what he knows. Obviously the reader doesn't know, or they wouldn't be reading the book.
As an example: "To demonstrate its usage and to establish a style that can be later reproduced for other tests we are completing and expanding test cases produced before for our application". I mean, what? Where's the punctuation? I read it and my brain goes "whaaa?". That sentence communicates little to me. I find I'm having to re-read many sections of the book, and it's frustrating to find some of the content I can't make any sense out of at all.
Huge great big blocks of sample code are thrown into the text. The author hasn't removed the Apache 2.0 licensing comments or IDE method insertion template comments from the code. He then follows it with text like "The first code snippet has nothing more than the required copyrights and imports". Seriously? He includes irrelevant and distracting sections of the code that have nothing to do with the subject of the book, and has to add a comment to explain what they are? He has also failed to include any source code indentation so reading the samples on a Kindle requires mental gymnastics of the highest order, trying to work out which { pairs with which }. The books on programming I enjoy carefully introduce code and interweave it with the text so there's a nice flow of explanation and practice, with manageable sized chunks of code. For example Michael Feathers book on legacy code shows just enough code to explain the point being discussed, and no more. Whereas the author of this book seems to have decided to pad it out by copy and pasting as much code into it as possible. It's a pretty big waste of the reader's time.
The book uses that tiresome, waste of time, language fluff: "As you may have already realised" (nope). "As we explained before" - if you explained it, why mention it again? "In previous chapters" - I KNOW, I just read them!
The author introduces tool after tool after tool, but doesn't clearly explain why each is better, or when to use each. It's like a laundry list of testing tools, but I expect a book like this to give guidance, an overview, paint a picture of the main areas of need and the problems that need solving, and to then explain which to use in what scenario. He introduces EasyMock without explaining what benefits it provides or examples of scenarios its most useful, he delivers lots of implementation detail and then immediately introduces Hamcrest, saying it's better than EasyMock because it's "more generic"! a) What do you mean by "more generic", and b) if it's better, why have you taken up many pages telling me all about EasyMock?
Books like "Refactoring" or "Clean Code" are wonderful examples of great programming books - not just for the content, but the friendly, accessible and easy to read style. This book is not written in that way. I wish more books were written like those two. I asked another Android dev recently if he'd read this testing book. He said he tried, but gave up as it was such a struggle to read it. It seems I'm not alone. I don't understand the high ratings for this book. The coverage is good, the author clearly has a very good understanding of the subject matter, but unfortunately even after reading the book I am not sure I've learnt much.
If you need a book on Android testing I'd suggest that if possible you wait for one to be published by another author. This one is difficult to read. It's a great shame as testing is a very important part of developing great Android apps, and I had high hopes this book would teach me a great deal. Unfortunately I wish I'd just gone online to read the docs for the tools.
- JamieReviewed in the United Kingdom on September 5, 2012
2.0 out of 5 stars Hard read with little practical value
Unfortunately this book was not enjoyable to read and the content is largely repetition of readily available documentation. I found myself wading through pages of sample code listings. There must be a thousand lines of license headers and boilerplate printed in there. I picked up a few techniques but generally found it tedious to extract much practical value. The book introduced various tools and frameworks but these often just felt like filler.