Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Terraform maakt de definitie, preview en implementatie van de cloudinfrastructuur mogelijk. Met Terraform maakt u configuratiebestanden met behulp van HCL-syntaxis. Met de HCL-syntaxis kunt u de cloudprovider opgeven, zoals Azure, en de elementen waaruit uw cloudinfrastructuur bestaat. Nadat u uw configuratiebestanden hebt gemaakt, maakt u een uitvoeringsplan waarmee u een voorbeeld van uw infrastructuurwijzigingen kunt bekijken voordat ze worden geïmplementeerd. Zodra u de wijzigingen hebt gecontroleerd, past u het uitvoeringsplan toe om de infrastructuur te implementeren.
Terraform is een IaC-hulpprogramma (Infrastructure as Code). Deze categorie van het hulpprogramma verwijst naar het feit dat u uw Terraform-bestanden behandelt zoals u de broncode van het project zou doen. Onderdeel van dat proces omvat versiebeheer en broncodebeheer. Ook moet het testen deel uitmaken van uw proces. Dit artikel bevat een overzicht van de verschillende typen tests die kunnen worden uitgevoerd op een Terraform-project.
Integratietests implementeren
Integratietests valideren dat een nieuw geïntroduceerde codewijziging de bestaande code niet onderbreekt. In DevOps verwijst continue integratie (CI) naar een proces waarmee het hele systeem wordt gebouwd wanneer de codebasis wordt gewijzigd, zoals iemand die een pull-aanvraag wil samenvoegen in een Git-opslagplaats. De volgende lijst bevat veelvoorkomende voorbeelden van integratietests:
- Hulpprogramma's voor statische codeanalyse, zoals lint en indeling.
- Voer terraform validate uit om de syntaxis van het configuratiebestand te valideren.
- Voer terraform-plan uit om ervoor te zorgen dat de configuratie werkt zoals verwacht.
Eenheidstests implementeren
Eenheidstests zorgen ervoor dat een specifiek onderdeel of een bepaalde functie van een programma zich correct gedraagt. Eenheidstests worden geschreven door de ontwikkelaar van de functionaliteit. Soms ook wel testgestuurde ontwikkeling of TDD genoemd, omvat dit type testen continue korte ontwikkelingscycli. In de context van Terraform-projecten kan een eenheidstest plaatsvinden terraform plan
om te garanderen dat de werkelijke waarden die beschikbaar zijn in het gegenereerde plan gelijk zijn aan de verwachte waarden.
Het testen van eenheden kan met name nuttig zijn wanneer uw Terraform-modules complexer worden:
- Dynamische blokken genereren
- Lussen gebruiken
- Lokale variabelen berekenen
Net als bij integratietests worden vaak eenheidstests opgenomen in het proces voor continue integratie.
Nalevingstests implementeren
Nalevingstests worden gebruikt om ervoor te zorgen dat de configuratie het beleid volgt dat u voor het project hebt gedefinieerd. U kunt bijvoorbeeld geopolitieke naamconventies definiëren voor uw Azure-resources. Of u wilt dat virtuele machines worden aangemaakt vanuit een gedefinieerde subset van afbeeldingen. Nalevingstests worden gebruikt om deze regels af te dwingen.
Nalevingstests worden doorgaans ook gedefinieerd als onderdeel van het continue integratieproces.
End-to-end testen (E2E) implementeren
E2E-tests valideren dat een programma werkt voordat deze in productie wordt geïmplementeerd. Een voorbeeldscenario is een Terraform-module die twee virtuele machines implementeert in een virtueel netwerk. Mogelijk wilt u voorkomen dat de twee computers elkaar pingen. In dit voorbeeld kunt u een test definiëren om het beoogde resultaat vóór de implementatie te controleren.
E2E-tests zijn doorgaans een proces met drie stappen. Eerst wordt de configuratie toegepast op een testomgeving. Code wordt vervolgens uitgevoerd om de resultaten te verifiëren. Ten slotte wordt de testomgeving opnieuw geïnitialiseerd of verwijderd (zoals het afbouwen of vrijgeven van een virtuele machine).