Search the web
Sign In
New User? Sign Up
testdrivendevelopment · Test-driven Development
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want to share photos of your group with the world? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Agile response to combinatorial explosion   Message List  
Reply | Forward Message #31368 of 32114 |
Re: [TDD] Agile response to combinatorial explosion

On Thu, Jul 9, 2009 at 9:49 PM, Dale Emery<dale@...> wrote:
> Hi Andrew,
>
> I'm trying to figure out the right approach in my thinking here. Suppose you
>> have an application which has 10 different configuration options. Each
>> option has 3 different settings. It doesn't take rocket science to figure
>> out that this means 3^10 or over 59000 configurations. And those are small
>> numbers! Certainly we can't write a test for every single one of these
>> cases. Yet it's also hard to be absolutely sure that they're completely
>> independent. I recently had a UI bug that was unexpectedly caused by bad
>> data in a completely different area of the site, and I really don't think it
>> was caused by poor design. So what do we make of this? How shall we then
>> test?
>
>
> One common approach is to make this simplifying assumption: Most
> combination-related problems are caused by interactions of PAIRs of
> variables, and very few are caused by larger tuples.
>
> I have no idea under what circumstances that assumption is warranted. I do
> know that making the assumption greatly reduces the number of combinations
> you need. There's a technique called All Pairs Analysis (aka Pairwise
> Analysis) that yields a minimal set of combinations that includes every pair
> of values for every pair of variables.

I read an article on testing quite a while ago that has stuck with me.
It discusses pairwise testing, n-wise testing for the larger tuples
as mentioned above, and then some random sampling:

http://www.developerdotstar.com/mag/articles/test_smarter_not_harder.html

> If you're willing to make the pairwise assumption (and accept the attendant
> risks), give All Pairs Analysis a try. James Bach offers a free tool on his
> web site: http://www.satisfice.com/tools.shtml

Nice tools. I'll keep that in mind.

Thanks.

--Kaleb



Fri Jul 10, 2009 3:54 pm

kaleb_pederson
Offline Offline
Send Email Send Email

Forward
Message #31368 of 32114 |
Expand Messages Author Sort by Date

I'm trying to figure out the right approach in my thinking here. Suppose you have an application which has 10 different configuration options. Each option has...
Andrew Wagner
wagner.andrew99
Offline Send Email
Jul 10, 2009
4:33 am

Hi Andrew, I'm trying to figure out the right approach in my thinking here. Suppose you ... One common approach is to make this simplifying assumption: Most ...
Dale Emery
dalehemery
Offline Send Email
Jul 10, 2009
4:50 am

If you're working in the .NET world, either NUnit or MbUnit have a Pairwise attribute used to generate test cases from a set of parameter values. Charlie...
Charlie Poole
cpoole98370
Offline Send Email
Jul 10, 2009
6:17 am

... I read an article on testing quite a while ago that has stuck with me. It discusses pairwise testing, n-wise testing for the larger tuples as mentioned...
Kaleb Pederson
kaleb_pederson
Offline Send Email
Jul 10, 2009
3:57 pm

Andrew, One interesting question is how did all those config options get there? Theoretically, because you had a failing test, right? And, without meaning to,...
Donaldson, John (GEO)
geo_johnfr
Offline Send Email
Jul 10, 2009
10:00 am

@Andrew The thing that jumps to my mind is that you have some coupling between the code or maybe you're violating DRY someplace. When you describe having...
Joseph Gutierrez
gutzofter
Offline Send Email
Jul 11, 2009
3:37 am

I have no doubt that DRY is violated in this code -- it's legacy code that doesn't have tests around it, and is a bit....lacking in the good design department....
Andrew Wagner
wagner.andrew99
Offline Send Email
Jul 12, 2009
5:44 pm

I see combinatorial explosions as a design opportunity, not a testing opportunity. If I have five features that need to run on six versions of Eclipse, I could...
kentb
kentlbeck
Offline Send Email
Jul 11, 2009
4:23 pm

... But, how do you test that you have achieved this design criteria? Can you be sure you have met this objective without tests to verify it? So, if you...
Steven Gordon
sfman2k
Offline Send Email
Jul 11, 2009
5:21 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help