Archive for the ‘Test Driven Development’ Category

Why Test Driven Development for Embedded?

Wednesday, October 7th, 2009

Embedded software has all the challenges of “regular” software, like poor quality and unreliable schedules. It is just software with some additional challenges. The additional challenges do not disqualify TDD for embedded. TDD even helps with some of those uniquely embedded challenges.
(more…)

What Should you Expect from a Unit Test Harness

Tuesday, October 6th, 2009

A unit test harness’ job is to provide:

  • A concise common language to express test cases
  • A concise common language to express expected results
  • A place to collect all the unit test cases for the project, system, or subsystem
  • The facilities to run the test cases, either in full or partial batches
  • A concise report of the test suite success or failure
  • A detailed report of any test failures

Extra! Extra! TDD Doubles LOC and No One Cares!

Tuesday, July 14th, 2009

Test Driven Development more than doubles the lines of code you have to write. With all that extra code to write, where will we ever find the time?! We have deadlines!
(more…)

Deep Agile Panel Questions – Documentation

Wednesday, May 13th, 2009

This is the third in my Deep Agile Embedded Panel Questions series. The question is:

We had a team doing agile. To them that included not doing any documentation. We need documentation once we go into maintenance. Is doing documentation allowed in Agile?

The short answer is yes. Agile does allow documentation. Do you think agile is a totalitarian dictator? :-)
(more…)

Don’t Let Embedded Tool Chain Slow You Down.

Wednesday, April 1st, 2009

During my TDD session at the Embedded Systems Conference yesterday, I did a demo. Before the demo, I make the case for TDD as a way to prevent bugs (see Physics of TDD). For the live demo I usually code on my mac and run the tests there as well. The question always comes up: “You are running tests on your PC, can you run them on the target?” or maybe “Sure you can TDD on a PC, but what about the real hardware?”
(more…)

Deep Agile Embedded Brain Storm

Tuesday, February 24th, 2009

Let’s say you were an embedded systems developer, and you were planning on attending a conference like the Deep Agile Embedded.

What questions would you hope you could get answers for at the conference?

What if you already knew it all but were sending your boss, co-worker, or CEO who needed to learn more, what would you want them to hear about?

Would you want to do some hands on Test Driven Development?

Here are some of the questions we have so far:
(more…)

No time for proactive tests

Saturday, February 21st, 2009

Every now and then I get a new automatic update. I usually just press install. Today I browsed the release notes for the Adium IM client update (below). There are six new features, denoted with a “*”. The rest (about 30 of them) are fixes, meaning something was broken. These guys must be too busy to proactively test Adium. Test Driven Development probably would not work for them :-)
(more…)

Zune Bug: Test Driven Bug Fix

Thursday, February 19th, 2009

The Microsoft Zune 30G had a well known crash to bring in the new year. Here is the snippet of code that is the alleged culprit, from one of MS’s suppliers (Freescale).
(more…)

TDD Stepping Stones

Thursday, February 5th, 2009

Imagine you are trying to cross a mountain stream. You could make a running leap and get to the other side. Sometimes that works, other times you get wet. When there are rocks sticking out of the rushing water, you can step from rock to rock and get across the stream without getting wet. Sure there are some streams you can jump across, go ahead and jump. Other streams require a more careful approach.
(more…)

Learning Tests are Free!

Monday, February 2nd, 2009

My son is studying computer science at U of I in Chicago. He is taking an operating systems class and has to do some projects in C. (Some things change, some things stay the same.) He had an internship over the last 8-9 months and was doing TDD in Java. So he might be in the early stages of a test infection.

He has not done much C so he’s got some learning to do. I thought I better show him CppUTest. He could use it for a play ground to learn some of the subtleties of C, as well as use TDD.
(more…)