Bitte hinterlassen Sie Ihre Kontaktdaten, wir werden Ihnen unser Whitepaper per E-Mail zusenden
Ich stimme der Verarbeitung meiner persönlichen Daten zu, um personalisiertes Marketingmaterial in Übereinstimmung mit der der Datenschutzrichtlinie geschickt zu bekommen. Mit der Bestätigung der Anmeldung erklären Sie sich damit einverstanden, Marketingmaterial zu erhalten
Vielen Dank!

Das Formular wurde erfolgreich abgeschickt.
Weitere Informationen finden Sie in Ihrem Briefkasten.

Innowise ist ein internationales Unternehmen für den vollen Zyklus der Softwareentwicklung, welches 2007 gegründet wurde. Unser Team besteht aus mehr als 1600+ IT-Experten, welche Software für mehrere Branchen und Domänen weltweit entwickeln.
Über uns
Innowise ist ein internationales Unternehmen für den vollen Zyklus der Softwareentwicklung, welches 2007 gegründet wurde. Unser Team besteht aus mehr als 1600+ IT-Experten, welche Software für mehrere Branchen und Domänen weltweit entwickeln.

Automatisierte Softwaretests: 2x höhere Geschwindigkeit bei der Freigabe von Funktionen

Innowise führte automatisierte Softwaretests durch, um sicherzustellen, dass die Integration neuer Systemfunktionen die Integrität der bestehenden Funktionen nicht beeinträchtigte.

Der Kunde

Branche
Informationstechnologie
Region
Schweiz
Kunde seit
2023

Unser Kunde ist ein Anbieter von Cloud-ERP-Lösungen, die die betriebliche Effizienz und die Widerstandsfähigkeit gegen Betriebsunterbrechungen verbessern sollen.

Detaillierte Informationen über den Kunden können aufgrund der NDA nicht offengelegt werden.

Herausforderung

Überprüfung der Stabilität des ERP-Systems nach der Integration neuer Funktionen

Unser Kunde führte neue Funktionen in sein ERP-System ein und integrierte sie in den bestehenden Build. Er verließ sich auf Innowise, um die Stabilität des implementierten Software-Builds zu bewerten. Wir boten automatisierte Softwaretests an, um potenzielle Schwachstellen im System zu identifizieren und zu beheben.

Lösung

Einsatz von automatisierten Softwaretests zur Ermittlung und Behebung potenzieller Hindernisse

Innowise verbesserte das ERP-System des Kunden mit einem vielschichtigen Ansatz für automatisierte Softwaretests. Es umfasste Smoke-, Funktions- und Regressionstests, die alle innerhalb einer kontinuierlichen Integrations-/CD-Pipeline (Continuous Integration/Continuous Delivery) durchgeführt wurden. Smoke-Tests wurden eingesetzt, um die Stabilität der wichtigsten Funktionen schnell zu überprüfen, während funktionale Tests wichtig waren, um jede Funktion auf ihre Korrektheit zu untersuchen. Regressionstests waren entscheidend, um sicherzustellen, dass neue Aktualisierungen keine negativen Auswirkungen auf bestehende Funktionen haben. Durch die Integration dieser Testmethoden in die CI/CD-Pipeline wurde der Entwicklungsprozess rationalisiert. Dieser Ansatz ermöglichte eine schnelle Identifizierung und Lösung von Problemen und gewährleistete eine konsistente Einführung von robusten, hochwertigen Funktionen im ERP-System.

Auswertung von Testfällen für die Automatisierung

Zu Beginn wurden wir damit beauftragt, die von manuellen Testern erstellten Testfälle zu durchforsten. Mit unserem umfangreichen Hintergrundwissen im Bereich Softwaretests haben wir uns in jeden einzelnen Fall vertieft und die Schritte jedes Testfalls manuell ausgeführt, um die Komplexität und die Automatisierbarkeit zu bewerten. Unser Ziel war es, den effizientesten Weg zu finden, um sich wiederholende und zeitaufwändige Aufgaben zu automatisieren, ohne die Genauigkeit der Testergebnisse zu beeinträchtigen.

