Utveckling och testning i DevSecOps

Utveckling och testning inom DevSecOps avgör om säkerhet blir en del av det dagliga ingenjörsarbetet eller förblir något som teamen tar itu med för sent. Starka metoder för kodning, verktyg, integrering och testning hjälper team att hitta och åtgärda problem medan kod fortfarande skrivs.

Det här kapacitetsområdet beskriver hur team skriver säker kod, påskyndar utvecklingen med sanktionerade verktyg och komponenter samt integrerar och testar sitt arbete. Det är den punkt där säkerhet antingen blir en del av den dagliga tekniken eller förblir en eftertanke.

När organisationer mognar går utveckling och testning från olika, ohanterade aktiviteter till en optimerad miljö som är anpassad för enskilda utvecklare. Säkerhetstestning blir kontinuerlig, AI och öppen källkod går från att vara oreglerade till att bli företagssäkra och ändamålsenliga, och testning går från att vara periodisk och manuell till att bli automatiserad och ske tidigare i utvecklingsprocessen.

Kärnkapacitetsområden

Utveckling och testning i DevSecOps fokuserar på tre underfunktioner:

  • Kodsäkerhet: Hur säkerhetsverktyg och testning tillämpas på kod när de skrivs och granskas.

  • Utvecklingsacceleratorer: Hur AI, open-source och återanvändbara komponenter styrs och används för att påskynda leveransen.

  • Integrering och testning: Hur lagringsplatser, grenar, byggen och automatiserad testning hanteras.

Stadier

Utveckling och testning går igenom fem mognadssteg. De här stegen visar hur DevSecOps-principer visas i utvecklaraktiviteter, från ohanterade experiment till en optimerad kod- och testmiljö som förbättrar utvecklareffektiviteten.

Övergripande fas Namn på stadium Hur det ser ut
Ad hoc Olika Ingen hantering av resurser. snabba prototyper och ohämmad utforskning.
Påbörjande Emergent Team improviserar tillsyn och börjar övergå till ett DevOps-tänkesätt.
Orkestrering Kontinuerlig En omfattande strategi med automatisering bakar standarder i kontinuerliga processer.
Effektivisering Vänsterförskjuten Att flytta vänster innebär att problem hittas tidigare och kostar mindre att åtgärda.
Banbrytande Optimerad Kod- och testmiljön är optimerad för enskilda utvecklares effektivitet.

Disparata (ad hoc)

Utan hantering av resurser eller inledande kodningsaktiviteter är snabba prototyper och ohämmad utforskning möjlig. Det här tillståndet är en naturlig startpunkt för nystartade företag och nya organisationer.

  • Kodsäkerhet: Det finns lite eller ingen konsekvent användning av kodsäkerhetsverktyg, vilket skapar en växande riskyta.

  • Utvecklingsacceleratorer: Teams använder osanktionerade AI-verktyg utanför organisationen och använder open-source programvara eller kodexempel från communityn på ett brett och okontrollerat sätt. Brist på principer kan också få vissa utvecklare att undvika dessa verktyg helt och hållet, vilket saknar möjligheter till effektivitet.

  • Integrering och testning: Arbetet är utspritt över flera lagringsplatser och byggen görs manuellt och sällan med varierande konfigurationer.

Emergent (initierar)

Team börjar improvisera tillsyn av tillgångar och metoder, vilket startar en bredare förändring mot ett DevOps-tänkesätt.

  • Kodsäkerhet: Teams använder lokala säkerhetstestverktyg ibland.

  • Utvecklingsacceleratorer: Team är medvetna om riskerna med osanktionerad AI och öppen källkod, och policyer växer fram i delar av organisationen, inklusive begränsningar eller vägledning för återanvändning av kod från utvecklargemenskaper.

  • Integrering och testning: Teams definierar strategier för lagringsplats och förgrening. Testningen är fortfarande mestadels periodisk, manuell och ibland outsourcad. Samtidigt börjar testbarhet växa fram på vissa håll, och vissa team inför metoder för kontinuerlig integrering.

Kontinuerlig (Orkestrering)

Med en omfattande strategi som stöds av automatisering hjälper dynamiska verktyg och processer till att skapa standarder i kontinuerliga arbetsflöden och övervakning.

  • Kodsäkerhet: Vissa säkerhetstester är på plats, säkerhet blir en del av kodgranskningen och djupare säkerhetstester körs enligt ett schema. Standardiserade strategier för namngivning och förgrening antas.

  • Utvecklingsacceleratorer: Företagssäker AI och open-source görs tillgängliga under användningsprincipen. AI är integrerat i IDE:er som programmeringshjälp och i DevOps-verktyg som förbättrar arbetsflöden för pull-begäranden.

  • Integrering och testning: Standardiserad namngivning, förgreningsstrategier och testramverk finns på plats. Automatiserad testning introduceras i primära CI/CD-pipelines, inklusive vissa integreringstester.

Vänsterförskjuten (effektivisering)

Att skapa en miljö för att flytta till vänster innebär att problem hittas tidigare och kostar mindre att åtgärda.

  • Kodsäkerhet: Team inför spärrar för säkerhetsfynd med hög allvarlighetsgrad. IDE-kodverktygen innehåller säkerhetsfunktioner, inklusive skydd mot snabbinmatning och dataförgiftning.

  • Utvecklingsacceleratorer: Teams använder företagssäkra stora språkmodeller (LLM) som är anpassade till tydliga mönster och standarder. AI-baserad programvaruteknik och DevOps-agenter börjar automatisera arbetet och arbeta med ökad autonomi.

  • Integrering och testning: Omfattande testmetoder finns på plats, inklusive enhets- och integrationstester. Automatiserad testning körs kontinuerligt och fångar upp problem tidigare i processen. Teams använder också nätfiskesimuleringar.

Optimerad (nyskapande)

När du optimerar kod- och testmiljön för enskilda utvecklare skapar du mer anpassad effektivitet.

  • Kodsäkerhet: Säkerheten blir kontinuerlig och stöds av avancerad observerbarhet.

  • Utvecklingsacceleratorer: Utvecklare utökar kodassistent-LLM:er med sina egna anpassade mönster. Komponentanvändningen blir avsiktlig och är utformad för att uppfylla målen för prestanda, efterlevnad och riskhantering. MCP-servrar och orkestrering framträder som en del av verktygskedjan.

  • Integrering och testning: Testautomation blir omfattande, inklusive prestandatestning. Teamen implementerar även AI-driven hotidentifiering och strävar efter andra möjligheter att förbättra tekniska feedbackslingor.