Visual Basic for Applications:
Testien kirjoittaminen
Miten:
Vaikka Visual Basic for Applications (VBA) ei sisälläkään valmista testausrunkoa, joka olisi verrattavissa kielissä kuten Python tai JavaScript saatavilla oleviin, voit silti toteuttaa yksinkertaisia testimenettelyjä koodisi eheyden tarkistamiseksi. Tässä on esimerkki havainnollistamaan:
Oletetaan, että sinulla on VBA:ssa funktio, joka lisää kaksi lukua:
Function AddNumbers(x As Integer, y As Integer) As Integer
AddNumbers = x + y
End Function
Tämän funktion testaamiseksi voit kirjoittaa toisen menettelyn, joka vahvistaa sen tuloksen odotettujen tulosten vastaavuuden:
Sub TestAddNumbers()
Dim result As Integer
result = AddNumbers(5, 10)
If result = 15 Then
MsgBox "Testi läpäisty!", vbInformation
Else
MsgBox "Testi epäonnistui. Odotettiin 15, mutta saatiin " & result, vbCritical
End If
End Sub
TestAddNumbers
suorittaminen näyttää viestiruudun, jossa ilmoitetaan, läpäisikö testi vai epäonnistuiko se, perustuen funktion tulokseen. Vaikka tämä on yksinkertaistettu skenaario, voit rakentaa monimutkaisempia testejä lisäämällä silmukoita, erilaisia syöttöarvoja ja testaamalla useampia funktioita.
Syväsukellus
Tässä näytetty lähestymistapa testien kirjoittamiseen VBA:ssa on manuaalinen ja vailla monien muiden ohjelmointiympäristöjen saatavilla olevien kehittyneempien testausrunkojen ominaisuuksia, kuten automaattiset testiajot, asennus/purkumenettelyt ja testitulosten integroitu raportointi. Ennen yksikkötestauskehysten ja testivetoinen kehittämisen (TDD) laajempaa omaksumista, manuaaliset testausmenettelyt, samankaltaiset kuin kuvattu, olivat yleisiä. Vaikka tämä menetelmä on yksinkertainen ja voi olla tehokas pienissä projekteissa tai oppimistarkoituksessa, se ei ole skaalautuva tai tehokas suuremmissa projekteissa tai tiimeissä.
Rikkaampia kehitystyökaluja tukevissa ympäristöissä ohjelmoijat kääntyvät usein .NET-sovelluksille tarkoitettujen NUnit-kehysten tai Java-sovelluksille tarkoitettujen JUnit-kehysten puoleen, jotka tarjoavat kattavat työkalut systemaattiseen testien kirjoittamiseen ja suorittamiseen. Nämä kehykset tarjoavat edistyneitä ominaisuuksia, kuten testitulosten vahvistamisen, mock-objektien asettamisen ja koodikattavuuden mittaamisen.
VBA-kehittäjät, jotka etsivät kehittyneempiä testausmahdollisuuksia, lähin vaihtoehto voisi olla ulkoisten työkalujen hyödyntäminen tai integroituminen muihin ohjelmointiympäristöihin. Jotkut kehittäjät käyttävät VBA:ta yhdistettynä Exceliin tallentaakseen testiskenaarioita ja -tuloksia manuaalisesti. Vaikka tämä ei ole yhtä kätevää tai automatisoitua kuin omistetun testausrungon käyttäminen, nämä menetelmät voivat osittain kuromaan umpeen aukon, auttaen ylläpitämään VBA-ratkaisujen luotettavuutta monimutkaisissa tai kriittisissä sovelluksissa.