Visual Basic for Applications:
Scrivere test

Come fare:

Anche se Visual Basic for Applications (VBA) non viene fornito con un framework di test integrato simile a quelli disponibili in linguaggi come Python o JavaScript, puoi comunque implementare procedure di test semplici per verificare l’integrità del tuo codice. Ecco un esempio per illustrare:

Supponiamo che tu abbia una funzione in VBA che somma due numeri:

Function AddNumbers(x As Integer, y As Integer) As Integer
    AddNumbers = x + y
End Function

Per testare questa funzione, puoi scrivere un’altra procedura che convalidi il suo output rispetto ai risultati attesi:

Sub TestAddNumbers()
    Dim result As Integer
    result = AddNumbers(5, 10)
    If result = 15 Then
        MsgBox "Test Superato!", vbInformation
    Else
        MsgBox "Test Fallito. Attesi 15 ma ottenuto " & result, vbCritical
    End If
End Sub

Eseguendo TestAddNumbers verrà visualizzato un messaggio che indica se il test è stato superato o fallito in base all’output della funzione. Anche se questo è uno scenario semplificato, puoi costruire test più complessi incorporando cicli, diversi valori di input e testando per multiple funzioni.

Approfondimento

L’approccio alla scrittura di test in VBA mostrato qui è manuale e privo delle funzionalità dei framework di test più sofisticati disponibili in altri ambienti di programmazione, come esecuzioni di test automatizzate, procedure di setup/teardown e segnalazione integrata dei risultati dei test. Prima dell’adozione più ampia dei framework di testing unitario e dello sviluppo guidato dai test (TDD), le procedure di testing manuale simili a quella descritta erano comuni. Anche se questo metodo è semplice e può essere efficace per progetti piccoli o a scopo di apprendimento, non è scalabile o efficiente per progetti più grandi o team.

Negli ambienti che supportano toolkit di sviluppo più ricchi, i programmatori spesso si rivolgono a framework come NUnit per applicazioni .NET o a JUnit per applicazioni Java, che forniscono strumenti completi per scrivere ed eseguire i test in modo sistematico. Questi framework offrono funzionalità avanzate come l’asserzione dei risultati dei test, il setup di mock objects e la misurazione della copertura del codice.

Per gli sviluppatori VBA alla ricerca di capacità di testing più avanzate, l’alternativa più vicina potrebbe essere l’utilizzo di strumenti esterni o l’integrazione con altri ambienti di programmazione. Alcuni sviluppatori utilizzano VBA in combinazione con Excel per registrare manualmente scenari di test e risultati. Anche se non così comodo o automatizzato come l’uso di un framework di test dedicato, questi metodi possono in parte colmare il divario, aiutando a mantenere l’affidabilità delle soluzioni VBA in applicazioni complesse o critiche.