Channels ▼

James Reinders

Dr. Dobb's Bloggers

Test suites fail with parallel programs...

October 08, 2009

Test suites, as we use them, assume the program we are testing is stable. We figure if a test passes, it would pass again if we ran the test again. If it fails, we are used to being able to debug it.

Parallel programming destroys our tidy little world. Headaches abound.

Just today, I was hit with the experiences of yet-another customer frustrated by this new reality.  Fortunately, I gave good advice before this customer wasted a lot of time.

I've seen all sorts of weird  pseudo-solutions, like running the test suites a couple extra times to see if you can get more comfortable that your program is stable. Yikes!

There is a solution - use a tool to eliminate the timing dependent bugs in the program you wish to test. That puts us back in a world we understand - where test suites work as they always have, and failing tests are debuggable.  It's not a cakewalk to use such tools, but they beat the alternative.

For more ramblings on this topic - see my longer explanation

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 


Video