Durchführung von Rauchtests

Unsere Tester erstellten eine Sammlung von voraufgezeichneten Smoke-Tests, die bei jedem neuen Build zum Einsatz kamen. Diese Tests waren wichtig, um zu bestätigen, dass die wichtigsten Funktionen der Software funktionierten, und um Konsistenz und Gründlichkeit zu gewährleisten. Wenn ein automatisierter Test ein Problem anzeigte, wurde unser Team sofort alarmiert, so dass das Problem schnell erkannt und behoben werden konnte.

Dank der Flexibilität unseres Prozesses war unser Team in der Lage, alle Probleme, die bei der Erstellung aufgedeckt wurden, schnell zu lösen. Wir haben die erforderlichen Anpassungen umgehend vorgenommen und den Build ohne Verzögerung erneut bereitgestellt, so dass die Unterbrechungen minimal waren.

Integration von Funktionstests in jeden Sprint

Wir gingen nahtlos von der breit angelegten Verifizierung der Smoke-Tests zu einem gezielten und sorgfältigen funktionalen Testansatz über. Dadurch wurde sichergestellt, dass jede neue Aktualisierung isoliert wirksam war und sich nahtlos in die bestehenden Softwarekomponenten einfügte. Wir führten in jedem Sprint funktionale Tests durch, so dass jede inkrementelle Entwicklung rigoros bewertet wurde und die Gesamtqualität und Kohärenz der Software aufrechterhalten wurde.

Software-Regressionstests

Wir folgten einem schlanken, aber gründlichen Prozess für die Implementierung automatisierter Regressionstests.Unser Team richtete eine Testumgebung ein, die die tatsächlichen Produktionsbedingungen widerspiegelte, um sicherzustellen, dass unsere Ergebnisse so genau wie möglich waren. Mit Selenium haben wir die Skripte für die Regressionstests automatisiert und damit die Effizienz erheblich gesteigert - ein entscheidender Faktor für komplexe Systeme.

Nach der Automatisierung ließen wir diese Skripte mit dem neuesten Build laufen, um nach Unstimmigkeiten oder Fehlern zu suchen. Nach der Durchführung der Tests analysierten wir die Ergebnisse gründlich, um aufkommende Fehler oder Probleme zu identifizieren.

Wenn wir Probleme entdeckten, haben wir sie sofort behoben, indem wir den Code optimierten und die Tests erneut durchführten, um die Wirksamkeit unserer Korrekturen zu bestätigen. Dieser Zyklus aus Testen, Analysieren und Verfeinern war eine Konstante bei jeder neuen Softwareaktualisierung, um die Stabilität der Software und die beabsichtigte Funktionalität zu gewährleisten. Dieser effiziente Ansatz für Regressionstests war der Schlüssel zur Aufrechterhaltung der Zuverlässigkeit und Leistung der Software, wodurch das Risiko von Fehlern reduziert und eine reibungslose Benutzererfahrung gewährleistet wurde.

Pipeline für kontinuierliche Integration/kontinuierliche Bereitstellung (CI/CD)

Zusätzlich zu unserem strengen Testprozess haben wir unsere Tests auch in die kontinuierliche Integration/kontinuierliche Bereitstellung (CI/CD) integriert, um die Effizienz und Reaktionsfähigkeit unseres Entwicklungszyklus zu verbessern. Wir nutzten das Allure-Tool für detaillierte Berichte, die einen klaren Einblick in die Testergebnisse lieferten. Diese Integration ermöglichte es uns, ein automatisiertes System einzurichten, bei dem die Tests jede Nacht gestartet wurden. Diese nächtliche Testroutine stellte sicher, dass alle neuen Änderungen sofort ausgewertet wurden, was eine schnelle Identifizierung und Lösung von Problemen ermöglichte. Die Integration von Allure-Berichten in unsere CI/CD-Pipeline bedeutete, dass unser Team jeden Morgen Zugriff auf umfassende Testdaten hatte, was die Entscheidungsfindung erleichterte und einen konstanten Fokus auf Qualität und Stabilität sicherstellte. Durch diese Integration wurde unser Testprozess beschleunigt und die Zuverlässigkeit jedes von uns gelieferten Software-Builds erhöht.

