Ricerca…


introduzione

Loop considerati come una delle strutture di controllo importanti in qualsiasi linguaggio di programmazione. Ci sono diversi modi in cui possiamo ottenere la copertura del ciclo.

Questi metodi differiscono in base al tipo di loop.

Loop singoli

Cicli annidati

Anelli concatenati

Test ad anello singolo

Questi sono loop in cui il loro corpo del loop non contiene altri loop (il ciclo più interno in caso di nidificazione).

Per avere una copertura ciclica, i tester dovrebbero esercitare i test indicati di seguito.

Test 1: progettare un test in cui il corpo del loop non deve essere eseguito affatto (vale a dire zero iterazioni)

Test 2: progettare un test in cui la variabile di controllo del ciclo sia negativa (numero negativo di iterazioni)

Test 3: Progetta un test in cui il ciclo itera una sola volta

Test 4: progettare un test in cui il ciclo itera due volte

Test 5: Progetta un test in cui il ciclo itera un determinato numero di volte, ad esempio dove m <numero massimo di iterazioni possibili

Test 6: Progetta un test in cui il ciclo itera un valore inferiore al numero massimo di iterazioni

Test 7: Progetta un test in cui il ciclo itera il numero massimo di iterazioni

Test 8: Progetta un test in cui il ciclo itera un valore superiore al numero massimo di iterazioni

Considera l'esempio di codice seguente che applica tutte le condizioni specificate.

public class SimpleLoopTest {

numeri privati ​​int [] = {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;
}

}

la classe pubblica TestPass estende 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 dei cicli annidati

Un ciclo annidato è un ciclo all'interno di un ciclo.

Il ciclo esterno cambia solo dopo che il ciclo interno è completamente finito / interrotto.

In questo caso, i casi di test dovrebbero essere progettati in modo tale che

Inizia nel ciclo più interno. Imposta tutti i loop esterni ai loro valori minimi. Eseguire un semplice test di loop sul loop più interno (Test3 / Test4 / Test5 / Test6 / Test7). Continua fino a quando tutti i loop sono stati testati

Test di loop concatenati

Due anelli sono concatenati se è possibile raggiungerne uno dopo aver lasciato l'altro sullo stesso percorso dall'ingresso all'uscita. A volte questi due anelli sono indipendenti l'uno dall'altro. In questi casi possiamo applicare le tecniche di progettazione specificate come parte del test a ciclo singolo.

Ma se i valori di iterazione in un ciclo sono direttamente o indirettamente correlati ai valori di iterazione di un altro ciclo e possono verificarsi sullo stesso percorso, possiamo considerarli come cicli annidati.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow