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

Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 


or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $7.46 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Test-Driven iOS Development (Developer's Library) on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

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

by Graham Lee
4.4 out of 5 stars  See all reviews (21 customer reviews)

List Price: $34.99
Price: $26.03 & FREE Shipping on orders over $35. Details
You Save: $8.96 (26%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 6 left in stock (more on the way).
Ships from and sold by Amazon.com. Gift-wrap available.
Want it tomorrow, April 25? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Kindle Edition $15.39  
Paperback $26.03  
100 M&T
100 Mysteries & Thrillers to Read in a Lifetime
Looking for something good to read? Browse our picks for 100 Mysteries & Thrillers to Read in a Lifetime, brought to you by the Amazon Book Editors.

Book Description

April 19, 2012 0321774183 978-0321774187 1

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.


 


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: $80.95

Buy the selected items together


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.

 


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: #77,437 in Books (See Top 100 in Books)

More About the Author

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

Customer Reviews

Most Helpful Customer Reviews
12 of 12 people found the following review helpful
5.0 out of 5 stars Essential reading! 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?
6 of 6 people found the following review helpful
2.0 out of 5 stars Decent code; lazy and incomplete explanations 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.
Was this review helpful to you?
6 of 6 people found the following review helpful
5.0 out of 5 stars Excellent TDD Resource 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?
Most Recent Customer Reviews
5.0 out of 5 stars Great
The book is in great condition and it's a great book to read for beginners who want s to do TDD.
Published 27 days ago by Jin Lei
4.0 out of 5 stars Enlightening
Definitely worth a read, learnt so much! The example BrowseOverflow app gets an little hard to follow towards the later chapters. Read more
Published 1 month ago by Michael Koukoullis
4.0 out of 5 stars Logic or Application Test?
The book covers OCUnit but doesn't mention that there are two types of unit-tests, logic unit tests and application unit-tests, as mentioned in Apple Unit-Testing Tool Guide. Read more
Published 10 months ago by Aeon
4.0 out of 5 stars Well written but requires some coding knowledge
Bought this to help lead my team to a TDD model. Has great top level overview but have not gotten to the meat of the book, as I felt I needed to brush up on my Objective C before... Read more
Published 11 months ago by Jay Tova
4.0 out of 5 stars First Book Ever I Found On TDD For iOS
Being the first book I found on TDD for objective-c and iOS I very much appreciate it.
At times I found it hard to follow since the pace gets really fast towards the end of... Read more
Published 11 months ago by donnerluetjen
4.0 out of 5 stars A good working example of incorporating TDD throughout the application...
This book will appeal to a wide audience of software developers looking for an example of putting TDD theory to work on a small project. Read more
Published 15 months ago by Chip Keyes
4.0 out of 5 stars Lots of good info!
There is a lot of good info info in this book, especially for programming newbs who are starting out with iOS. Read more
Published 16 months ago by lottscarson
5.0 out of 5 stars Essential read for any serious iOS developer
This book guides you how to apply the principles and practice of Test Driven Development into iOS. It is very hands on and deep, with the author guiding you how to do unit testing... Read more
Published 19 months ago by Giovanni Dienstmann
4.0 out of 5 stars Good!
This is a good read to get into TDD / BDD for the objective-c developer. Easy to understand and follow with real-word examples.
Published 19 months ago by RynoB
5.0 out of 5 stars A must have for iOS developer
A must have for iOS developer who wants to build rock solid app. As a developer from PHP / python domain, iOS is a different monster to tame. Read more
Published 21 months ago by 
Search Customer Reviews
Only search this product's reviews
ARRAY(0xa4bb824c)


Forums

Topic From this Discussion
Relevant for iOS 7 Be the first to reply
Have something you'd like to share about this product?
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Search Customer Discussions
Search all Amazon discussions


Look for Similar Items by Category


Want to discover more products? You may find many from ios app template shopping list.