수색…


소개

루프는 모든 프로그래밍 언어에서 중요한 제어 구조 중 하나로 간주됩니다. 루프 적용 범위를 달성 할 수있는 다양한 방법이 있습니다.

이러한 메서드는 루프 유형에 따라 다릅니다.

단일 루프

중첩 루프

연결 루프

단일 루프 테스트

이것은 루프 본문에 다른 루프 (중첩 된 경우 가장 안쪽 루프)가없는 루프입니다.

루프 적용 범위를 갖기 위해 테스터는 아래 주어진 테스트를 수행해야합니다.

테스트 1 : 루프 본문이 전혀 실행되지 않아야하는 테스트를 설계하십시오 (즉, 반복 횟수가 0 회)

테스트 2 : 루프 제어 변수가 음수가되는 테스트 설계 (음수 반복)

테스트 3 : 루프가 한 번만 반복되는 테스트 설계

테스트 4 : 루프가 두 번 반복되는 테스트 설계

테스트 5 : 루프가 특정 횟수만큼 반복되는 테스트를 설계합니다. 예를 들어 m <m <가능한 최대 반복 횟수

테스트 6 : 루프가 최대 반복 횟수보다 하나 적은 반복을 테스트하는 디자인

테스트 7 : 루프가 최대 반복 횟수를 반복하는 테스트 설계

테스트 8 : 루프가 최대 반복 횟수보다 하나 더 반복하는 테스트를 설계하십시오.

지정된 모든 조건을 적용하는 아래 코드 예제를 고려하십시오.

공용 클래스 SimpleLoopTest {

private int [] numbers = {5, -77,8, -11,4,1, -20,6,2,10};

/** Compute total of  positive numbers in the array 
 *  @param numItems number of items to total.
 */
public int findSum(int numItems)
{
    int total = 0;
    if (numItems <= 10) 
    {
        for (int count=0; count < numItems; count = count + 1)
        {
          if (numbers[count] > 0)
             {
                total = total + numbers[count];
             }
        }                
    }
    return total;
}

}

공용 클래스 TestPass는 TestCase {

public void testname() throws Exception {
    
    SimpleLoopTest s = new SimpleLoopTest();        
    assertEquals(0, s.findSum(0));    //Test 1
    assertEquals(0, s.findSum(-1));   //Test 2
    assertEquals(5, s.findSum(1));    //Test 3
    assertEquals(5, s.findSum(2));    //Test 4
    assertEquals(17, s.findSum(5));   //Test 5
    assertEquals(26, s.findSum(9));   //Test 6
    assertEquals(36, s.findSum(10));  //Test 7
    assertEquals(0, s.findSum(11));   //Test 8
}

}

중첩 루프 테스트

중첩 루프는 루프 내의 루프입니다.

외부 루프는 내부 ​​루프가 완전히 완료 / 중단 된 후에 만 ​​변경됩니다.

이 경우 테스트 케이스는 다음과 같은 방식으로 설계되어야합니다.

가장 안쪽의 루프에서 시작하십시오. 모든 외부 루프를 최소값으로 설정하십시오. 가장 안쪽 루프 (Test3 / Test4 / Test5 / Test6 / Test7)에서 단순 루프 테스트를 수행하십시오. 모든 루프가 테스트 될 때까지 계속하십시오.

연결 루프 테스트

출입구에서 출구로가는 동일한 경로에서 다른 출입구에 도달 할 수 있다면 두 개의 루프가 연결됩니다. 때때로이 두 루프는 서로 독립적입니다. 이러한 경우 단일 루프 테스트의 일부로 지정된 설계 기술을 적용 할 수 있습니다.

그러나 한 루프의 반복 값이 다른 루프의 반복 값과 직접 또는 간접적으로 관련되어 있고 동일한 경로에서 발생할 수있는 경우 중첩 루프로 간주 할 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow