Datum
30.10.2019
Dieser Beitrag wurde verfasst von:
In diesem Blogbeitrag möchte ich euch das vollautomatisierte Testen von Angular Anwendungen mit Cypress vorstellen.
Was ist Cypress?
Cypress ist ein End-to-End Testing Framework, mit dem man einfache Tests erstellen kann, die in Echtzeit ausgeführt werden. Mit Cypress kann man auch Snapshots von den einzelnen Schritten während der Testausführung sehen. Tests können schnell erstellt werden, ohne dass bestimmte Server oder Driver benötigt werden.
Der große Vorteil von Cypress ist, dass man nicht alles separat installieren muss, sondern ein vollständiges Framework nutzen kann. Ansonsten würde man erst ein Framework benötigen, wie z.B. Jasmine oder Karma, dann Selenium installieren, einen Selenium Wrapper und zusätzliche Bibliotheken hinzufügen müssen.
Demo-Anwendung
Für ein Kundenprojekt haben wir eine Demoanwendung in Angular geschrieben, um das End-to-End Testing mit Cypress zu demonstrieren. Die Anwendung besteht aus einem Eingabeformular, mit dem man einen neuen User anlegen kann, einer Liste, in der bisher erstellte User angezeigt und auch wieder gelöscht werden können und Dialogen mit Informationen über die Anwendung.
Das Eingabeformular wurde mit Angular Material erstellt und enthält verschiedene Pflichtfelder. Wenn die Felder ausgefüllt wurden, kann man den neuen User speichern und es erscheint eine grüne Toastr-Nachricht. Ansonsten wird eine Fehlermeldung angezeigt, dass nicht alle Felder ausgefüllt wurden. Über den Clear-Button können die Formular-Einträge wieder gelöscht werden.
![Screenshot Eingabeformular mit Angular Material - Create new user](/NOV/Images/Blog/3672/image-thumb__3672__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress1.png)
Verwenden von Cypress
Um das Eingabeformular zu testen, werden Cypress-Tests geschrieben, die Eingaben simulieren. Um Cypress verwenden zu können, muss man es zunächst über das folgende Angular CLI Kommando installieren: npm install cypress --save-dev
Cypress wird dadurch lokal als Dev-Dependency installiert. Wie jedes andere npm package wird Cypress dem node_modules Ordner hinzugefügt.
Cypress End-to-End Testing
Es gibt zwei Modi, Cypress zu verwenden: über die GUI im Browser und im Headless mode.
Um Cypress im Browser auszuführen, braucht man in Visual Studio Code zwei Terminals: In dem einen muss der Browser laufen und in dem anderen laufen die Cypress Tests.
Die Befehle zum Starten der Tests im Headless mode oder in der GUI kann man auch in der package.json definieren und zusätzliche Parameter angeben:
![Screenshot Cypress End-to-End Testing](/NOV/Images/Blog/3673/image-thumb__3673__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress2.png)
Der Befehl npm e2e startet die Anwendung z.B. in der Mock-Umgebung, damit die Daten nicht in die tatsächliche Datenbank geschrieben werden, sondern nur im Local Storage gespeichert werden.
Um die Cypress Tests in der GUI auszuführen, nimmt man den Befehl npm cypress:open und um die Tests im Headless mode zu starten, den Befehl npm cypress:run.
Im Beispiel werden alle Tests ausgeführt, die sich in dem Ordner befinden (*.spec.js).
Schreiben eines Cypress-Tests
Dieser Test überprüft die Funktionalität des Eingabeformulars. Bevor die Tests ausgeführt werden, muss zu der Localhost-Seite navigiert werden:
![Screenshot Schreiben eines Cypress-Tests - zur Localhost-Seite navigieren](/NOV/Images/Blog/3674/image-thumb__3674__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress3.png)
Da es in diversen Tests erforderlich ist, einen neuen User zu erstellen, wurde dafür eine eigene Funktion erstellt: createNewUser(cy). In der Funktion createNewUser(cy) werden die Felder automatisiert mit Testdaten ausgefüllt:
![Schreiben eines Cypress-Tests: Screenshot Funktion createNewUser(cy)](/NOV/Images/Blog/3676/image-thumb__3676__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress4.png)
Anschließend wird validiert, ob die eingegebenen Werte korrekt sind:
![Schreiben eines Cypress-Tests: Screenshot Validierung korrekte Daten](/NOV/Images/Blog/3675/image-thumb__3675__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress5.png)
Um den User zu speichern, wird der Klick auf den Submit-Button simuliert:
![Schreiben eines Cypress-Tests: Screenshot Simulation Klick auf den Submit-Button](/NOV/Images/Blog/3677/image-thumb__3677__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress6.png)
Cypress e2e Testing in der GUI
Nach Eingabe des Kommandos npm run cypress:open öffnet sich die Test Suite, in der man verschiedene Tests auswählen kann.
![Screenshot: Nach Eingabe des Kommandos npm run cypress:open öffnet sich die Test Suite](/NOV/Images/Blog/3680/image-thumb__3680__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress7.png)
![Screenshot: Cypress e2e Testing in der GUI Test Suite](/NOV/Images/Blog/3678/image-thumb__3678__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress8.png)
Die Tests werden sequenziell abgearbeitet. Wenn die Tests erfolgreich waren, werden sie grün markiert.
![Cypress e2e Testing in der GUI Screenshot: erfolgreiche Tests](/NOV/Images/Blog/3682/image-thumb__3682__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress9.png)
Testen der Eingabefelder in der UserForm
Während des Tests werden die in der Testdatei definierten Beispielwerte automatisch durch die Cypress Test Suite in die Felder eingetragen:
![Screenshot Testen der Eingabefelder in der UserForm](/NOV/Images/Blog/3679/image-thumb__3679__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress10.png)
Jedes Feld der UserForm hat eine Id, über die es im Test adressiert werden kann:
![Screenshot: Jedes Feld der UserForm hat eine Id, über die es im Test adressiert werden kann:](/NOV/Images/Blog/3681/image-thumb__3681__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress11.png)
Der Wert "Cypress FirstName" wird in das Feld mit der entsprechenden Id eingegeben.
![Screenshot:Wert "Cypress FirstName" wird in das Feld mit der entsprechenden Id eingegeben](/NOV/Images/Blog/3683/image-thumb__3683__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress12.png)
Testen des Submit-Buttons
Um den Submit-Button zu testen, wird ein Klick auf den Submit-Button simuliert. Da nicht jedes Feld im Test ausgefüllt wurde, wird erwartet, dass eine Fehlermeldung erscheint.
![Screenshot Testen des Submit-Buttons](/NOV/Images/Blog/3684/image-thumb__3684__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress13.png)
Cypress e2e Testing im Headless Mode
Eine andere Möglichkeit ist, Cypress im Headless mode auszuführen: npm run e2e.
Die Tests werden im integrierten Terminal von Visual Studio Code ausgeführt, statt einen Browser zu öffnen.
![Screenshot Cypress e2e Testing im Headless Mode](/NOV/Images/Blog/3685/image-thumb__3685__TextCombo-image-size-1-1/Testen%20von%20Angular%20Anwendungen%20mit%20Cypress14.png)
Integration in Azure DevOps
Die Cypress Tests können in Azure DevOps integriert werden, indem man sie automatisiert über die Build Pipeline laufen lässt. Nach jedem Merge in Develop wird die Build Pipeline getriggert (Continuous Integration) und führt dann die UI und Unit Tests aus. Die Tests laufen im Headless mode, da in der Pipeline die Browserunterstützung fehlt. Durch die Build Pipeline wird die Anwendung automatisiert gebaut. Notwendige npm packages werden installiert, Linting Regeln werden für das gesamte Projekt überprüft und anschließend werden die Unit Tests ausgeführt, die prüfen, ob die Funktionalität der Komponenten korrekt ist. Mit Hilfe der Cypress e2e Tests wird das User Interface geprüft. In Azure DevOps lassen sich die Ergebnisse der Tests und die Codeabdeckung direkt anzeigen, wenn man die entsprechenden Tasks verwendet.
Fazit
Mit Cypress kann man eine Angular Anwendung auf einfache Weise testen. Die Tests sind schnell erstellt und man spart sich manuelle Eingaben. Es können alle Aktionen simuliert werden, die ein User auf der Seite durchführen würde. Auch fehlerhafte Eingaben oder unerwartetes Verhalten können auf diese Weise automatisiert getestet werden. Es lässt sich zudem gut debuggen, weil jeder Schritt des Tests nachvollzogen und in den Snapshots angesehen werden kann. Zusätzlich kann auch die Performance der Anwendung über Cypress getestet werden.
Erfahren Sie mehr
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Struktureller Aufbau eines Angular Modules
![Blue sky and clouds](/NOV/Images/Blog/Fallback_Titelbilder/1355/image-thumb__1355__MediumTileGrid-item-main-s1-3/BlauerHimmel.jpg)
Angular Route-Guards
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31430/image-thumb__31430__MediumTileGrid-item-main-s1-3/DSC00251-zuschnitt.jpg)
Angular 5 Custom Filter in Angular Material Data-Table
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
GraphQL – Die Alternative zu REST
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31430/image-thumb__31430__MediumTileGrid-item-main-s1-3/DSC00251-zuschnitt.jpg)
Spaltenformatierung in SharePoint: Column formatting vs. JS
![Abheben in die Cloud Close up of female hands while typing on laptop](/NOV/Images/Blog/Fallback_Titelbilder/392/image-thumb__392__MediumTileGrid-item-main-s1-3/FliegerCloud.jpg)
SharePoint Framework Client-Side Webparts mit React
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Teams Extensions – Erstellen von Erweiterungen für Teams
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Handlebars.js – Semantische Template Library
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Ich bin im Flow! – Eine Übersicht zu Microsoft Flow
![Zwei Frauen schauen gemeinsam auf einen Bildschirm](/NOV/Images/Blog/Fallback_Titelbilder/1290/image-thumb__1290__MediumTileGrid-item-main-s1-3/TeamworkB%C3%BCro.jpg)
Xamarin – plattformübergreifende App-Entwicklung
![DevOps Young beautiful woman working on laptop at home office, copy space, portrait.](/NOV/Images/Headerimages/15753/image-thumb__15753__MediumTileGrid-item-main-s1-3/DevOps_copy.png)
DevOps für Prozessoptimierung im Unternehmen | novaCapta
![Zwei Frauen schauen gemeinsam auf einen Bildschirm](/NOV/Images/Blog/Fallback_Titelbilder/1290/image-thumb__1290__MediumTileGrid-item-main-s1-3/TeamworkB%C3%BCro.jpg)
Tipps und Tricks mit Entity Framework
![Für versicherungsmathematische Berechnungen, Projektionen, die Gewinnprüfung, stochastische Modellierung und das Asset-Liability-Management ist ein modernes Framework unverzichtbar. Was muss es im Spannungsfeld gesetzlicher und unternehmerischer Hürden leisten? Und was muss aktuarielle Software mitbringen, wenn sie den Herausforderungen von heute und morgen gerecht werden will?](/NOV/Images/Blog/Headerbild/22871/image-thumb__22871__MediumTileGrid-item-main-s1-3/novaPredict_Eine%20Frage%20des%20Frameworks.jpg)
Eine Frage des Frameworks
![](/TTA/Technologien/Atlassian/Atlassian%20Tools/13258/image-thumb__13258__MediumTileGrid-item-main-s1-3/Fisheye%402x-blue.png)
Atlassian Fisheye
![](/TTA/Technologien/Atlassian/Atlassian%20Tools/13259/image-thumb__13259__MediumTileGrid-item-main-s1-3/Crucible%402x-blue.png)
Atlassian Crucible
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
PDF-Konverter in Power Automate
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Multi Factor Authentication (Azure und SharePoint)
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31430/image-thumb__31430__MediumTileGrid-item-main-s1-3/DSC00251-zuschnitt.jpg)
CQRS in ASP.Net MVC mit Entity Framework
![novaCapta Cloud Blue sky and clouds](/NOV/Images/Headerimages/4013/image-thumb__4013__MediumTileGrid-item-main-s1-3/nCCloud.jpg)
Wir laden ein zum Azure Innovation Day
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 3
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 4
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 2
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31430/image-thumb__31430__MediumTileGrid-item-main-s1-3/DSC00251-zuschnitt.jpg)
Nutzung der SharePoint REST API mit Microsoft Flow
![Zwei Frauen schauen gemeinsam auf einen Bildschirm](/NOV/Images/Blog/Fallback_Titelbilder/1290/image-thumb__1290__MediumTileGrid-item-main-s1-3/TeamworkB%C3%BCro.jpg)
Umfragen in Teams mit Microsoft Forms
![Blue sky and clouds](/NOV/Images/Blog/Fallback_Titelbilder/1288/image-thumb__1288__MediumTileGrid-item-main-s1-3/Frau%20in%20der%20Cloud.jpg)
Grundlagen der Datenmodellierung
![Blue sky and clouds](/NOV/Images/Blog/Fallback_Titelbilder/1288/image-thumb__1288__MediumTileGrid-item-main-s1-3/Frau%20in%20der%20Cloud.jpg)
Farben zur Optimierung des SharePoint-Kalender
![News der novaCapta](/NOV/Images/Blog/Fallback_Titelbilder/1354/image-thumb__1354__MediumTileGrid-item-main-s1-3/Two-business-men-talking-to-each-other.jpg)
Der wiederholte Bereich in Nintex Forms
![Blue sky and clouds](/NOV/Images/Blog/Fallback_Titelbilder/1288/image-thumb__1288__MediumTileGrid-item-main-s1-3/Frau%20in%20der%20Cloud.jpg)
Vorgesetzte in Nintex per LDAP-Abfrage ermitteln
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31419/image-thumb__31419__MediumTileGrid-item-main-s1-3/DSC00251-klein.jpg)
Siemens AG: SharePoint statt Excel bei komplexen Formularen
![News der novaCapta](/NOV/Images/Blog/Fallback_Titelbilder/1354/image-thumb__1354__MediumTileGrid-item-main-s1-3/Two-business-men-talking-to-each-other.jpg)
Zentralisiertes Logging – Simpler Logging-Stack mit Graylog
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Was kann der neue Office 365 Planner – und was kann er nicht
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31430/image-thumb__31430__MediumTileGrid-item-main-s1-3/DSC00251-zuschnitt.jpg)
Migration IBM Lotus Notes zu Microsoft SharePoint
![News der novaCapta](/NOV/Images/Blog/Fallback_Titelbilder/1354/image-thumb__1354__MediumTileGrid-item-main-s1-3/Two-business-men-talking-to-each-other.jpg)
Gefilterte Ansicht über Unterschiede in mehreren Spalten
![](/TTA/Blog/Web%20Development%20Blog/04_Deno/11071/image-thumb__11071__MediumTileGrid-item-main-s1-3/Header_Deno.jpg)
Deno – Das müsst ihr über die Laufzeitumgebung wissen
![Online survey filling out and digital form checklist by laptop computer, Document Management Checking System, online documentation database and process manage files Online survey filling out and digital form checklist by laptop computer, Document Management Checking System, online documentation database and process manage files](/NOV/Referenzen/Siemens/1520/image-thumb__1520__MediumTileGrid-item-main-s1-3/Prozessoptimierung_Formularl%C3%B6sung.jpg)
Siemens AG: Steuerung von Zulassungsverfahren per SharePoint
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31430/image-thumb__31430__MediumTileGrid-item-main-s1-3/DSC00251-zuschnitt.jpg)
SharePoint und Informationsarchitektur – worauf kommt es an?
![novaWorxx Provisioning Drei Personen in einer Besprechung an einem Tisch besprechen den Zeitplan auf ihrem Microsoft-Laptop](/NOV/Images/Headerimages/15231/image-thumb__15231__MediumTileGrid-item-main-s1-3/nwxProvisioning_header.jpg)
Die Bedeutung einer Governance
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31430/image-thumb__31430__MediumTileGrid-item-main-s1-3/DSC00251-zuschnitt.jpg)
Warum ist Inline-CSS und JavaScript-Code so schlecht?
![Bild einer Farbmuster-Karte](/NOV/Referenzen/MusterStraub/1441/image-thumb__1441__MediumTileGrid-item-main-s1-3/Muster-Karte.jpg)
Muster-Straub: Webshop mit SharePoint-Integration
![Abheben in die Cloud Close up of female hands while typing on laptop](/NOV/Images/Blog/Fallback_Titelbilder/392/image-thumb__392__MediumTileGrid-item-main-s1-3/FliegerCloud.jpg)
Was ist Application Lifecycle Management (ALM)?
![Digitaler Marktplatz Grafik digitaler Marktplatz](/NOV/Referenzen/re.alto/11619/image-thumb__11619__MediumTileGrid-item-main-s1-3/Header-re.alot.jpg)
re.alto: Marktplatz für Energie nutzt Azure und DevOps
![Mitarbeiter, der mit der Microsoft Azure Cloud arbeitet.](/NOV/Images/Headerimages/4009/image-thumb__4009__MediumTileGrid-item-main-s1-3/Azure.jpg)
Azure Cloud und Microsoft Azure mit der novaCapta
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Produktiver lernen mit SharePoint
![Schreibtisch](/NOV/Images/Blog/Fallback_Titelbilder/1289/image-thumb__1289__MediumTileGrid-item-main-s1-3/Schreibtisch.jpg)
Anhänge nach Datentyp in PowerApps einschränken
![medicine, healthcare and people concept - female doctor with tablet pc computer talking to smiling woman patient at hospital](/NOV/Images/Headerimages/23018/image-thumb__23018__MediumTileGrid-item-main-s1-3/LP_Medizinische%20Software.jpg)
Apps als Medizinprodukt
![Abheben in die Cloud Close up of female hands while typing on laptop](/NOV/Images/Blog/Fallback_Titelbilder/392/image-thumb__392__MediumTileGrid-item-main-s1-3/FliegerCloud.jpg)
Grundlagen der Gestaltung
![Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up](/NOV/Images/Blog/Fallback_Titelbilder/1292/image-thumb__1292__MediumTileGrid-item-main-s1-3/man-using-mobile-phone_Adobe-453628768.jpg)
Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 1
![Qualitätsmanagement Close up shot of female hands typing on laptop](/NOV/Images/Blog/Fallback_Titelbilder/1353/image-thumb__1353__MediumTileGrid-item-main-s1-3/female-hands-typing-on-laptop.jpg)
SharePoint vs. TYPO3 – Sechs Gründe für SharePoint-Intranet
![christmas woman](/CPL/CPL-X/Assessts/29959/image-thumb__29959__MediumTileGrid-item-main-s1-3/christmas_woman.png)
First Tuesday am 12.12.2023
![Team of programmers working in office](/NOV/Images/Blog/Headerbild/18304/image-thumb__18304__MediumTileGrid-item-main-s1-3/IT-Projekte%20und%20Change%20Management.png)
Was Sie beim nächsten IT-Projekt beachten sollten
![Projektionstool Riskmanagement IFRS17](/NOV/Images/Headerimages/11435/image-thumb__11435__MediumTileGrid-item-main-s1-3/Projektionstool.jpg)
Projektionstool für Aktuare
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31430/image-thumb__31430__MediumTileGrid-item-main-s1-3/DSC00251-zuschnitt.jpg)
Fünf Tipps für mehr SharePoint-Adoption in Unternehmen
![Zwei Frauen schauen gemeinsam auf einen Bildschirm](/NOV/Images/Blog/Fallback_Titelbilder/1290/image-thumb__1290__MediumTileGrid-item-main-s1-3/TeamworkB%C3%BCro.jpg)
Fünf Tipps für eine verbesserte Software-Adoption
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31430/image-thumb__31430__MediumTileGrid-item-main-s1-3/DSC00251-zuschnitt.jpg)
Drei Tipps für mehr SharePoint-Begeisterung
![Zwei Frauen schauen gemeinsam auf einen Bildschirm](/NOV/Images/Blog/Fallback_Titelbilder/1290/image-thumb__1290__MediumTileGrid-item-main-s1-3/TeamworkB%C3%BCro.jpg)
Change Management in IT-Projekten
![Zwei Frauen schauen gemeinsam auf einen Bildschirm](/NOV/Images/Blog/Fallback_Titelbilder/1290/image-thumb__1290__MediumTileGrid-item-main-s1-3/TeamworkB%C3%BCro.jpg)
Corporate News – Das zentrale Medium interner Kommunikation
![novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien](/NOV/Images/Shooting%20B%C3%BCro%20Hannover%20April%202024/31430/image-thumb__31430__MediumTileGrid-item-main-s1-3/DSC00251-zuschnitt.jpg)
Braucht man wirklich jQuery?
![Blue sky and clouds](/NOV/Images/Blog/Fallback_Titelbilder/1355/image-thumb__1355__MediumTileGrid-item-main-s1-3/BlauerHimmel.jpg)
Hat Ihr Unternehmen einen Informations-Lebenszyklus?
![Abheben in die Cloud Close up of female hands while typing on laptop](/NOV/Images/Blog/Fallback_Titelbilder/392/image-thumb__392__MediumTileGrid-item-main-s1-3/FliegerCloud.jpg)
Qualitätsmanagement - Dokumentation verwalten mit SharePoint
![Phishing, mobile phone hacker or cyber scam concept. Password and login pass code in smartphone. Online security threat and fraud. Female scammer with cellphone and laptop. Bank account security.](/NOV/Images/Blog/28758/image-thumb__28758__MediumTileGrid-item-main-s1-3/Blog_Header_Cyber%20Security.jpg)
Die Awareness kommt mit dem ersten Cyberangriff
![Eine Angestellte lädt auf ihrem Handy die Microsoft Teams App für digitale Zusammenarbeit herunter.](/NOV/Images/Headerimages/10034/image-thumb__10034__MediumTileGrid-item-main-s1-3/Teams.jpg)
Microsoft Teams: mehr als Videotelefonie und Chat
![Programmer Woman Coding On Computer](/NOV/Images/Blog/Headerbild/18306/image-thumb__18306__MediumTileGrid-item-main-s1-3/Ohne%20Programmierkenntnisse%20zum%20Entwickler%20werden%20-%20Power%20Platform.png)
Ohne Programmierkenntnisse zum Entwickler werden
![Eine Angestellte lädt auf ihrem Handy die Microsoft Teams App für digitale Zusammenarbeit herunter.](/NOV/Images/Headerimages/10034/image-thumb__10034__MediumTileGrid-item-main-s1-3/Teams.jpg)
Microsoft Teams für digitale Zusammenarbeit
![Interessiertes Publikum sinnbildlich für IBM Think 2019](/XIN/Events/20190212_IBM%20THINK%202019/10253/image-thumb__10253__MediumTileGrid-item-main-s1-3/Publikum-IBM-Think-Summit.jpg)
X-INTEGRATE auf der IBM THINK 2019
![clever korean school girl](/CPL/CPL-X/Assessts/30042/image-thumb__30042__MediumTileGrid-item-main-s1-3/clever-korean-schoolgirl-has-serious-sullen-look-folds-lips-holds-pencil-notepad-head.jpg)
First Tuesday am 18.01.2024
![](/CPL/CPL-X/First%20Tuesday/2024-03-05/30741/image-thumb__30741__MediumTileGrid-item-main-s1-3/waist-up-shot-positive-carefree-woman-moves-with-rhythm-music-enjoys-favorite-melody-wears-stereo-headphones-ears-wears-round-eyeglasses-casual-turtleneck-isolated-green-wall.jpg)
First Tuesday am 05.03.2024
![](/CPL/CPL-X/First%20Tuesday/2024-04-16/31024/image-thumb__31024__MediumTileGrid-item-main-s1-3/vacation-sea-resort-concept-stupefied-lifeguard-with-lifebuoy-looks-surprisingly-into-distance_800x400.jpg)
First Tuesday am 16.04.2024
![Junge Dame mit Brillen umgeben von Wolken](/CPL/CPL-X/2024_Aktuelles/31259/image-thumb__31259__MediumTileGrid-item-main-s1-3/Variante%20Website_1200x800.jpg)
First Tuesday am 04.06.2024
![](/CPL/CPL-X/2024_Aktuelles/31914/image-thumb__31914__MediumTileGrid-item-main-s1-3/elderly-man-with-mustache-poses-sunglasses.jpg)
First Tuesday am 02.07.2024
![Beladenes Containerschiff auf dem Meer](/NOV/Referenzen/dteq/16456/image-thumb__16456__MediumTileGrid-item-main-s1-3/AdobeStock_390654783_Headerbild_CS_dteq_web.jpg)
dteq: Projektmanagement wie es sein soll
![Desktopvirtualisierung mit Azure oder Windows Eine Expertin erläutert Kollegen .NET Code in einer Software-Entwicklungsumgebung.](/NOV/Images/Headerimages/4025/image-thumb__4025__MediumTileGrid-item-main-s1-3/Entwicklung.jpg)
Applications & Integration
![Microsoft Teams as a Platform Happy lifestyle digital nomad young cheerful woman work outdoor with laptop computer - people and modern technology job and communication related - alternative office at the beach](/NOV/Images/Headerimages/28668/image-thumb__28668__MediumTileGrid-item-main-s1-3/Header_Teams-as-a-Platform.jpg)
Microsoft Teams as a Platform
![Business Productivity Framework Zwei Männer am Smartphone](/NOV/Images/Headerimages/14616/image-thumb__14616__MediumTileGrid-item-main-s1-3/Business%20Productivity%20Framework_header.jpg)
Business Productivity Framework
![Sandra Zimmerli Portrait von Sandra Zimmerli](/NOV_CH/Landingpages/Adventskalender-Schweiz/25240/image-thumb__25240__MediumTileGrid-item-main-s1-3/15_Sandra_Portrait.jpg)
Working @ novaCapta: Sandras Insights
![](/TTA/Referenzen/Bayer%20CropScience/7112/image-thumb__7112__MediumTileGrid-item-main-s1-3/bayer_teaser.jpg)
Dresscode und eBagTag - Schutzkleidung maßgeschneidert
![Luzia Herger Luzia Herger](/NOV_CH/Landingpages/Adventskalender-Schweiz/24931/image-thumb__24931__MediumTileGrid-item-main-s1-3/04_Luzia_Portrait.jpg)
Working @ novaCapta: Luzias Insights
![DevOps Young beautiful woman working on laptop at home office, copy space, portrait.](/NOV/Images/Headerimages/15753/image-thumb__15753__MediumTileGrid-item-main-s1-3/DevOps_copy.png)
novaCapta hat neue Gold-Kompetenz für DevOps
![Cristina Steegmann Cristina Steegmann](/NOV_CH/Landingpages/Adventskalender-Schweiz/24943/image-thumb__24943__MediumTileGrid-item-main-s1-3/02_Cristina_Portrait.jpg)
Working @ novaCapta: Cristinas Insights
![Ausschnitt vom Firmenevent 2023 der novaCapta](/NOV/Images/Blog/Headerbild/29961/image-thumb__29961__MediumTileGrid-item-main-s1-3/Firmenevent_Header_Blog_Tanz.jpg)
Warum Firmenevents Teil unserer Unternehmenskultur sind
![novaCapta Firmenevent 2023 Über 200 novaCapta Mitarbeitende versammeln sich zum Gruppenfoto im Phantasialand](/NOV/Images/Blog/Headerbild/29673/image-thumb__29673__MediumTileGrid-item-main-s1-3/Header_Blogbeitrag_Firmenevent_Recap.jpg)
Spaß & Action: Firmenevent 2023 im Phantasialand
![](/ARS/Blog/20240112_Sheriff/30328/image-thumb__30328__MediumTileGrid-item-main-s1-3/Sheriff-Ordnung-schaffen-in-TypeScript-Anwendungen.jpg)
Sheriff – Ordnung schaffen in TypeScript-Anwendungen
![Mitarbeiterinnen der novaCapta im Büro in Hannover](/NOV/Images/Aufnahmen%20B%C3%BCro%20Hannover/31040/image-thumb__31040__MediumTileGrid-item-main-s1-3/_MG_4780-klein-Web.jpg)
Erfolgsfaktoren Weiterbildung & Entwicklung
![Modern Workplace: Die ersten Schritte zum Arbeitsplatz der Zukunft Creative young woman working on laptop in her studio](/NOV/Images/Blog/Headerbild/24803/image-thumb__24803__MediumTileGrid-item-main-s1-3/BestPractice_Artikel-Modern-Work%20Preview.jpg)
Modern Workplace: Erste Schritte zum modernen Arbeitsplatz
![Führungskräfteleitlinien-Workshop Foto vom Führungskräfteleitlinien-Workshop der novaCapta im Kölner Büro](/NOV/Images/Blog/Employer%20Brading/30194/image-thumb__30194__MediumTileGrid-item-main-s1-3/FK-Leitlinien-Workshop_Koeln_web-klein_2.jpg)
Warum & wie wir Führungsleitlinien entwickelt haben
![Samuel Horstmann Portrait von Samuel Horstmann](/NOV_CH/Landingpages/Adventskalender-Schweiz/25198/image-thumb__25198__MediumTileGrid-item-main-s1-3/06_Samuel_Portrait.jpg)
Working @ novaCapta: Samuels Insights
![Microsoft Viva Learning Cute university student with curly red hair doing homework sitting at kitchen table with coffee cup and wired earphones next to big window, watching online tutorial on laptop and writing in copybook](/NOV/Images/Blog/27427/image-thumb__27427__MediumTileGrid-item-main-s1-3/Teaserbild_Blogbeitrag_Viva%20Learning.jpg)
Wie Viva Learning Lernen im Arbeitsalltag möglich macht
![Krombacher zu Gast bei novaCapta Krombacher zu Gast bei novaCapta](/NOV/Images/Blog/27807/image-thumb__27807__MediumTileGrid-item-main-s1-3/Blogbeitrag_Krombacher_Team.jpg)
Krombacher & novaCapta stoßen weitere Zusammenarbeit an
![Operationalisierung von Data Science (MLOps): Integation von KI-Prozesse Headerbild zu Operationalisierung von Data Science (MLOps)](/TTA/Kompetenzen/Data%20Science/18869/image-thumb__18869__MediumTileGrid-item-main-s1-3/Header-MLOps.jpg)
Operationalisierung von Data Science (MLOps)
![Microsoft Viva Engage business people team meeting in modern office design planning ideas concept](/NOV/Images/Blog/Headerbild/29255/image-thumb__29255__MediumTileGrid-item-main-s1-3/Header_Viva%20Engage_Blog.jpg)
Viva Engage: Unternehmenseigenes Social Network aufbauen
![](/GROUP/Services/Neu/31258/image-thumb__31258__MediumTileGrid-item-main-s1-3/API%20Economy%2C%20DevOps%2C%20Low%20Code%20und%20MACH_Hero%20image.jpg)
API Economy, DevOps, Low Code & MACH
![Monique Wrede Potraitbild Monique Wrede](/NOV/Mitarbeiter/29115/image-thumb__29115__MediumTileGrid-item-main-s1-3/Monique_Wrede_nC_Quadrat.jpg)
Working @ novaCapta: Moniques Insights
![Application Modernization beschreibt die Modernisierung bestehender Applikationen Headerbild zu Application Modernization](/TTA/Kompetenzen/Application%20Development/Application%20Modernization/14435/image-thumb__14435__MediumTileGrid-item-main-s2-3/Header-application-Modernization.jpg)