Test-driven development (TDD) voor landingszonesTest-driven development (TDD) for landing zones

Tests op basis van testen zijn een gemeen schappelijk proces voor het ontwikkelen en DevOps van software waarmee de kwaliteit van nieuwe functies en verbeteringen in elke op code gebaseerde oplossing wordt verbeterd.Test-driven development is a common software development and DevOps process that improves the quality of new features and improvements in any code-based solution. Infra structuur op basis van de Cloud en de onderliggende bron code kunnen dit proces gebruiken om ervoor te zorgen dat de aanvoer zones voldoen aan de kern vereisten en van hoge kwaliteit zijn.Cloud-based infrastructure, and the underlying source code can use this process to ensure landing zones meet core requirements and are of high quality. Dit proces is vooral nuttig wanneer de landings zones worden ontwikkeld en gefactord in een parallelle ontwikkelings inspanning.This process is especially useful when landing zones are being developed and refactored in a parallel development effort.

Test gericht ontwikkelings proces voor Cloud landings zones

In de Cloud is de infra structuur de uitvoer van code-uitvoering.In the cloud, infrastructure is the output of code execution. Goed gestructureerde, geteste en geverifieerde code produceert een levensvat bare landings zone.Well-structured, tested, and verified code produces a viable landing zone. Een landings zone is een omgeving voor het hosten van uw workloads, vooraf ingericht via code.A landing zone is an environment for hosting your workloads, preprovisioned through code. Het bevat basis mogelijkheden die gebruikmaken van een gedefinieerde set Cloud Services en best practices die u voor succes hebt ingesteld.It includes foundational capabilities using a defined set of cloud services and best practices that set you up for success. In deze richt lijnen wordt een aanpak beschreven die gebruikmaakt van test-driven development om te voldoen aan het laatste deel van de definitie, terwijl de vereisten voor kwaliteit, beveiliging, bedrijfs activiteiten en governance worden verg aderen.This guidance describes an approach that uses test-driven development to fulfill the last part of that definition, while meeting quality, security, operations, and governance requirements.

Deze benadering kan worden gebruikt om te voldoen aan eenvoudige functie aanvragen tijdens de eerste ontwikkeling.This approach can be used to meet simple feature requests during early development. Later in de levens cyclus voor Cloud acceptatie kan dit proces worden gebruikt om te voldoen aan de vereisten voor beveiliging, bewerkingen, governance of naleving.Later in the cloud adoption lifecycle, this process can be used to meet security, operations, governance, or compliance requirements.

Definitie van gereedDefinition of done

' Instellen voor geslaagd ' is een subjectieve instructie."Set up for success" is a subjective statement. Deze instructie voorziet in het Cloud platform team met weinig actie gegevens tijdens het ontwikkelen of herstructureren van de aanvoer zone.This statement provides the cloud platform team with little actionable information during landing zone development or refactoring efforts. Dit gebrek aan duidelijkheid kan leiden tot gemiste verwachtingen en zwakke plekken in een cloud omgeving.This lack of clarity can lead to missed expectations and vulnerabilities in a cloud environment. Voordat u een aanvoer zone herstructureert of uitbreidt, moet het Cloud platform team duidelijkheid zoeken over de ' definitie van gereed ' voor elke landings zone.Before refactoring or expanding any landing zone, the cloud platform team should seek clarity regarding the "definition of done" for each landing zone.

De definitie van gereed is een eenvoudige overeenkomst tussen het Cloud platform team en andere betrokken teams.Definition of done is a simple agreement between the cloud platform team and other affected teams. Deze overeenkomst bevat een overzicht van de verwachte toegevoegde waarde-functies, die in elke ontwikkelings inspanning van een aanvoer zone moeten worden opgenomen.This agreement outlines the expected value added features, which should be included in any landing zone development effort. De definitie van gereed is vaak een controle lijst die is afgestemd op het abonnement op de korte termijn voor de Cloud.The definition of done is often a checklist that's aligned with the short-term cloud adoption plan. In rijpe processen hebben deze functies in de controle lijst elk een eigen acceptatie criterium om nog meer duidelijkheid te krijgen.In mature processes, those expected features in the checklist will each have their own acceptance criteria to create even more clarity. Wanneer de functies die zijn toegevoegd aan de toegevoegde waarde elk voldoen aan de aanvaardbaarheids criteria, is de aanvoer zone voldoende geconfigureerd om het succes van de huidige golf of release van de inzet van de toepassing mogelijk te maken.When the value-added features each meet the acceptance criteria, the landing zone is sufficiently configured to enable the success of the current wave or release of adoption effort.

Naarmate teams extra werk belastingen en Cloud functies aannemen, worden de definitie van gereed-en acceptatie criteria steeds ingewik kelder.As teams adopt additional workloads and cloud features, the definition of done and acceptance criteria will become increasingly more complex.

Test cyclus op basis van testenTest-driven development cycle

