Combinatorial

AETG

A greedy algorithm for building covering arrays — small sets of test cases that exercise every t-way combination of input parameters.

OSWindows · macOS · Linux
BrowserChrome · Firefox
AuthOAuth · SAML

Parameters (CSV)

First row = parameter names; each column below lists that parameter's values.

Interaction strength (t)

t = 2pairwise · max 3

Step 1 of 20

Starting AETG at strength t=2. 16 2-way interactions across 3 parameters must be covered.

Strength
t = 2
Tests
0
Covered
0 / 16
Uncovered
16
Algorithm
AETG(parameters, t):
uncovered ← all valid t-way interactions
tests ← []
while uncovered ≠ ∅:
generate M candidate tests, each:
seed with (param, value) in the most uncovered tuples
for each remaining parameter in random order,
pick value covering the most new interactions
best ← candidate covering the most uncovered tuples
tests.append(best); remove interactions(best) from uncovered
return tests
Interaction coverage0 / 16 covered (0%)

Covering array (0 tests)

#OSBrowserAuth
No tests yet

Uncovered interactions (16)

OS=Windows, Browser=ChromeOS=Windows, Browser=FirefoxOS=macOS, Browser=ChromeOS=macOS, Browser=FirefoxOS=Linux, Browser=ChromeOS=Linux, Browser=FirefoxOS=Windows, Auth=OAuthOS=Windows, Auth=SAMLOS=macOS, Auth=OAuthOS=macOS, Auth=SAMLOS=Linux, Auth=OAuthOS=Linux, Auth=SAMLBrowser=Chrome, Auth=OAuthBrowser=Chrome, Auth=SAMLBrowser=Firefox, Auth=OAuthBrowser=Firefox, Auth=SAML
1 / 20Speed