2011-08-02 7 views
0

종속 변수 세트를 기반으로 테스트 케이스를 자동으로 생성하는 알고리즘이 필요합니다. 구현 언어는 별 문제가되지 않습니다. 간단한 예로서테스트 케이스 생성

:

난 함수 F 테스트있어 가정 (A, B, C를, d)

  1. 될 수 A1, A2,
  2. B (α3) (B1)가 될 수있다 , B2
  3. 는 는
  4. C를 C1, C2, C3
  5. D 일 수 D1, D2 될 수 있다면 =의 A1, D2, D3, D4 A = a2를하는 경우, D5 A = A3
,536,913 경우

모든 인수 조합을 생성하려면 어떻게해야합니까?

[A1, B1, C1, D1] [A2, B1, C1, D3] [A2, B1, C1, D4] 등

및?

답변

0

이것은 비교적 특별하게 들립니다. 매개 변수에 대한 조건을 정의 할

recursiveTestAllCombinations(previousParameters) 
{ 

    if (length(previousParameters) == numberOfParameters) 
    { 
    performTest(previousParameters) 
    return; //end of recursion 
    } 


    possibilitiesForCurrentParameter = getPossibilities(currentParameterIndex, previousParameters) 

    foreach (p in possibilitiesForCurrentParameter) 
    { 
    parameters = previousParameters 
    parameters.append(p); 
    recursiveTestAllCombinations(parameters) 
    } 
} 

recursiveTestAllCombinations([]) 

방법 getPossibilities : 당신은 하나 개의 매개 변수에 대한 가능성의 목록 만 "이전"매개 변수에 따라 달라집니다 있도록 매개 변수를 명령한다고 가정하면, 당신은 같은 것을 할 수 있어야 :

getPossibilities(previousParameters) 
{ 
    if (length(previousParameters) == 0) 
    { 
    return [a1, a2, a3]; 
    } 
    .. 
    if (length(previousParameters) == 3) 
    { 
    if (previousParameters[0] == a1) return [d, d2]; 
    .. 
    } 
} 
1

당신이보고있는 것은 공식적으로 조합 테스트입니다. 자세한 내용은 here을 참조하십시오. 온라인에서 여러 도구를 찾을 수 있지만 성공 사례가 있습니다. CTE-XLPICT

코드 생성은하지 않지만 조합을 생성하지는 않습니다.

0

아마도 일부 링크는 the question and answers here might be worth following up on입니다. 당신이 물어야 할 기본적인 질문은 모든 조합을 생성하는 것이 가치가 있는지 여부입니다. Phadke의 접근 방식을 사용하면 모든 조합의 서브 샘플링 하위 세트를 선택할 수 있습니다. 그것은 철저한 테스트는 아니지만 아주 좋은 적용 범위를 제공합니다.

Phadke'sdesign of experiments 접근 방식 (소프트웨어) 시스템을 테스트하기위한 매개 변수 값을 선택합니다.

간단히 말해서이 방법은 테스트 (메소드) 매개 변수의 최소값, 일반 값 및 최대 값을 사용하고 appropriately chosen Taguchi array에 따라 값을 변경합니다.

+0

Phadke의 링크가 작동하지 않습니다. – Jon

+0

@ 존 : 작동하는 것을 찾았습니다. 헤즈 업에 감사드립니다! –

관련 문제