Tool to generate all possible variables?

(James) #1

Hi there everyone!

I was just wondering whether such a tool exists to help me create a list of all variables based on my inputs, for example:



  1. Oranges/Apples/Pears
  2. Oranges/Pears/Apples
  3. Oranges/Oranges/Pears

etc etc etc

I’m sure there must be something out there :slight_smile:

Many thanks,


(Jesper) #2

Something along the lines of pair-wise testing?

(Chris) #3

Pairwise-wise JB has a free tool for this too, called ALLPAIRS (

(Sebastian) #4

Why not implement your own?
This will not only help you testing but also be a better tester.
Your example looks like

  • Take 3 out of 3 with repetition
    Search for it (combinatorics)

(stephen) #5

Reminds me of this.

(Darrell) #6

I’d agree with mathume. Generally, I would not recommend implementing your own. Often people try to implement things which are a lot hard than they thought and they end up introducing bugs into the test tools (then you have to have tests for the tests; where does it end).

But in the case of generating all possible variables is a fairly fundamental skill.

When you look into this the first thing you find is permutations are different from combinations. In a combinations, 1, 2, 3 is the same as 3, 2, 1. But these are two different permutations.

If you really just want something you can plug strings into and don’t care about the implementation then you can just google “permutation generator” or “combination generator”.

If you are dealing with sensitive data and don’t want to post it online, you definitely want to search for “permutation generator algorithm” then implement the algorithm locally. Having a good, local permutation generator is a good idea. Sooner or later you will have to permute sensitive data and at that time you’ll be happy you have a local program you can use.


(Simon) #7

Hi @sad_muso,

About 10 or so years ago I used to use the Classification Tree Editor to help do something moderately similar.

Perhaps it might help!

(James) #8

Excellent; thanks all.

I found this and I think it’ll do the trick for me for now - if I ever need to use sensitive data then I’ll look for a local alternative: