Programming Books C Java PHP Python Learn more Browse Programming Books
Test-Driven iOS Development (Developer's Library) and over one million other books are available for Amazon Kindle. Learn more
Buy New
$26.03
Qty:1
  • List Price: $34.99
  • Save: $8.96 (26%)
FREE Shipping on orders over $35.
Only 15 left in stock (more on the way).
Ships from and sold by Amazon.com.
Gift-wrap available.
Add to Cart
Want it Tuesday, April 22? Order within and choose One-Day Shipping at checkout. Details
Trade in your item
Get a $7.76
Gift Card.
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more

Test-Driven iOS Development (Developer's Library) Paperback

ISBN-13: 978-0321774187 ISBN-10: 0321774183 Edition: 1st

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from Collectible from
Kindle
"Please retry"
Paperback
"Please retry"
$26.03
$20.69 $16.99

Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student



Frequently Bought Together

Test-Driven iOS Development (Developer's Library) + iOS Programming: The Big Nerd Ranch Guide (3rd Edition) (Big Nerd Ranch Guides) + Programming in Objective-C (5th Edition) (Developer's Library)
Price for all three: $81.81

Buy the selected items together

NO_CONTENT_IN_FEATURE

Books for Pragmatic Programmers
Find resources for various programming needs, including agile teams, programming languages, and the life of a programmer, in the Pragmatic Bookshelf.

Product Details

  • Series: Developer's Library
  • Paperback: 256 pages
  • Publisher: Addison-Wesley Professional; 1 edition (April 19, 2012)
  • Language: English
  • ISBN-10: 0321774183
  • ISBN-13: 978-0321774187
  • Product Dimensions: 8.9 x 6.9 x 0.6 inches
  • Shipping Weight: 13.6 ounces (View shipping rates and policies)
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (21 customer reviews)
  • Amazon Best Sellers Rank: #233,666 in Books (See Top 100 in Books)

Editorial Reviews

From the Back Cover

As iOS apps become increasingly complex and business-critical, iOS developers must ensure consistently superior code quality. This means adopting best practices for creating and testing iOS apps. Test-Driven Development (TDD) is one of the most powerful of these best practices. Test-Driven iOS Development is the first book 100% focused on helping you successfully implement TDD and unit testing in an iOS environment.

 

Long-time iOS/Mac developer Graham Lee helps you rapidly integrate TDD into your existing processes using Apple’s Xcode 4 and the OCUnit unit testing framework. He guides you through constructing an entire Objective-C iOS app in a test-driven manner, from initial specification to functional product. Lee also introduces powerful patterns for applying TDD in iOS development, and previews powerful automated testing capabilities that will soon arrive on the iOS platform. Coverage includes

  • Understanding the purpose, benefits, and costs of unit testing in iOS environments
  • Mastering the principles of TDD, and applying them in areas from app design to refactoring
  • Writing usable, readable, and repeatable iOS unit tests
  • Using OCUnit to set up your Xcode project for TDD
  • Using domain analysis to identify the classes and interactions your app needs, and designing it accordingly
  • Considering third-party tools for iOS unit testing
  • Building networking code in a test-driven manner
  • Automating testing of view controller code that interacts with users
  • Designing to interfaces, not implementations
  • Testing concurrent code that typically runs in the background
  • Applying TDD to existing apps
  • Preparing for Behavior Driven Development (BDD)

 

The only iOS-specific guide to TDD and unit testing, Test-Driven iOS Development covers both essential
concepts and practical implementation.

 


 

About the Author

Graham Lee's job title is “Smartphone Security Boffin,” a role that requires a good deal of confidence in the code he produces. His first exposure to OCUnit and unit testing came around six years ago, as test lead on a GNUstep-based server application. Before iOS became the main focus of his work, Graham worked on applications for Mac OS X, NeXTSTEP, and any number of UNIX variants.

 

This book is the second Graham has written as part of his scheme to learn loads about computing by trying to find ways to explain it to other people. Other parts of this dastardly plan include speaking frequently at conferences across the world, attending developer meetings near to his home town of Oxford, and volunteering at the Swindon Museum of Computing.

 


More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.4 out of 5 stars
5 star
11
4 star
9
3 star
0
2 star
1
1 star
0
See all 21 customer reviews
A must have for iOS developer who wants to build rock solid app.

If you're following along and writing code as you're reading the book you will need to reference the source on GitHub to fill in the gaps for some classes.
Michael Koukoullis
This book guides you how to apply the principles and practice of Test Driven Development into iOS.
Giovanni Dienstmann

Most Helpful Customer Reviews

12 of 12 people found the following review helpful By Alex Curylo on May 5, 2012
Format: Paperback
I'd actually talked with Graham briefly after his TDD presentation at the Seattle VTM conference last year, where he'd just about convinced me that TDD might be something other than the development-slowing waste of time I'd previously observed it to be at places that applied it as a management-imposed afterthought, so I had fairly high expectations of the book; and why yes, yes indeed it would be an excellent book even if it wasn't the one and only out there for iOS on the subject -- matter of fact, unconditionally recommended to anyone who wants to be a better iOS programmer!

If you've already got the TDD religion from other platforms, you can jump directly to Chapter 4 "Tools For Testing"; those of us of a more skeptical bent will find reading through Chapters 1-3 an nice gentle progression through demonstrating the value of testing at all through to "How to Write a Unit Test" and how that leads to safely refactorable design.

Said Chapter 4 goes over the Xcode built-in support thoroughly and introduces GTM, GHUnit, CATCH, and OCMock on the coding side, plus Hudson/Jenkins and CruiseControl on the integration side. That covers anything you're even remotely likely to encounter in existing projects.

Chapter 5 "Test-Driven Development of an iOS App" starts the 6 chapter process of developing BrowseOverflow, a StackOverflow question browser; full source available on github for everyone.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 6 people found the following review helpful By Rian D. Fowler on December 12, 2013
Format: Paperback
The book is a decent introduction into TDD for iOS but it only gets two stars because the author was extremely lazy with the examples. I'm pretty experienced with iOS coding and found huge gaps in the examples that required looking through the example project to figure out. Gaps are fine if they have a teaching purpose but most of the ones I found dealt with just not explaining how his example app was supposed to work- not with learning anything particularly related to TDD.

The author also never covers any strategies for developing test cases. For someone new to TDD, the reason he chooses to test certain things is a complete mystery. Often it's "I want to do X here are some random test cases I think that are related to that." There's so little explanation as to why he thinks those are good tests e.g. it's good to have coverage on how data is handed off between classes or it's good to test for malformed data sent into method parameters.

I mostly found this book very frustrating to read because I had to constantly re-read his explanations, review his example code, and draw my own conclusions by reading between the lines as to why he chose to test things in the way he did.

If you are moderately experienced with iOS coding and don't mind analyzing this guy's code to figure out TDD best practices, then this book is for you. He does execute his stuff really well and you can learn a lot from the way he approaches things but if you want to start doing TDD on your own, strap yourself in for some serious code analysis because the author offers few strategic explanations.
3 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
6 of 6 people found the following review helpful By T. Anderson TOP 1000 REVIEWERVINE VOICE on August 22, 2012
Format: Paperback
This is a great book for both someone who wants to learn Test Driven Development (TDD), anyone that wants to learn how to do unit testing in Xcode, and anyone who wants to improve their designs using TDD.

The author begins the book with a nice overview of the benefits of testing and how to use TDD to achieve those benefits. He then moves right into how to write unit tests and covers the tools available for unit testing.

He covers OCUnit test (integrated with Xcode) in detail and introduces Google Toolkit for Mac, GHUnit, CATCH, and OCMock. He then introduces continuous integration with coverage of Hudson / Jenkins and CruiseControl.

After introducing the tools, the author spends the next six chapters building an application using TDD. He starts with a specification and ends with a working application. I have listed the chapters below. Their titles explain what they cover and show how the author attacked building the application.

About Software Testing and Unit Testing
Techniques for Test-Driven Development
How to Write a Unit Test
Tools for Testing
Test-Driven Development of an iOS App
The Data Model
Application Logic
Networking Code
View Controllers
Putting It All Together
Designing for Test-Driven Development
Applying Test-Driven Development to an Existing Project
Beyond Today's Test-Driven Development

The cool thing about the chapters that cover the building of the applications is that the author hits on a ton of subjects in all the different layers of a typical application. The book hits on NSURLConnection, JSON, UITableVieController, view controllers, NSData, and a ton of the STAssert* macros.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Product Images from Customers

Most Recent Customer Reviews

Search
ARRAY(0xa237ff18)