Detaillierte Schritte in unserer CI/CD-Pipeline:

  • Code: Die Entwickler schrieben und verfeinerten den Code und stellten sicher, dass er unseren Standards für Funktionalität und Design entsprach.
  • Commit: Anschließend haben wir den aktualisierten Code in unser Versionskontrollsystem eingespeist und damit den ersten Kontrollpunkt in der Pipeline markiert.
  • Wettbewerbsfähige: Dieser übermittelte Code durchlief einen Build-Prozess, bei dem er in eine lauffähige Form umgewandelt wurde, die zum Testen bereit ist.
  • Einheitliche Tests: Wir haben den Build Unit-Tests unterzogen, bei denen die einzelnen Komponenten auf ihre Korrektheit geprüft wurden. Damit sollte sichergestellt werden, dass jede Komponente einwandfrei funktioniert.
  • Rauch-Tests: Im Anschluss an die Unit-Tests führten wir Smoke-Tests für den Build durch, um schnell festzustellen, ob kritische Funktionen wie erwartet funktionierten.
  • Commit: Nach den Smoke-Tests haben wir den Code erneut in das Versionskontrollsystem eingespeist und dabei alle nach den Tests vorgenommenen Änderungen berücksichtigt.
  • Bewertung: Wir überprüften jede Übergabe gründlich und stellten sicher, dass die Änderungen unseren Qualitätsstandards entsprachen und mit den Projektzielen übereinstimmten.
  • Aufführung: Der Build wurde für weitere Tests in eine Staging-Umgebung verschoben, die der Produktionsumgebung sehr ähnlich ist.
  • System-Tests: Im Staging führten wir umfassende Systemtests durch, um den Build in einer Umgebung zu validieren, die den realen Einsatz simuliert.
  • Produktion: Nachdem der Build alle Testphasen erfolgreich durchlaufen hatte, wurde er in der Produktionsumgebung eingesetzt und den Endbenutzern zur Verfügung gestellt.

Technologien

AQA

Python, Pytest, Selenium, Allure

Back-end

Java, Spring, Hibernate

VSC

Git, Gitlab

Cloud

AWS Grafana IAM, SNS, SQS, KMS, RDS (PostgreSQL), S3, SES

DevOps

Gitlab, Docker, Docker Compose

Prozess

Agile Methodik und Sprint-Struktur

Bei unserem Projekt haben wir uns strikt an die agile Methodik gehalten und unseren Entwicklungsprozess in zweiwöchige Sprints gegliedert. Auf diese Weise konnten wir das Projekt in überschaubare Abschnitte unterteilen und in jeder Phase Konsistenz und Effizienz gewährleisten.

Aufgabenmanagement und Zusammenarbeit im Team

Zu Beginn eines jeden Sprints legten wir klare Ziele und Aufgaben fest, die mit Jira nachverfolgt wurden. Dieses Tool sorgte dafür, dass unser Team auf dem richtigen Weg war. Wir nutzten es nicht nur als Aufgabentracker, sondern auch als zentralen Knotenpunkt für die Zusammenarbeit und Kommunikation, so dass jedes Teammitglied immer über die neuesten Entwicklungen und Prioritäten informiert war.

Sprint Review und detaillierte Berichterstattung