De cyclus die test-driven development effectief maakt, wordt vaak een rode/groene test genoemd.The cycle that makes test-driven development effective is often referred to as a red/green test. In deze benadering begint het Cloud platform team met een mislukte test (rode test) op basis van de definitie van gereed en gedefinieerde acceptatie criteria.In this approach, the cloud platform team starts with a failed test (red test) based on the definition of done and defined acceptance criteria. Voor elke functie of aanvaardbaarheids criterium zou het Cloud platform-team de ontwikkelings taken volt ooien totdat de test is geslaagd (groene test).For each feature or acceptance criteria, the cloud platform team would complete development tasks until the test passes (green test). Een test-driven development cyclus (of een rode/groene test) herhaalt de basis stappen in de volgende afbeelding en onderstaande lijst totdat aan de volledige definitie van gereed kan worden voldaan.A test-driven development cycle (or red/green test) would repeat the basic steps in the following image and list below until the full definition of done can be met.

Test gericht ontwikkelings proces voor Cloud landings zones

  • Een test maken: Definieer een test om te controleren of aan acceptatie criteria voor een specifieke waarde-toevoegen is voldaan.Create a test: Define a test to validate that acceptance criteria for a specific value-add feature has been met. Automatiseer de test wanneer dat mogelijk is.Automate the test whenever possible.
  • De landings zone testen: Voer de nieuwe test en eventuele bestaande tests uit.Test the landing zone: Run the new test and any existing tests. Als de vereiste functie nog niet is vervuld door eerdere ontwikkelings inspanningen en niet is inbegrepen bij de aanbieding van de Cloud provider, zou de test moeten mislukken.If the required feature hasn't already been met by prior development efforts and isn't inclusive to the cloud provider's offering, the test should fail. Door bestaande tests uit te voeren, kunt u controleren of de nieuwe test de betrouw baarheid van de functies van de aanvoer zone die worden geleverd door bestaande code niet vermindert.Running existing tests will help validate that your new test doesn't reduce reliability of landing zone features delivered by existing code.
  • De landings zone uitvouwen en refactorie: De bron code toevoegen of wijzigen om te voldoen aan de aangevraagde waarde-functie toevoegen en de algemene kwaliteit van de code basis verbeteren.Expand and refactor the landing zone: Add or modify the source code to fulfill the requested value-add feature and improve the general quality of the code base. Om te voldoen aan de volle geest van test-driven development zou het Cloud platform-team alleen code toevoegen om te voldoen aan de aangevraagde functie en niets meer.To meet the fullest spirit of test-driven development, the cloud platform team would only add code to meet the requested feature and nothing more. Op hetzelfde moment is code kwaliteit en onderhoud een gedeelde inspanning.At the same time, code quality and maintenance is a shared effort. Als er nieuwe functie aanvragen worden afgehandeld, moet het Cloud platform team de code verbeteren door duplicatie te verwijderen en de code te verduidelijken.When fulfilling new feature requests, the cloud platform team should seek to improve the code by removing duplication and clarifying the code. Het uitvoeren van tests voor het maken van een nieuwe code en het opnieuw samen stellen van de bron code wordt sterk aanbevolen.Running tests between new code creation and refactoring of source code is highly suggested.
  • De landings zone implementeren: Zodra de bron code kan voldoen aan de functie aanvraag, implementeert u de gewijzigde landings zone in de Cloud provider in een gecontroleerde test of sandbox-omgeving.Deploy the landing zone: Once the source code is capable of fulfilling the feature request, deploy the modified landing zone to the cloud provider in a controlled testing or sandbox environment.
  • De landings zone testen: Als u de aanvoer zone opnieuw test, moet u controleren of de nieuwe code voldoet aan de aanvaardbaarheids criteria voor de aangevraagde functie.Test the landing zone: Retesting the landing zone should validate that the new code meets the acceptance criteria for the requested feature. Zodra alle tests zijn geslaagd, wordt de functie als voltooid beschouwd en wordt ervan uitgegaan dat aan de acceptatie criteria wordt voldaan.Once all tests pass, the feature is considered complete and the acceptance criteria are considered to be met.

Wanneer alle functies die zijn toegevoegd aan de toegevoegde waarde en acceptatie criteria aan de bijbehorende tests voldoen, is de aanvoer zone klaar om de volgende golf van het acceptatie plan voor de cloud te ondersteunen.When all value-added features and acceptance criteria pass their associated tests, the landing zone is ready to support the next wave of the cloud adoption plan.

Eenvoudig voor beeld van een definitie van gereedSimple example of a definition of done

