Suche…


Einführung

Schleifen gelten als eine der wichtigen Kontrollstrukturen in jeder Programmiersprache. Es gibt verschiedene Möglichkeiten, wie wir eine Schleifenabdeckung erreichen können.

Diese Methoden unterscheiden sich je nach Art der Schleife.

Einzelne Schleifen

Verschachtelte Loops

Verkettete Loops

Einzelschleifentest

Dies sind Schleifen, bei denen ihr Schleifenkörper keine anderen Schleifen enthält (die innerste Schleife, falls geschachtelt).

Um eine Schleifenabdeckung zu erzielen, sollten die Tester die unten angegebenen Tests durchführen.

Test 1: Entwerfen Sie einen Test, bei dem der Schleifenkörper überhaupt nicht ausgeführt werden soll (dh keine Iterationen).

Test 2: Entwerfen Sie einen Test, bei dem die Schleifensteuerungsvariable negativ ist (negative Anzahl von Iterationen).

Test 3: Entwerfen Sie einen Test, bei dem die Schleife nur einmal wiederholt wird

Test 4: Entwerfen Sie einen Test, bei dem die Schleife zweimal wiederholt wird

Test 5: Entwerfen Sie einen Test, bei dem die Schleife eine bestimmte Anzahl von Malen durchläuft, beispielsweise m mit m <maximal mögliche Anzahl von Iterationen

Test 6: Entwerfen Sie einen Test, bei dem die Schleife eine weniger als die maximale Anzahl von Iterationen durchläuft

Test 7: Entwerfen Sie einen Test, bei dem die maximale Anzahl der Iterationen durchlaufen wird

Test 8: Entwerfen Sie einen Test, bei dem eine Schleife mehr als die maximale Anzahl von Iterationen durchläuft

Betrachten Sie das folgende Codebeispiel, das alle angegebenen Bedingungen anwendet.

öffentliche Klasse SimpleLoopTest {

private int [] zahlen = {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;
}

}

öffentliche Klasse TestPass erweitert 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
}

}

Test für verschachtelte Schleifen

Eine verschachtelte Schleife ist eine Schleife innerhalb einer Schleife.

Die äußere Schleife ändert sich erst, nachdem die innere Schleife vollständig beendet / unterbrochen wurde.

In diesem Fall sollten Testfälle so gestaltet werden, dass

Beginnen Sie bei der innersten Schleife. Stellen Sie alle äußeren Schleifen auf ihre Mindestwerte ein. Führen Sie einen einfachen Schleifentest für die innerste Schleife durch (Test3 / Test4 / Test5 / Test6 / Test7). Fahren Sie fort, bis alle Loops getestet wurden

Verkettete Schleifen Test

Zwei Schleifen werden verkettet, wenn es möglich ist, eine nach dem Verlassen der anderen auf demselben Weg vom Eingang zum Ausgang zu erreichen. Manchmal sind diese beiden Schleifen unabhängig voneinander. In diesen Fällen können wir die Entwurfstechniken anwenden, die im Rahmen der Einzelschleifenprüfung angegeben wurden.

Wenn die Iterationswerte in einer Schleife direkt oder indirekt mit den Iterationswerten einer anderen Schleife zusammenhängen und auf demselben Pfad vorkommen können, können wir sie als verschachtelte Schleifen betrachten.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow