Testdriven utveckling (TDD) för landningszonerTest-driven development (TDD) for landing zones

Test driven utveckling är en vanlig process för program utveckling och DevOps som förbättrar kvaliteten på nya funktioner och förbättringar i en kod baserad lösning.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. Molnbaserad infrastruktur och den underliggande käll koden kan använda den här processen för att säkerställa att landnings zoner uppfyller kärn kraven och är av hög kvalitet.Cloud-based infrastructure, and the underlying source code can use this process to ensure landing zones meet core requirements and are of high quality. Den här processen är särskilt användbar när landnings zoner utvecklas och omfördelas i en parallell utvecklings ansträngning.This process is especially useful when landing zones are being developed and refactored in a parallel development effort.

Test driven utvecklings process för moln landnings zoner

I molnet är infrastrukturen utdata från kod körning.In the cloud, infrastructure is the output of code execution. Välstrukturerad, testad och verifierad kod ger en livskraftig landnings zon.Well-structured, tested, and verified code produces a viable landing zone. En landnings zon är en miljö som är värd för dina arbets belastningar, företablerad genom kod.A landing zone is an environment for hosting your workloads, preprovisioned through code. Den innehåller grundläggande funktioner med hjälp av en definierad uppsättning moln tjänster och bästa praxis som har kon figurer ATS för framgång.It includes foundational capabilities using a defined set of cloud services and best practices that set you up for success. Den här vägledningen beskriver en metod som använder test driven utveckling för att uppfylla den sista delen av den definitionen, samtidigt som de uppfyller kraven på kvalitet, säkerhet, drift och styrning.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.

Den här metoden kan användas för att möta enkla funktions begär Anden under en tidigt utveckling.This approach can be used to meet simple feature requests during early development. Senare i moln införande livs cykel kan den här processen användas för att uppfylla säkerhet, åtgärder, styrning eller krav på efterlevnad.Later in the cloud adoption lifecycle, this process can be used to meet security, operations, governance, or compliance requirements.

Definitionen av klarDefinition of done

"Konfigurera för lyckad" är en ämnes instruktion."Set up for success" is a subjective statement. Den här instruktionen ger moln plattforms teamet med lite åtgärds information vid utveckling av landnings zoner eller ombalansering av insatser.This statement provides the cloud platform team with little actionable information during landing zone development or refactoring efforts. Detta brist på klarhet kan leda till missade förväntningar och sårbarheter i en moln miljö.This lack of clarity can lead to missed expectations and vulnerabilities in a cloud environment. Innan du omgraderar eller utökar en landnings zon bör moln plattforms teamet söka klarhet om "definitionen av klar" för varje landnings zon.Before refactoring or expanding any landing zone, the cloud platform team should seek clarity regarding the "definition of done" for each landing zone.

Definitionen av Done är ett enkelt avtal mellan moln plattforms teamet och andra berörda team.Definition of done is a simple agreement between the cloud platform team and other affected teams. Detta avtal beskriver de funktioner som har lagts till i den förväntade mervärdet, vilket bör ingå i alla utvecklings insatser för landnings zoner.This agreement outlines the expected value added features, which should be included in any landing zone development effort. Definitionen av färdig är ofta en check lista som är justerad mot den kortsiktiga moln implementerings planen.The definition of done is often a checklist that's aligned with the short-term cloud adoption plan. I de mogna processerna har de förväntade funktionerna i check listan sina egna godkännande kriterier för att skapa ännu mer klarhet.In mature processes, those expected features in the checklist will each have their own acceptance criteria to create even more clarity. När de tillagda funktionerna var som uppfyller kriterierna för godkännande, är landnings zonen tillräckligt konfigurerad för att möjliggöra framgången av den aktuella vågen eller lanseringen av implementerings ansträngningen.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.

När teamen inför ytterligare arbets belastningar och moln funktioner blir definitionen av kriterier för färdig och godkännande mer komplex.As teams adopt additional workloads and cloud features, the definition of done and acceptance criteria will become increasingly more complex.

Test driven utvecklings cykelTest-driven development cycle

Den cykel som gör test driven utvecklings effektiv kallas ofta ett rött/grönt test.The cycle that makes test-driven development effective is often referred to as a red/green test. I den här metoden börjar moln plattforms teamet med en misslyckad test (röd test) baserat på definitionen av gjorda och definierade godkännande kriterier.In this approach, the cloud platform team starts with a failed test (red test) based on the definition of done and defined acceptance criteria. För varje funktion eller godkännande villkor skulle moln plattforms teamet slutföra utvecklings uppgifter tills test passet (grönt test).For each feature or acceptance criteria, the cloud platform team would complete development tasks until the test passes (green test). En test driven utvecklings cykel (eller rött/grönt test) upprepar de grundläggande stegen i följande bild och lista nedan tills den fullständiga definitionen av klar kan uppfyllas.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 driven utvecklings process för moln landnings zoner

  • Skapa ett test: Definiera ett test för att verifiera att godkännande kriterier för ett bestämt värde – Lägg till funktion har uppfyllts.Create a test: Define a test to validate that acceptance criteria for a specific value-add feature has been met. Automatisera testet när det är möjligt.Automate the test whenever possible.
  • Testa landnings zonen: Kör det nya testet och eventuella befintliga tester.Test the landing zone: Run the new test and any existing tests. Om den nödvändiga funktionen inte redan har uppfyllts i föregående utvecklings arbete och inte ingår i moln leverantörens erbjudande, bör testet inte utföras.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. Genom att köra befintliga tester kan du kontrol lera att det nya testet inte minskar tillförlitligheten för funktionerna i landnings zonen som levereras av befintlig kod.Running existing tests will help validate that your new test doesn't reduce reliability of landing zone features delivered by existing code.
  • Expandera och förfaktum i landnings zonen: Lägg till eller ändra käll koden för att uppfylla det begärda värdet – Lägg till funktion och förbättra den allmänna kvaliteten i kodbasen.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. För att möta den fulla andan av test drivna utveckling skulle moln plattforms teamet bara lägga till kod för att uppfylla den begärda funktionen och inget mer.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. Vid samma tidpunkt är kod och underhåll av en delad ansträngning.At the same time, code quality and maintenance is a shared effort. När du uppfyller nya funktions förfrågningar bör moln plattforms teamet söka för att förbättra koden genom att ta bort duplicering och klargöra koden.When fulfilling new feature requests, the cloud platform team should seek to improve the code by removing duplication and clarifying the code. Att köra tester mellan nya kod skapande och omstrukturering av käll koden är starkt föreslagen.Running tests between new code creation and refactoring of source code is highly suggested.
  • Distribuera landnings zonen: När käll koden har kapacitet att utföra funktions förfrågan distribuerar du den ändrade landnings zonen till moln leverantören i en kontrollerad testnings-eller sandbox-miljö.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.
  • Testa landnings zonen: Om du testar landnings zonen bör du kontrol lera att den nya koden uppfyller godkännande villkoren för den begärda funktionen.Test the landing zone: Retesting the landing zone should validate that the new code meets the acceptance criteria for the requested feature. När alla tester har godkänts anses funktionen vara fullständig och godkännande villkoren anses vara uppfyllda.Once all tests pass, the feature is considered complete and the acceptance criteria are considered to be met.

När alla mervärdes-och acceptans kriterier skickar sina associerade tester, är landnings zonen redo att stödja nästa våg i moln implementerings planen.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.

Enkelt exempel på en definition av färdigSimple example of a definition of done

För en första migrerings ansträngning kan definitionen av klar vara alltför enkel.For an initial migration effort, definition of done may be overly simple. Följande är ett exempel på ett av dessa enkla exempel.The following is an example of one of these overly simple examples.

  • Den inledande landnings zonen kommer att användas som värd för 10 arbets belastningar för inledande inlärning.The initial landing zone will be used to host 10 workloads for initial learning purposes. Dessa arbets belastningar är inte kritiska för verksamheten och har ingen åtkomst till känsliga data.These workloads are not critical to the business and have no access to sensitive data. I framtiden är det troligt att dessa arbets belastningar släpps till produktion, men att allvarlighets grad och känslighet inte förväntas ändras.In the future, it's likely these workloads will be released to production but criticality and sensitive is not expected to change. För att stödja dessa arbets belastningar behöver moln implementerings teamet följande villkor uppfylls:To support these workloads, the cloud adoption team will need the following criteria met:

  • Nätverks segmentering som passar för den föreslagna nätverks designen.Network segmentation to align with proposed network design.

  • Åtkomst till beräknings-, lagrings-och nätverks resurser som är värdar för de arbets belastningar som är justerade efter identifieringen av digital egendom.Access to compute, storage, and networking resources to host the workloads aligned to the digital estate discovery.

  • Namnge och tagga schema för enkel användning.Naming and tagging schema for ease of use.

  • Den här miljön bör behandlas som ett perimeternätverk med till gång till det offentliga Internet.This environment should be treated as a perimeter network with access to the public internet.

  • Under implementeringen skulle moln implementerings teamet ha tillfällig åtkomst till miljön för att ändra tjänst konfigurationerna.During adoption efforts, the cloud adoption team would like temporary access to the environment to change service configurations.

  • Endast för kännedom: före produktions versionen kräver dessa arbets belastningar integrering med företagets identitets leverantör för att styra kontinuerlig identitet och åtkomst för drift hanterings syfte.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. Vid vilken tidpunkt som moln antagande teamets åtkomst ska återkallas.At which time the cloud adoption team's access should be revoked.

Den sista punkten ovan är inte ett funktions-eller godkännande villkor.The last point above is not a feature or acceptance criteria. Men det är en indikation på att ytterligare expansionar krävs och bör utforskas med andra team tidigt.But it is an indicator that additional expansions will be required and should be explored with other teams early.

Ytterligare exempel på en definition av färdigAdditional examples of a definition of done

Styrnings metoden i moln införande ramverket ger en detaljerad resa genom en styrnings grupps naturliga mognad.The Govern methodology within the Cloud Adoption Framework provides a narrative journey through the natural maturity of a governance team. De är inbäddade i den resan är flera exempel på "definition av färdig" och "godkännande kriterier" i form av princip satser.Embedded in that journey are several examples of "definition of done" and "acceptance criteria", in the form of policy statements.

  • Inledande princip satser: exempel på företags principer som styr och den första definitionen av som gjorts baserat på implementerings kraven för tidigt steg.Initial policy statements: Example of corporate policies governing and initial definition of done based on early stage adoption requirements.
  • Identitets expansion: exempel på företagets principer som styr definitionen av att uppfylla kraven för att expandera identitets hantering för en landnings zon.Identity expansion: Example of corporate policies governing definition of done to meet requirements to expand identity management for a landing zone.
  • Säkerhets expansion: exempel på företagets principer som styr definitionen av att uppfylla säkerhets krav som är justerade mot referens moln implementerings planen.Security expansion: Example of corporate policies governing definition of done to meet security requirements aligned to the reference cloud adoption plan.
  • Drift expansion: exempel på företagets principer som styr definitionen av att uppfylla grundläggande krav på drifts hantering.Operations expansion: Example of corporate policies governing definition of done to meet basic operations management requirements.
  • Kostnads expansion: exempel på företagets principer som styr definitionen av att uppfylla kraven för kostnads hantering.Cost expansion: Example of corporate policies governing definition of done to meet cost management requirements.

Ovanstående exempel är grundläggande exempel som hjälper dig att utveckla en definition av som är färdig för dina landnings zoner.The above examples are basic samples to help develop a definition of done for your landing zones. Ytterligare exempel principer är tillgängliga för var och en av de fem disciplinerna i moln styrning.Additional sample policies are available for each of the Five Disciplines of Cloud Governance.

Nästa stegNext steps

Om du vill påskynda test drivna utveckling i Azure kan du läsa mer i test drivna utvecklings funktioner i Azure.To accelerate test-driven development in Azure, review test-driven development features of Azure.