Als wir uns dem Ende eines jeden Sprints näherten, verlagerte sich unser Schwerpunkt auf die Konsolidierung unserer Arbeit und die Vorbereitung des Sprint-Reviews. Wir stellten sorgfältig detaillierte Berichte zusammen, die unsere Testabdeckung und -ergebnisse beleuchteten. Diese Berichte waren mehr als nur eine Zusammenfassung der erledigten Aufgaben, sie enthielten eine eingehende Analyse dessen, was wir erreicht hatten, welche Herausforderungen wir zu bewältigen hatten und wie wir sie gemeistert hatten. Sie enthielten auch Rückmeldungen zu unseren Testprozessen und alle Erkenntnisse, die wir in den nächsten Sprint mitnehmen konnten.

Team

3

AQS-Ingenieure

1

DevOps-Ingenieur

Ergebnisse

Beschleunigte Bereitstellung von Funktionen und 50% weniger Fehler in der Produktion

Die Implementierung von automatisierten Tests für das ERP-System unseres Kunden führte zu bemerkenswerten Verbesserungen und Effizienzsteigerungen:

  • Schnellere Freigabe neuer Funktionen: Mit automatisierten Tests konnten neue Funktionen doppelt so schnell freigegeben werden wie mit dem vorherigen manuellen Verfahren.
  • Verringerung der Fehler: Durch die Integration von CI/CD wurden 50% weniger Fehler in die Produktion eingeschleust, was die Zuverlässigkeit der Software deutlich erhöht hat.

Angesichts dieses positiven Ergebnisses hat unser Kunde seine Begeisterung für unsere Zusammenarbeit zum Ausdruck gebracht. Er erkennt den Wert an, den unser Fachwissen und die Implementierung von Spitzentechnologien für sein Unternehmen haben. In Zukunft werden wir eng mit unserem Kunden zusammenarbeiten, um auf den erzielten Erfolgen aufzubauen und weitere Möglichkeiten zur Verbesserung seiner Systeme und Prozesse zu prüfen.

Projektdauer
  • September 2023 - Fortlaufend

2x

Erhöhung der Funktionalität Freigabegeschwindigkeit

50%

weniger Fehler in der Produktion

Kontaktieren Sie uns!

Buchen Sie einen Anruf oder füllen Sie das Formular unten aus und wir melden uns bei Ihnen, sobald wir Ihre Anfrage bearbeitet haben.

    Bitte fügen Sie Projektdetails, Dauer, Technologie-Stack, benötigte IT-Experten und andere Infos bei.
    Bitte fügen Sie Projektdetails, Dauer, Technologie-Stack, benötigte IT-Experten
    und andere Infos bei.
    Hängen Sie nach Bedarf zusätzliche Dokumente an.
    Datei hochladen

    Sie können bis zu 1 Datei von insgesamt 2 MB anhängen. Gültige Dateien: pdf, jpg, jpeg, png

    Bitte beachten Sie, dass Innowise mit dem Anklicken der Schaltfläche 'Senden' Ihre persönlichen Daten nach der Datenschutzrichtlinie verarbeiten wird, um Ihnen die gewünschten Informationen zukommen zu lassen.

    Wie geht es weiter?

    1

    Sobald wir Ihre Anfrage erhalten und bearbeitet haben, werden wir uns mit Ihnen in Verbindung setzen, um Ihre Projektanforderungen zu besprechen und eine NDA für die Vertraulichkeit der Informationen zu unterzeichnen.

    2

    Nach der Prüfung der Anforderungen erstellen unsere Analysten und Entwickler einen Projektvorschlag, der Arbeitsumfang, Teamgröße, Zeit- und Kostenschätzung enthält.

    3

    Wir vereinbaren einen Termin mit Ihnen, um das Angebot zu besprechen und eine Vereinbarung zu treffen.

    4

    Wir unterzeichnen einen Vertrag und beginnen umgehend mit der Arbeit an Ihrem Projekt.

    Vielen Dank!

    Ihre Nachricht wurde gesendet.
    Wir werden Ihre Anfrage bearbeiten und Sie so schnell wie möglich kontaktieren.

    Vielen Dank!

    Ihre Nachricht wurde gesendet.
    Wir werden Ihre Anfrage bearbeiten und Sie so schnell wie möglich kontaktieren.

    Pfeil