[{"data":1,"prerenderedAt":707},["ShallowReactive",2],{"/de-de/blog/automating-with-gitlab-duo-part-2-complex-testing/":3,"navigation-de-de":37,"banner-de-de":457,"footer-de-de":469,"Byron Boots":679,"next-steps-de-de":692},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":16,"config":27,"_id":30,"_type":31,"title":32,"_source":33,"_file":34,"_stem":35,"_extension":36},"/de-de/blog/automating-with-gitlab-duo-part-2-complex-testing","blog",false,"",{"title":9,"description":10,"ogTitle":9,"ogDescription":10,"noIndex":6,"ogImage":11,"ogUrl":12,"ogSiteName":13,"ogType":14,"canonicalUrls":12,"schema":15},"Automatisierung mit GitLab Duo, Teil 2: Komplexes Testen","Hier erfährst du, wie das GitLab-Team mit Hilfe der KI-Funktionen von GitLab Duo komplexere Testsituationen bewältigt und dabei auch sicherstellt, dass die Code-Tests den Standards entsprechen.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099243/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%284%29_3LZkiDjHLjhqEkvOvBsVKp_1750099243011.png","https://about.gitlab.com/blog/automating-with-gitlab-duo-part-2-complex-testing","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Automatisierung mit GitLab Duo, Teil 2: Komplexes Testen\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Byron Boots\"}],\n        \"datePublished\": \"2024-12-10\",\n      }\n                  ",{"title":9,"description":10,"authors":17,"heroImage":11,"date":19,"body":20,"category":21,"tags":22,"updatedDate":26},[18],"Byron Boots","2024-12-10","Im ersten Teil unserer dreiteiligen Serie über die [Testerstellung mit GitLab Duo](https://about.gitlab.com/de-de/blog/automating-with-gitlab-duo-part-1-generating-tests/) ging es darum, wie man Code-Tests automatisieren kann. Jetzt werden wir die Erfahrungen teilen, die wir beim Einsatz von KI für die Testgenerierung gemacht haben.\n\n## Herausforderungen und wie wir sie gemeistert haben\n\nInsgesamt waren wir mit den Ergebnissen zufrieden, die wir mit [GitLab Duo](https://about.gitlab.com/de-de/gitlab-duo/) bei der Testgenerierung für unseren Code erzielt haben. Wie bei jeder Sprachgenerierung waren in einigen Fällen kleinere Anpassungen erforderlich, z. B. die Korrektur von Importpfaden oder die Bearbeitung von Inhalten in Datensätzen. Bei den komplexeren Fällen mussten wir berücksichtigen, dass KI-Lösungen oft der Kontext fehlt. Hier erfährst du, wie wir die komplexeren Testsituationen mit GitLab Duo gemeistert haben.\n\n### Aktualisieren bestehender Testfälle\n\nWie so oft bei der Entwicklung eines Softwareprodukts stießen wir auf Fälle, in denen wir bestehende Tests aktualisieren mussten. Anstatt eine komplette Testsuite für ein häufiges Problem manuell anzupassen, nutzten wir die Fähigkeiten des GitLab-Duo-Chat-Fensters in VS Code voll aus. Um beispielsweise Tests zu überarbeiten, nutzten wir den Chat-Prompt „Please update the provided tests to use unittest rather than pytest“ („Aktualisiere die bereitgestellten Tests so, dass sie unittest und nicht pytest verwenden“) und fügten dann die Tests ein, die GitLab Duo aktualisieren sollte.\n\n![Automatisierte Testgenerierung](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099252/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750099252303.png)\n\n\u003Cbr>\u003C/br>\n\n![Chat-Prompt zur Verwendung von unittest anstelle von pytest](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099252/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750099252304.png)\n\n**Hinweis:** Wir haben die Empfehlungen von GitLab Duo kopiert und in unseren Code eingefügt.\n\n### Erstellen von Tests für Legacy-Code\n\nDas Erstellen von Tests für älteren Code, von dem wir wussten, dass er funktioniert, war eine weitere Herausforderung. In solchen Fällen war es sinnvoll, neben den fehlgeschlagenen Tests auch Fehlerschnipsel bereitzustellen und GitLab Duo zu bitten, neue Tests zu erstellen. Wir haben die Fehler aus dem Terminalfenster in den Chat kopiert und mit der Aufforderung „Please explain and fix this failing test“ („Erkläre und behebe diesen fehlgeschlagenen Test“) oder ähnlichen Prompts eine Zusammenfassung der Probleme mit dem Test ausgeben lassen sowie einen neuen Test erstellt, der das Problem behebt. Wir mussten feststellen, dass dies manchmal mehrere Überarbeitungsrunden erforderte, wenn neue Testfehler auftraten. Die Effizienz von GitLab Duo bei der Erstellung verschiedener überarbeiteter Lösungen war jedoch schnell und wirkte sich positiv auf die Effizienz des Teams und der Entwickler(innen) aus.\n\n### Herausforderungen mit komplexem oder abstraktem Code\n\nIn anderen Fällen führte die Modularisierung oder die Komplexität unseres Codes zu Abweichungen bei den Ergebnissen von GitLab Duo. Bei der Erstellung von Tests erzeugte GitLab Duo beispielsweise manchmal eine Reihe bestandener und fehlgeschlagener Tests, was auf unterschiedliche Testansätze zurückzuführen war (z. B. die Verwendung von Simulationen und die Objekte, die simuliert wurden). Wir gaben GitLab Duo ein eigenes Beispiel für einen bestandenen Test und forderten es auf, die einzelnen Tests nacheinander so zu ändern, dass sie dem Stil der bestandenen Tests entsprechen, um die Konsistenz zu wahren. Außerdem stellten wir GitLab Duo eine Datei mit funktionierenden Tests für ein ähnliches Objekt oder eine ähnliche Aufgabe zur Verfügung, damit es die Struktur nachbilden konnte.\n\n### Sicherstellen, dass der generierte Code unseren Standards entspricht\n\nWährend der Entwicklung eines Python-Moduls generierte GitLab Duo viele Tests mit Simulationen, die oft überarbeitet werden mussten, insbesondere im Hinblick auf die Standardisierung der Namensgebung. In solchen Fällen konnten wir GitLab Duo Chat nutzen, um die Tests zu überarbeiten und Anweisungen zu geben, welche Testkomponenten zu aktualisieren waren. GitLab Duo zu diesen Änderungen aufzufordern, war wesentlich schneller als die Überarbeitung einzelner Tests, wie wir es zuvor getan hatten.\n\n### Nicht abgedeckte Testfälle\n\nGitLab Duo erstellte Tests für zusätzliche Testfälle, die das Team zuvor nicht berücksichtigt hatte, und erhöhte so die Abdeckung. So konnten wir dank GitLab Duo diese Grenzfälle schnell und effizient angehen und die Testabdeckung erweitern, was für unser Team einen wichtigen Mehrwert darstellt, um schneller ein robustes Produkt zu entwickeln.\n\n## Was wir gelernt haben\n\nDie folgenden Erkenntnisse waren wichtig für unseren Erfolg mit GitLab Duo:\n\n* **Schnell und effizient für eine schnelle Entwicklung und Iteration –** Die Rolle von GitLab Duo bei der Erstellung von automatisierten Tests war für unser Team ein wichtiger Beschleuniger bei der Entwicklung und ermöglichte es uns, schneller und mit größerem Vertrauen in unsere Änderungen zu arbeiten.\n* **Es ist wichtig, geeignete Prompts zu verwenden –** Bei der Verwendung von GitLab Duo für unseren Anwendungsfall sind wir auf ein wichtiges Thema für die Optimierung des Machine Learning gestoßen: das Prompt-Engineering. Manchmal mussten wir nur wenige Schlüsselwörter in unserer Frage ändern, um die ideale Antwort zu generieren.\n* **Wir müssen die zugrunde liegenden Frameworks und den Code verstehen –** Bei jeglichem KI-generierten Code, der in ein Produkt einfließt, selbst wenn es sich nur um Tests handelt, ist es wichtig, dass wir verstehen, wie der Code funktioniert, damit wir ihn angemessen debuggen und Änderungen beantragen können.\n* **Wir müssen den gewünschten Endzustand und die Standards kennen –** Ähnlich wie bei der Einhaltung von Programmierstandards für die Formatierung und die Verwendung von Bibliotheken bei der Entwicklung ohne KI ist es wichtig, die Übersicht darüber zu behalten, wie die beabsichtigten Ergebnisse aussehen sollen und welche Standards beim Einsatz von KI eingehalten werden müssen. GitLab Duo braucht den Kontext, um Code-Standards zu verstehen. Deshalb ist es wichtig, dass die Teammitglieder, die GitLab Duo nutzen, die Ergebnisse angemessen überwachen, um sicherzustellen, dass die Qualität und andere Erwartungen erfüllt werden.\n* **GitLab Duo ist kein Ersatz für alle Tests –** Auch wenn wir GitLab Duo in großem Umfang für die Erstellung automatisierter Tests nutzen, ersetzt es nicht unsere anderen Tests und die menschliche Aufsicht. Funktionale Tests, Integrationstests und andere Tests haben nach wie vor einen wichtigen Platz im Qualitätssicherungsprozess und im gesamten Software-Entwicklungsprozess.\n\nIn unserem nächsten Artikel der Reihe geht es um einen Test, den wir durchgeführt haben, um die Auswirkungen von GitLab Duo auf die automatisierten Tests unseres Teams zu validieren, und um die beeindruckenden Ergebnisse, die wir bis jetzt erzielt haben.","ai-ml",[23,24,25],"AI/ML","testing","DevSecOps platform","2025-01-14",{"slug":28,"featured":6,"template":29},"automating-with-gitlab-duo-part-2-complex-testing","BlogPost","content:de-de:blog:automating-with-gitlab-duo-part-2-complex-testing.yml","yaml","Automating With Gitlab Duo Part 2 Complex Testing","content","de-de/blog/automating-with-gitlab-duo-part-2-complex-testing.yml","de-de/blog/automating-with-gitlab-duo-part-2-complex-testing","yml",{"_path":38,"_dir":39,"_draft":6,"_partial":6,"_locale":7,"data":40,"_id":453,"_type":31,"title":454,"_source":33,"_file":455,"_stem":456,"_extension":36},"/shared/de-de/main-navigation","de-de",{"logo":41,"freeTrial":46,"sales":51,"login":56,"items":61,"search":394,"minimal":430,"duo":444},{"config":42},{"href":43,"dataGaName":44,"dataGaLocation":45},"/de-de/","gitlab logo","header",{"text":47,"config":48},"Kostenlose Testversion anfordern",{"href":49,"dataGaName":50,"dataGaLocation":45},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":52,"config":53},"Vertrieb kontaktieren",{"href":54,"dataGaName":55,"dataGaLocation":45},"/de-de/sales/","sales",{"text":57,"config":58},"Anmelden",{"href":59,"dataGaName":60,"dataGaLocation":45},"https://gitlab.com/users/sign_in/","sign in",[62,106,205,210,315,375],{"text":63,"config":64,"cards":66,"footer":89},"Plattform",{"dataNavLevelOne":65},"platform",[67,73,81],{"title":63,"description":68,"link":69},"Die umfassendste KI-basierte DevSecOps-Plattform",{"text":70,"config":71},"Erkunde unsere Plattform",{"href":72,"dataGaName":65,"dataGaLocation":45},"/de-de/platform/",{"title":74,"description":75,"link":76},"GitLab Duo (KI)","Entwickle Software schneller mit KI in jeder Phase der Entwicklung",{"text":77,"config":78},"Lerne GitLab Duo kennen",{"href":79,"dataGaName":80,"dataGaLocation":45},"/de-de/gitlab-duo/","gitlab duo ai",{"title":82,"description":83,"link":84},"Gründe, die für GitLab sprechen","10 Gründe, warum Unternehmen sich für GitLab entscheiden",{"text":85,"config":86},"Mehr erfahren",{"href":87,"dataGaName":88,"dataGaLocation":45},"/de-de/why-gitlab/","why gitlab",{"title":90,"items":91},"Erste Schritte mit",[92,97,102],{"text":93,"config":94},"Platform Engineering",{"href":95,"dataGaName":96,"dataGaLocation":45},"/de-de/solutions/platform-engineering/","platform engineering",{"text":98,"config":99},"Entwicklererfahrung",{"href":100,"dataGaName":101,"dataGaLocation":45},"/de-de/developer-experience/","Developer experience",{"text":103,"config":104},"MLOps",{"href":105,"dataGaName":103,"dataGaLocation":45},"/de-de/topics/devops/the-role-of-ai-in-devops/",{"text":107,"left":108,"config":109,"link":111,"lists":115,"footer":187},"Produkt",true,{"dataNavLevelOne":110},"solutions",{"text":112,"config":113},"Alle Lösungen anzeigen",{"href":114,"dataGaName":110,"dataGaLocation":45},"/de-de/solutions/",[116,142,165],{"title":117,"description":118,"link":119,"items":124},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":120},{"icon":121,"href":122,"dataGaName":123,"dataGaLocation":45},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[125,129,133,138],{"text":126,"config":127},"CI/CD",{"href":128,"dataGaLocation":45,"dataGaName":126},"/de-de/solutions/continuous-integration/",{"text":130,"config":131},"KI-unterstützte Entwicklung",{"href":79,"dataGaLocation":45,"dataGaName":132},"AI assisted development",{"text":134,"config":135},"Quellcodeverwaltung",{"href":136,"dataGaLocation":45,"dataGaName":137},"/de-de/solutions/source-code-management/","Source Code Management",{"text":139,"config":140},"Automatisierte Softwarebereitstellung",{"href":122,"dataGaLocation":45,"dataGaName":141},"Automated software delivery",{"title":143,"description":144,"link":145,"items":150},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":146},{"href":147,"dataGaName":148,"dataGaLocation":45,"icon":149},"/de-de/solutions/security-compliance/","security and compliance","ShieldCheckLight",[151,155,160],{"text":152,"config":153},"Sicherheit und Compliance",{"href":147,"dataGaLocation":45,"dataGaName":154},"Security & Compliance",{"text":156,"config":157},"Schutz der Software-Lieferkette",{"href":158,"dataGaLocation":45,"dataGaName":159},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":161,"config":162},"Compliance und Governance",{"href":163,"dataGaLocation":45,"dataGaName":164},"/de-de/solutions/continuous-software-compliance/","Compliance and governance",{"title":166,"link":167,"items":172},"Bewertung",{"config":168},{"icon":169,"href":170,"dataGaName":171,"dataGaLocation":45},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[173,177,182],{"text":174,"config":175},"Sichtbarkeit und Bewertung",{"href":170,"dataGaLocation":45,"dataGaName":176},"Visibility and Measurement",{"text":178,"config":179},"Wertstrommanagement",{"href":180,"dataGaLocation":45,"dataGaName":181},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":183,"config":184},"Analysen und Einblicke",{"href":185,"dataGaLocation":45,"dataGaName":186},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":188,"items":189},"GitLab für",[190,195,200],{"text":191,"config":192},"Enterprise",{"href":193,"dataGaLocation":45,"dataGaName":194},"/de-de/enterprise/","enterprise",{"text":196,"config":197},"Kleinunternehmen",{"href":198,"dataGaLocation":45,"dataGaName":199},"/de-de/small-business/","small business",{"text":201,"config":202},"den öffentlichen Sektor",{"href":203,"dataGaLocation":45,"dataGaName":204},"/de-de/solutions/public-sector/","public sector",{"text":206,"config":207},"Preise",{"href":208,"dataGaName":209,"dataGaLocation":45,"dataNavLevelOne":209},"/de-de/pricing/","pricing",{"text":211,"config":212,"link":214,"lists":218,"feature":302},"Ressourcen",{"dataNavLevelOne":213},"resources",{"text":215,"config":216},"Alle Ressourcen anzeigen",{"href":217,"dataGaName":213,"dataGaLocation":45},"/de-de/resources/",[219,252,274],{"title":220,"items":221},"Erste Schritte",[222,227,232,237,242,247],{"text":223,"config":224},"Installieren",{"href":225,"dataGaName":226,"dataGaLocation":45},"/de-de/install/","install",{"text":228,"config":229},"Kurzanleitungen",{"href":230,"dataGaName":231,"dataGaLocation":45},"/de-de/get-started/","quick setup checklists",{"text":233,"config":234},"Lernen",{"href":235,"dataGaLocation":45,"dataGaName":236},"https://university.gitlab.com/","learn",{"text":238,"config":239},"Produktdokumentation",{"href":240,"dataGaName":241,"dataGaLocation":45},"https://docs.gitlab.com/","product documentation",{"text":243,"config":244},"Best-Practice-Videos",{"href":245,"dataGaName":246,"dataGaLocation":45},"/de-de/getting-started-videos/","best practice videos",{"text":248,"config":249},"Integrationen",{"href":250,"dataGaName":251,"dataGaLocation":45},"/de-de/integrations/","integrations",{"title":253,"items":254},"Entdecken",[255,260,264,269],{"text":256,"config":257},"Kundenerfolge",{"href":258,"dataGaName":259,"dataGaLocation":45},"/de-de/customers/","customer success stories",{"text":261,"config":262},"Blog",{"href":263,"dataGaName":5,"dataGaLocation":45},"/de-de/blog/",{"text":265,"config":266},"Remote",{"href":267,"dataGaName":268,"dataGaLocation":45},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":270,"config":271},"TeamOps",{"href":272,"dataGaName":273,"dataGaLocation":45},"/de-de/teamops/","teamops",{"title":275,"items":276},"Vernetzen",[277,282,287,292,297],{"text":278,"config":279},"GitLab-Services",{"href":280,"dataGaName":281,"dataGaLocation":45},"/de-de/services/","services",{"text":283,"config":284},"Community",{"href":285,"dataGaName":286,"dataGaLocation":45},"/community/","community",{"text":288,"config":289},"Forum",{"href":290,"dataGaName":291,"dataGaLocation":45},"https://forum.gitlab.com/","forum",{"text":293,"config":294},"Veranstaltungen",{"href":295,"dataGaName":296,"dataGaLocation":45},"/events/","events",{"text":298,"config":299},"Partner",{"href":300,"dataGaName":301,"dataGaLocation":45},"/de-de/partners/","partners",{"backgroundColor":303,"textColor":304,"text":305,"image":306,"link":310},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":307,"config":308},"the source promo card",{"src":309},"/images/navigation/the-source-promo-card.svg",{"text":311,"config":312},"Lies die News",{"href":313,"dataGaName":314,"dataGaLocation":45},"/de-de/the-source/","the source",{"text":316,"config":317,"lists":319},"Unternehmen",{"dataNavLevelOne":318},"company",[320],{"items":321},[322,327,333,335,340,345,350,355,360,365,370],{"text":323,"config":324},"Über",{"href":325,"dataGaName":326,"dataGaLocation":45},"/de-de/company/","about",{"text":328,"config":329,"footerGa":332},"Karriere",{"href":330,"dataGaName":331,"dataGaLocation":45},"/jobs/","jobs",{"dataGaName":331},{"text":293,"config":334},{"href":295,"dataGaName":296,"dataGaLocation":45},{"text":336,"config":337},"Geschäftsführung",{"href":338,"dataGaName":339,"dataGaLocation":45},"/company/team/e-group/","leadership",{"text":341,"config":342},"Team",{"href":343,"dataGaName":344,"dataGaLocation":45},"/company/team/","team",{"text":346,"config":347},"Handbuch",{"href":348,"dataGaName":349,"dataGaLocation":45},"https://handbook.gitlab.com/","handbook",{"text":351,"config":352},"Investor Relations",{"href":353,"dataGaName":354,"dataGaLocation":45},"https://ir.gitlab.com/","investor relations",{"text":356,"config":357},"Trust Center",{"href":358,"dataGaName":359,"dataGaLocation":45},"/de-de/security/","trust center",{"text":361,"config":362},"AI Transparency Center",{"href":363,"dataGaName":364,"dataGaLocation":45},"/de-de/ai-transparency-center/","ai transparency center",{"text":366,"config":367},"Newsletter",{"href":368,"dataGaName":369,"dataGaLocation":45},"/company/contact/","newsletter",{"text":371,"config":372},"Presse",{"href":373,"dataGaName":374,"dataGaLocation":45},"/press/","press",{"text":376,"config":377,"lists":378},"Kontakt",{"dataNavLevelOne":318},[379],{"items":380},[381,384,389],{"text":52,"config":382},{"href":54,"dataGaName":383,"dataGaLocation":45},"talk to sales",{"text":385,"config":386},"Support",{"href":387,"dataGaName":388,"dataGaLocation":45},"/support/","get help",{"text":390,"config":391},"Kundenportal",{"href":392,"dataGaName":393,"dataGaLocation":45},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":395,"login":396,"suggestions":403},"Schließen",{"text":397,"link":398},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":399,"config":400},"gitlab.com",{"href":59,"dataGaName":401,"dataGaLocation":402},"search login","search",{"text":404,"default":405},"Vorschläge",[406,409,414,416,421,426],{"text":74,"config":407},{"href":79,"dataGaName":408,"dataGaLocation":402},"GitLab Duo (AI)",{"text":410,"config":411},"Code Suggestions (KI)",{"href":412,"dataGaName":413,"dataGaLocation":402},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":126,"config":415},{"href":128,"dataGaName":126,"dataGaLocation":402},{"text":417,"config":418},"GitLab auf AWS",{"href":419,"dataGaName":420,"dataGaLocation":402},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":422,"config":423},"GitLab auf Google Cloud",{"href":424,"dataGaName":425,"dataGaLocation":402},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":427,"config":428},"Warum GitLab?",{"href":87,"dataGaName":429,"dataGaLocation":402},"Why GitLab?",{"freeTrial":431,"mobileIcon":436,"desktopIcon":441},{"text":432,"config":433},"Kostenlos testen",{"href":434,"dataGaName":50,"dataGaLocation":435},"https://gitlab.com/-/trials/new/","nav",{"altText":437,"config":438},"GitLab-Symbol",{"src":439,"dataGaName":440,"dataGaLocation":435},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":437,"config":442},{"src":443,"dataGaName":440,"dataGaLocation":435},"/images/brand/gitlab-logo-type.svg",{"freeTrial":445,"mobileIcon":449,"desktopIcon":451},{"text":446,"config":447},"Erfahre mehr über GitLab Duo",{"href":79,"dataGaName":448,"dataGaLocation":435},"gitlab duo",{"altText":437,"config":450},{"src":439,"dataGaName":440,"dataGaLocation":435},{"altText":437,"config":452},{"src":443,"dataGaName":440,"dataGaLocation":435},"content:shared:de-de:main-navigation.yml","Main Navigation","shared/de-de/main-navigation.yml","shared/de-de/main-navigation",{"_path":458,"_dir":39,"_draft":6,"_partial":6,"_locale":7,"title":459,"button":460,"config":464,"_id":466,"_type":31,"_source":33,"_file":467,"_stem":468,"_extension":36},"/shared/de-de/banner","GitLab Duo Agent Platform ist jetzt in öffentlicher Beta!",{"text":85,"config":461},{"href":462,"dataGaName":463,"dataGaLocation":45},"/de-de/gitlab-duo/agent-platform/","duo banner",{"layout":465},"release","content:shared:de-de:banner.yml","shared/de-de/banner.yml","shared/de-de/banner",{"_path":470,"_dir":39,"_draft":6,"_partial":6,"_locale":7,"data":471,"_id":675,"_type":31,"title":676,"_source":33,"_file":677,"_stem":678,"_extension":36},"/shared/de-de/main-footer",{"text":472,"source":473,"edit":479,"contribute":484,"config":489,"items":494,"minimal":667},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":474,"config":475},"Quelltext der Seite anzeigen",{"href":476,"dataGaName":477,"dataGaLocation":478},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":480,"config":481},"Diese Seite bearbeiten",{"href":482,"dataGaName":483,"dataGaLocation":478},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":485,"config":486},"Beteilige dich",{"href":487,"dataGaName":488,"dataGaLocation":478},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":490,"facebook":491,"youtube":492,"linkedin":493},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[495,518,573,603,637],{"title":63,"links":496,"subMenu":501},[497],{"text":498,"config":499},"DevSecOps-Plattform",{"href":72,"dataGaName":500,"dataGaLocation":478},"devsecops platform",[502],{"title":206,"links":503},[504,508,513],{"text":505,"config":506},"Tarife anzeigen",{"href":208,"dataGaName":507,"dataGaLocation":478},"view plans",{"text":509,"config":510},"Vorteile von Premium",{"href":511,"dataGaName":512,"dataGaLocation":478},"/de-de/pricing/premium/","why premium",{"text":514,"config":515},"Vorteile von Ultimate",{"href":516,"dataGaName":517,"dataGaLocation":478},"/de-de/pricing/ultimate/","why ultimate",{"title":519,"links":520},"Lösungen",[521,526,529,531,536,541,545,548,551,556,558,560,563,568],{"text":522,"config":523},"Digitale Transformation",{"href":524,"dataGaName":525,"dataGaLocation":478},"/de-de/topics/digital-transformation/","digital transformation",{"text":152,"config":527},{"href":147,"dataGaName":528,"dataGaLocation":478},"security & compliance",{"text":139,"config":530},{"href":122,"dataGaName":123,"dataGaLocation":478},{"text":532,"config":533},"Agile Entwicklung",{"href":534,"dataGaName":535,"dataGaLocation":478},"/de-de/solutions/agile-delivery/","agile delivery",{"text":537,"config":538},"Cloud-Transformation",{"href":539,"dataGaName":540,"dataGaLocation":478},"/de-de/topics/cloud-native/","cloud transformation",{"text":542,"config":543},"SCM",{"href":136,"dataGaName":544,"dataGaLocation":478},"source code management",{"text":126,"config":546},{"href":128,"dataGaName":547,"dataGaLocation":478},"continuous integration & delivery",{"text":178,"config":549},{"href":180,"dataGaName":550,"dataGaLocation":478},"value stream management",{"text":552,"config":553},"GitOps",{"href":554,"dataGaName":555,"dataGaLocation":478},"/de-de/solutions/gitops/","gitops",{"text":191,"config":557},{"href":193,"dataGaName":194,"dataGaLocation":478},{"text":196,"config":559},{"href":198,"dataGaName":199,"dataGaLocation":478},{"text":561,"config":562},"Öffentlicher Sektor",{"href":203,"dataGaName":204,"dataGaLocation":478},{"text":564,"config":565},"Bildungswesen",{"href":566,"dataGaName":567,"dataGaLocation":478},"/de-de/solutions/education/","education",{"text":569,"config":570},"Finanzdienstleistungen",{"href":571,"dataGaName":572,"dataGaLocation":478},"/de-de/solutions/finance/","financial services",{"title":211,"links":574},[575,577,579,581,584,586,589,591,593,595,597,599,601],{"text":223,"config":576},{"href":225,"dataGaName":226,"dataGaLocation":478},{"text":228,"config":578},{"href":230,"dataGaName":231,"dataGaLocation":478},{"text":233,"config":580},{"href":235,"dataGaName":236,"dataGaLocation":478},{"text":238,"config":582},{"href":240,"dataGaName":583,"dataGaLocation":478},"docs",{"text":261,"config":585},{"href":263,"dataGaName":5,"dataGaLocation":478},{"text":256,"config":587},{"href":588,"dataGaName":259,"dataGaLocation":478},"/customers/",{"text":265,"config":590},{"href":267,"dataGaName":268,"dataGaLocation":478},{"text":278,"config":592},{"href":280,"dataGaName":281,"dataGaLocation":478},{"text":270,"config":594},{"href":272,"dataGaName":273,"dataGaLocation":478},{"text":283,"config":596},{"href":285,"dataGaName":286,"dataGaLocation":478},{"text":288,"config":598},{"href":290,"dataGaName":291,"dataGaLocation":478},{"text":293,"config":600},{"href":295,"dataGaName":296,"dataGaLocation":478},{"text":298,"config":602},{"href":300,"dataGaName":301,"dataGaLocation":478},{"title":316,"links":604},[605,607,609,611,613,615,617,621,626,628,630,632],{"text":323,"config":606},{"href":325,"dataGaName":318,"dataGaLocation":478},{"text":328,"config":608},{"href":330,"dataGaName":331,"dataGaLocation":478},{"text":336,"config":610},{"href":338,"dataGaName":339,"dataGaLocation":478},{"text":341,"config":612},{"href":343,"dataGaName":344,"dataGaLocation":478},{"text":346,"config":614},{"href":348,"dataGaName":349,"dataGaLocation":478},{"text":351,"config":616},{"href":353,"dataGaName":354,"dataGaLocation":478},{"text":618,"config":619},"Sustainability",{"href":620,"dataGaName":618,"dataGaLocation":478},"/sustainability/",{"text":622,"config":623},"Vielfalt, Inklusion und Zugehörigkeit",{"href":624,"dataGaName":625,"dataGaLocation":478},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":356,"config":627},{"href":358,"dataGaName":359,"dataGaLocation":478},{"text":366,"config":629},{"href":368,"dataGaName":369,"dataGaLocation":478},{"text":371,"config":631},{"href":373,"dataGaName":374,"dataGaLocation":478},{"text":633,"config":634},"Transparenzerklärung zu moderner Sklaverei",{"href":635,"dataGaName":636,"dataGaLocation":478},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":638,"links":639},"Nimm Kontakt auf",[640,643,645,647,652,657,662],{"text":641,"config":642},"Sprich mit einem Experten/einer Expertin",{"href":54,"dataGaName":55,"dataGaLocation":478},{"text":385,"config":644},{"href":387,"dataGaName":388,"dataGaLocation":478},{"text":390,"config":646},{"href":392,"dataGaName":393,"dataGaLocation":478},{"text":648,"config":649},"Status",{"href":650,"dataGaName":651,"dataGaLocation":478},"https://status.gitlab.com/","status",{"text":653,"config":654},"Nutzungsbedingungen",{"href":655,"dataGaName":656,"dataGaLocation":478},"/terms/","terms of use",{"text":658,"config":659},"Datenschutzerklärung",{"href":660,"dataGaName":661,"dataGaLocation":478},"/de-de/privacy/","privacy statement",{"text":663,"config":664},"Cookie-Einstellungen",{"dataGaName":665,"dataGaLocation":478,"id":666,"isOneTrustButton":108},"cookie preferences","ot-sdk-btn",{"items":668},[669,671,673],{"text":653,"config":670},{"href":655,"dataGaName":656,"dataGaLocation":478},{"text":658,"config":672},{"href":660,"dataGaName":661,"dataGaLocation":478},{"text":663,"config":674},{"dataGaName":665,"dataGaLocation":478,"id":666,"isOneTrustButton":108},"content:shared:de-de:main-footer.yml","Main Footer","shared/de-de/main-footer.yml","shared/de-de/main-footer",[680],{"_path":681,"_dir":682,"_draft":6,"_partial":6,"_locale":7,"content":683,"config":687,"_id":689,"_type":31,"title":18,"_source":33,"_file":690,"_stem":691,"_extension":36},"/en-us/blog/authors/byron-boots","authors",{"name":18,"config":684},{"headshot":685,"ctfId":686},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662281/Blog/Author%20Headshots/byron_boots_headshot.png","7ezFbRYF2Cu5JTBQXRp7mw",{"template":688},"BlogAuthor","content:en-us:blog:authors:byron-boots.yml","en-us/blog/authors/byron-boots.yml","en-us/blog/authors/byron-boots",{"_path":693,"_dir":39,"_draft":6,"_partial":6,"_locale":7,"header":694,"eyebrow":695,"blurb":696,"button":697,"secondaryButton":701,"_id":703,"_type":31,"title":704,"_source":33,"_file":705,"_stem":706,"_extension":36},"/shared/de-de/next-steps","Stelle jetzt bessere Software schneller bereit","Mehr als 50 % der Fortune-100-Unternehmen vertrauen GitLab","Erlebe, was dein Team mit der intelligenten\n\n\nDevSecOps-Plattform erreichen kann.\n",{"text":47,"config":698},{"href":699,"dataGaName":50,"dataGaLocation":700},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":52,"config":702},{"href":54,"dataGaName":55,"dataGaLocation":700},"content:shared:de-de:next-steps.yml","Next Steps","shared/de-de/next-steps.yml","shared/de-de/next-steps",1753981608886]