Creazione di un test harness
Un test harness è un modello che isola il componente sottoposto a test con input, output e blocchi di verifica configurati per gli scenari di test. È possibile creare un test harness per un componente del modello o per un modello completo. Un test harness offre un ambiente di test separato per un modello o un componente del modello. Ad esempio:
È possibile eseguire il test unitario di un sottosistema isolandolo dal resto del modello.
È possibile creare uno scenario di test a loop chiuso per un controller aggiungendo un modello di impianto al test harness.
È possibile mantenere il modello principale privo di blocchi di verifica non necessari inserendo i blocchi Model Verification e Test Assessment nel test harness.
Per assegnare un test harness a un caso di test, selezionare Test Harness nella sezione System Under Test del Test Manager.
È possibile salvare l'harness con il modello oppure in un file esterno. Se il modello è sottoposto a gestione delle modifiche, valutare la possibilità di salvare il test harness in un file esterno. L'harness funziona allo stesso modo sia che sia interno sia che sia esterno al modello. Per maggiori informazioni, vedere Manage Test Harnesses e Synchronize Changes Between Test Harness and Model.
Creazione dell'harness
In questo esempio, si crea un harness direttamente da un modello. L'harness verifica il sottosistema shift_logic del modello sltestCarRootInport.
Aprire il modello
sltestCarRootInport.openExample("sltestCarRootInport.slx")Fare clic con il tasto destro del mouse sul sottosistema
shift_logic. Dal menu contestuale, selezionare Test Harness > Create for 'shift_logic'.Nella finestra di dialogo Create Test Harness (Crea test harness), specificare gli input, gli output e le altre opzioni:
Utilizzare i blocchi Constant per fornire i segnali di input. In Sources and Sinks, impostare la sorgente su
Constante la destinazione suScope.Lasciare le altre opzioni con le impostazioni predefinite. Per impostazione predefinita:
L'harness viene salvato con il file del modello.
L'harness si sincronizza con il modello all'apertura, ossia le modifiche apportate al modello vengono aggiornate nell'harness.
Fare clic su OK per creare il test harness.

Al centro dell'harness è presente una copia del sottosistema shift_logic. Il sottosistema shift_logic è il componente sottoposto a test. I due sottosistemi verticali contengono le specifiche dei segnali e il routing.
I nomi dei segnali utilizzati nel componente sottoposto a test si propagano dal modello al test harness. Per gli harness dei sottosistemi, alcuni nomi dei segnali propagati potrebbero essere visibili solo dopo aver compilato l'harness. Per gli harness del diagramma del blocco, i nomi dei segnali vengono propagati anche se non si seleziona Show propagated signals nella finestra di dialogo Signal Properties (Proprietà del segnale).
È inoltre possibile creare un harness o più harness contemporaneamente utilizzando la funzione sltest.harness.create, la funzione sltest.testmanager.createTestForComponent, o la procedura guidata Create Test for Model Component (Crea test per il componente del modello), disponibile nel Test Manager. Per informazioni sulla procedura guidata, vedere Generate Tests and Test Harnesses for a Model or Components.
Per informazioni sull'architettura del test harness, vedere Test Harness Construction for Specific Model Elements. Per informazioni sulla personalizzazione delle impostazioni predefinite dell'harness quando si crea un nuovo harness, vedere Customize Test Harness Creation Default Property Values.
Simulazione del test harness
Assegnare valori ai blocchi Constant per testare il componente:
Modificare il valore del blocco Speed in
50.Modificare il valore del blocco Throttle in
30.Fare clic su Run (Esegui) nella scheda Simulation (Simulazione) per simulare l'harness.
Aprire lo scope e osservare il risultato. Il controller del cambio seleziona la terza marcia.

Esecuzione dei test utilizzando Test Manager
Nel caso precedente, sono stati forniti input di test con i blocchi Constant. È anche possibile utilizzare input di test da file di dati esterni.
Creare un test harness che utilizza sorgenti Inport.
Creare un caso di test che utilizza il test harness come System Under Test.
Mappare gli input esterni al caso di test.
L'utilizzo di un caso di test nel Test Manager consente di iterare con diversi vettori di test, aggiungere casi di test, eseguire batch di casi di test e organizzare i risultati. Questo esempio mostra come utilizzare i dati esterni con un test harness e simulare dal Test Manager.
Per aprire Test Manager, nella scheda Apps, in Model Verification, Validation and Test (Verifica del modello, validazione e test), fare clic su Simulink Test. Quindi, nella scheda Tests, fare clic su Simulink Test Manager.
Selezionare New > Test File dalla barra degli strumenti di Test Manager.
Assegnare un nome al file
ShiftLogicTest.Selezionare New Test Case 1. Nella sezione System Under Test, fare clic su Use current model
.Per Test Harness, selezionare
ShiftLogic_InportHarnessdall'elenco a discesa. Il test harness è già presente nel modello.Nella sezione Inputs, fare clic su Create. Assegnare un nome al file di input dei dati
shift_logic_inpute selezionare il formato file MAT.In Signal Editor (Editor dei segnali), inserire i valori per gli input:
Selezionare il segnale speed e inserire
50per i tempi0e30. Premere INVIO per aggiornare il grafico.Selezionare il segnale throttle e inserire
30per i tempi0e30. Premere INVIO per aggiornare il grafico.
Fare clic su Save nella barra degli strumenti di Signal Editor (Editor dei segnali).
Selezionare i dati di output da acquisire.
Nella sezione Simulation Outputs del Test Manager, fare clic su Add.
Nel diagramma del blocco del test harness, selezionare la linea del segnale
gear. Selezionare il segnale nella finestra di dialogo Connect.Fare clic su Done per aggiungere il segnale agli output del caso di test.
Fare clic su Run nella barra degli strumenti di Test Manager.
Espandere i risultati ed evidenziare l'output del segnale del cambio. Il grafico mostra che il controller seleziona la terza marcia.
