small medium large xlarge

Arduino, iOS4, and TDD

Arduino and iOS4 in the Magazine;TDD on the Screen

July 07, 2010

Good tests inform your code and drive your design. When you write tests to help you create code, you’re following the ideas of Test-Driven Development, or TDD. You’ve probably heard this. You may even believe it. But do you really, really get it?

Who better to show you than Kent Beck, author of the nUnit frameworks and re-discoverer of TDD? If you’re new to TDD, or if you’ve tried it and are looking to improve your skills, this series was recorded for you.

In this four-part screencast you’ll work with Kent as he uses TDD to solve a real-world problem. You’ll see:

  • Dividing a big test into slices to increase feedback
  • Dividing a big feature into slices to increase feedback
  • Re-ordering design decisions to increase feedback
  • Ensuring tests are isolated from each other
  • Testing corner cases and malformed input
  • Predicting test outcomes to maximize learning

But, more than this, you’ll see how Kent thinks—you’ll see the why behind the steps he takes. You’ll come away seeing the benefits of TDD for yourself:

  • Working with confidence
  • Working on a series of achievable steps instead of tackling a big problem all at once
  • Ensuring that software design meets the need of the actual code
  • Leaving behind a suite of tests to help preserve the integrity of the code

Available now on our site. (Be sure to check out the discount if you buy all four episodes together.)

Tell your friends! Tweet this

Hands-On Arduino and iOS4

When I got my first car, I could look at the engine and see what was what. If something went wrong, the fix often took just a couple of wrenches and screwdrivers (along with some bruised knuckles). My current car’s engine may as well be a solid block of shiny plastic—I can’t even change the spark plugs because I don’t have the special tools.

The same happened with electronics: I used to take TVs apart, and I used to build amplifiers from discrete components. Today, the electronic devices I use are all packaged as solid blocks of shiny plastic, and the guts are just as inaccessible as the parts in my car.

And that’s a shame, because hacking means taking stuff apart and building it back together. Hacking means thinking “what happens if I connect this to that?” and then being able to do it.

That’s where the Arduino comes in. It’s a simple single-board microcomputer with basic digital and analog I/O, combined with the development tools to program it. Suddenly you can create projects that talk to other electronics—from LEDs to radios. The code you write can interact with the physical world. And suddenly you can hack again.

Maik Schmidt’s article in the latest magazine describes the Arduino, and talks you through some basic projects. It’s a taste of his Arduino book, now in beta. Go on—get your hands on some actual hardware!

Also in this issue you’ll find articles on Apple’s new (yet old) operating system, iOS4. Daniel Steinberg describes three unsung developer-oriented features of the operating system. Eric Smith talks about setting up XCode to do Test-Driven Development when you’re programming for the iPhone and iPad, and Rob Holland continues the testing theme with an article on BDD and the iPhone—you can now use Cucumber to drive your next App Store hit.

This issue is free and shareable at

Coming Soon:

  • The Pragmatic Guide series
  • Hello, Android 3rd Ed in print
  • iPad Programming: A Quick-Start Guide for iPhone Developers in print
  • The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends in print

Recently Released:

Thanks for your continued support,

Andy & Dave