Voor een eerste migratie is het mogelijk dat de definitie van gereed kan zijn.For an initial migration effort, definition of done may be overly simple. Hier volgt een voor beeld van een van deze eenvoudige voor beelden.The following is an example of one of these overly simple examples.

  • De initiĆ«le landings zone wordt gebruikt voor het hosten van 10 workloads voor de eerste trainings doeleinden.The initial landing zone will be used to host 10 workloads for initial learning purposes. Deze werk belastingen zijn niet van cruciaal belang voor het bedrijf en hebben geen toegang tot gevoelige gegevens.These workloads are not critical to the business and have no access to sensitive data. In de toekomst zullen deze workloads waarschijnlijk worden vrijgegeven voor productie, maar de ernst en gevoelige wijzigingen worden niet verwacht.In the future, it's likely these workloads will be released to production but criticality and sensitive is not expected to change. Ter ondersteuning van deze werk belastingen moet aan het Cloud-acceptatie team de volgende criteria worden voldaan:To support these workloads, the cloud adoption team will need the following criteria met:

  • Netwerk segmentatie die moet worden uitgelijnd met het voorgestelde netwerk ontwerp.Network segmentation to align with proposed network design.

  • Toegang tot reken-, opslag-en netwerk bronnen voor het hosten van de werk belastingen die zijn afgestemd op de detectie van digitale het vermogen.Access to compute, storage, and networking resources to host the workloads aligned to the digital estate discovery.

  • Schema voor het benoemen en labelen voor gebruiks gemak.Naming and tagging schema for ease of use.

  • Deze omgeving moet worden behandeld als een perimeter netwerk met toegang tot het open bare Internet.This environment should be treated as a perimeter network with access to the public internet.

  • Tijdens de acceptatie van de inspanningen zou het Cloud-acceptatie team tijdelijke toegang tot de omgeving moeten hebben om service configuraties te wijzigen.During adoption efforts, the cloud adoption team would like temporary access to the environment to change service configurations.

  • Alleen voor bewustzijn: voorafgaand aan de productie is voor deze werk belastingen integratie met de bedrijfs identiteits provider vereist om de identiteits-en toegangs rechten voor het beheer van bewerkingen te bepalen.For awareness only: prior to production release, these workloads will require integration with the corporate identity provider to govern ongoing identity and access for operations management purposes. Op welk tijdstip moet de toegang van het Cloud-acceptatie team worden ingetrokken.At which time the cloud adoption team's access should be revoked.

Het laatste punt hierboven is geen functie of acceptatie criterium.The last point above is not a feature or acceptance criteria. Maar het is een indicator die extra uitbrei dingen vereist en moet worden verkend met andere teams.But it is an indicator that additional expansions will be required and should be explored with other teams early.

Aanvullende voor beelden van de definitie van gereedAdditional examples of a definition of done

De methodologie regeling binnen het Cloud-acceptatie raamwerk voorziet in een versnelde reis door de natuurlijke rijpheid van een governance-team.The Govern methodology within the Cloud Adoption Framework provides a narrative journey through the natural maturity of a governance team. In dat traject zijn enkele voor beelden van ' definitie van gereed ' en ' acceptatie criterium ' opgenomen in de vorm van beleids verklaringen.Embedded in that journey are several examples of "definition of done" and "acceptance criteria", in the form of policy statements.

  • InitiĆ«le beleids instructies: voor beeld van een bedrijfs beleid dat is gebaseerd op en de eerste definitie van het uitvoeren op basis van de vereisten voor de eerste fase van het stadium.Initial policy statements: Example of corporate policies governing and initial definition of done based on early stage adoption requirements.
  • Identiteits uitbreiding: voor beeld van bedrijfs beleid met betrekking tot de vereisten voor het uitbreiden van identiteits beheer voor een landings zone.Identity expansion: Example of corporate policies governing ("definition of done") to meet requirements to expand identity management for a landing zone.
  • Beveiligings uitbreiding: voor beeld van een bedrijfs beleid met betrekking tot de beveiligings vereisten die zijn afgestemd op het implementatie plan voor referentie-Clouds.Security expansion: Example of corporate policies governing ("definition of done") to meet security requirements aligned to the reference cloud adoption plan.
  • Uitbreidingsmogelijkheden: voor beeld van een bedrijfs beleid dat is gebaseerd op de algemene vereisten voor het beheer van bewerkingen.Operations expansion: Example of corporate policies governing ("definition of done") to meet basic operations management requirements.
  • Kosten uitbreiding: voor beeld van een bedrijfs beleid dat (' definitie van gereed ') voldoet aan de vereisten voor kosten beheer.Cost expansion: Example of corporate policies governing ("definition of done") to meet cost management requirements.

De bovenstaande voor beelden zijn basis voorbeelden voor het ontwikkelen van een ' definitie van gereed ' voor uw landings zones.The above examples are basic samples to help develop a "definition of done" for your landing zones. Er zijn extra voorbeeld beleidsregels beschikbaar voor elk van de vijf disciplines van Cloud governance.Additional sample policies are available for each of the Five Disciplines of Cloud Governance.

Volgende stappenNext steps

Als u test-driven development in azure wilt versnellen, raadpleegt u Test-Driven Development functies van Azure.To accelerate test-driven development in Azure, review test-driven development features of Azure.