Differenza tra i test di integrazione top-down e bottom-up

Autore: Laura McKinney
Data Della Creazione: 2 Aprile 2021
Data Di Aggiornamento: 11 Maggio 2024
Anonim
Unit vs Integration testing — what’s the difference? | Code Walks 005
Video: Unit vs Integration testing — what’s the difference? | Code Walks 005

Contenuto


La differenza principale tra i test di integrazione top-down e bottom-up è che il test di integrazione top-down utilizza gli stub per chiamare i sottomoduli subordinati alla funzione principale mentre nei test di integrazione bottom-up gli stub non sono necessari invece che vengono utilizzati i driver . La ridondanza correlata è più nel caso dell'approccio top-down rispetto al bottom-up.

Queste due tecniche fanno parte del test di integrazione che fornisce un modo organizzato per costruire la struttura del programma eseguendo contemporaneamente test per rilevare errori associati all'interfaccia. I test di integrazione vengono condotti principalmente per combinare i componenti testati dell'unità al fine di costruire il programma in base alle specifiche di progettazione.

    1. Tabella di comparazione
    2. Definizione
    3. Differenze chiave
    4. Conclusione

Tabella di comparazione

Base per il confrontoTest di integrazione top-downTest di integrazione bottom-up
Di baseUtilizza gli stub come sostituti momentanei per i moduli richiamati e simula il comportamento dei moduli di livello inferiore separati.Utilizzare i driver di test per avviare e passare i dati richiesti al livello inferiore dei moduli.
beneficoSe il difetto significativo si verifica verso la parte superiore del programma.Se i difetti cruciali si incontrano verso il fondo del programma.
ApproccioLa funzione principale viene inizialmente scritta, quindi vengono chiamate le subroutine.I moduli vengono creati per primi, quindi vengono integrati con la funzione principale.
Implementato ilLinguaggi di programmazione orientati alla struttura / alle procedure.Linguaggi di programmazione orientati agli oggetti.
Analisi del rischioCollaborazione dell'impatto di guasti operativi interni.I modelli vengono utilizzati per analizzare il singolo processo.
ComplessitàSempliceComplesso e ad alta intensità di dati.
Funziona suComponenti da grandi a piccoli.Componenti da piccoli a grandi.


Definizione di test di integrazione top-down

Il test di integrazione top-down è una tecnica incrementale per costruire una struttura di programma. Incorpora i moduli mentre si sposta verso il basso, a partire dal controllo principale nella gerarchia. I sottomoduli vengono quindi integrati nel modulo principale usando un metodo di profondità primo o di ampiezza. Lo scopo principale dell'integrazione top-down è verificare i punti di controllo e decisione significativi prima nel processo di test.

Il processo di integrazione prevede i seguenti passaggi nell'approccio top-down:

  • A partire dal modulo di controllo principale, gli stub vengono quindi sostituiti per i componenti che risiedono sotto i moduli principali.
  • La strategia di sostituzione dello stub subordinato si basa sul tipo di approccio di integrazione seguito (ovvero profondità e ampiezza prima), ma è consentito sostituire solo uno stub con componenti effettivi alla volta.
  • Dopo l'integrazione dei componenti, vengono eseguiti i test.
  • Man mano che viene eseguita una serie di test, il troncone rimanente viene sostituito con il componente effettivo.
  • Alla fine, viene eseguito il test di regressione per assicurare l'assenza di nuovi errori.

Poiché il test top-down utilizza stub per sostituire i dati di basso livello e non è consentito il flusso verso l'alto. Esistono tre modi per farlo, in primo luogo, fino a quando non viene effettuata la sostituzione degli stub con funzioni effettive, le altre funzioni vengono ritardate. In secondo luogo, è possibile creare i nuovi stub che possono eseguire funzioni limitate e imitare gli stub reali. Nell'ultima idea, gli stub possono essere integrati dalla gerarchia dal basso verso l'alto. Tuttavia, l'ultima soluzione è definita come integrazione bottom-up, che è descritta nella definizione successiva.


Definizione di test di integrazione bottom-up

Il test di integrazione dal basso verso l'alto inizia con la costruzione dei moduli fondamentali (ovvero elementi del programma di livello più basso). Integra i componenti che risiedono al livello più basso (ovvero, il livello più basso) fornendo un processo ed elimina la necessità degli stub. Man mano che l'integrazione va nella direzione superiore, il requisito dei driver di prova separati diminuisce. Pertanto, anche la quantità di spese generali è ridotta rispetto all'approccio di test di integrazione top-bottom.

L'integrazione dal basso comprende i seguenti passaggi:

  • Unisce gli elementi di basso livello noti anche come build in cluster che eseguono una determinata funzione secondaria del software.
  • Il driver (programma di controllo) viene utilizzato nell'integrazione dal basso verso l'alto per organizzare l'input e l'output del test case.
  • Quindi il cluster viene testato.
  • I cluster vengono incorporati andando verso l'alto nella struttura del programma e i driver vengono eliminati.
  1. Il test di integrazione top-down implementa gli stub in sostituzione di quelli di basso livello. Al contrario, il test di integrazione bottom-up impiega i driver per passare i dati al livello inferiore dei moduli.
  2. La funzione principale è la parte più importante del test di integrazione top-down attraverso il quale vengono chiamate altre subroutine. Al contrario, l'approccio dal basso verso l'alto pone l'accento sui moduli di livello inferiore e li crea e li integra inizialmente.
  3. I linguaggi di programmazione orientati alla struttura / alla procedura implementano test di integrazione top-down mentre i test bottom-up sono implementati sui linguaggi orientati agli oggetti.
  4. Per esaminare il rischio nell'approccio test top-down, si combinano l'effetto dei difetti operativi interni. Al contrario, i test di integrazione dal basso verso l'alto monitorano il processo separatamente con l'aiuto dei modelli.
  5. Il test di integrazione top-down è semplice rispetto al test bottom-up.
  6. Il test di integrazione top-down funziona attraverso componenti grandi e piccoli mentre l'approccio bottom-up è inverso.

Conclusione

In entrambi gli approcci, i test di integrazione top-down e bottom-up, il top-down producono risultati più ridondanti e portano a ulteriori sforzi sotto forma di costi generali. Al contrario, l'approccio dal basso verso l'alto è complesso ma più efficiente del precedente.