IT & Consulting

Softwareentwicklung für Stanusch Technologies, einem Branchenführer bei der Implementierung von KI-Systemen

Stanusch Technologies ist ein polnisches Unternehmen, das innovative Lösungen auf der Grundlage künstlicher Intelligenz anbietet. Der Kunde entwickelt eine neue Version der Anwendung für ein Chatbot- und Voicebot-Gesprächssystem und benötigte Unterstützung in Form von zusätzlichen personellen Ressourcen für das Entwicklungsteam sowie im Bereich der Qualitätssicherung.

Land: Polen
Jahr: 2019
Projektumfang: Softwareentwicklung und -tests
Zeit: 2019 – bis heute
Technologie: Java 11, Groovy, Spock, Rest Assured, Maven, Docker, Jenkins, JMeter, Gatling
Name der Projektfirma: Stanusch Technologies
Softwareentwicklung für Stanusch Technologies, einem Branchenführer bei der Implementierung von KI-Systemen

Das Kundensystem

Der Kunde stellt ein auf der Omni-Chatbot-Plattform basierendes Konversationssystem zur Verfügung, das auf künstliche Intelligenz zurückgreift. Es kann in Form von Chat- oder Voicebots für die kommerzielle Nutzung in jeder Branche implementiert werden, wodurch die Kommunikation mit Kunden verbessert wird. Mit den virtuellen Assistenten von Stanusch ist es möglich den Kundenservice zu automatisieren- Außerdem bieten sie Unterstützung bei der internen Unternehmenskommunikation oder bei Marketingaktivitäten sowie bei der Analyse großer Datensätze. Der Vorteil des Tools ist eine einzige Wissensdatenbank, die es ermöglicht, über verschiedene Kanäle zu kommunizieren, ohne dass separate Informationsquellen erstellt werden müssen.

Das Problem

Der Kunde benötigte Unterstützung für sein Scrum-Team bei der Softwareentwicklung und Qualitätssicherung. Das Ziel des Projekts bestand darin, eine neue Version der Anwendung für das Konversationssystem zu implementieren. Als die JCommerce-Spezialisten mit der Arbeit an dem Projekt begannen, identifizierten sie die folgenden Probleme und Herausforderungen:

  • Das Projekt zum automatischen Testen (GUI und API), das für eine ältere Version des Systems erstellt wurde, erforderte ein Refactoring.
  • Die Dauer der automatischen Tests war lang.
  • Der Kunde benötigte Daten, die einen Leistungsvergleich zwischen der älteren Version des Systems und dem neuen, derzeit implementierten System ermöglichen.
  • Die vom Kunden verwendeten Tools mussten auf neuere Versionen aktualisiert werden.

Die Lösung

Die Arbeit der JCommerce-Spezialisten lässt sich in die folgenden Bereiche unterteilen:

Entwicklung

Während der Arbeit für den Kunden waren die JCommerce-Spezialisten für die Wartung des aktuellen Systems verantwortlich. Sie waren für die Implementierung in neue Umgebungen und die Aktualisierung der Implementierungsanweisungen verantwortlich. Es ist ihnen gelungen, Verfahren zu etablieren, die die Arbeit effektiver machten. Die Aufgaben, an denen der JAVA Developer von JCommerce arbeitete, erforderten die Reparatur von Steuerelementen zur Eingabe von Daten in das Verwaltungssystem, die Reparatur der Datensuchfunktionalität und der Anmeldung im System. Er fügte dem bestehenden Verwaltungssystem die Möglichkeit hinzu, einen Groovy-Sprachcode auszuführen, der für die Bedienung der sogenannten Fakten (Wissensdatenbank-Artikel) und die Rückgabe ihres Ergebnisses an die Person, die den Chatbot für den Client konfiguriert hat, erforderlich ist.

Der Software-Entwicklungsprozess wurde weiter verbessert durch:

  • Festlegen von Definition of Ready und Definition of Done (einschließlich der Notwendigkeit, automatische Tests vorzubereiten), sodass das Scrum-Team wusste, wann die Aufgabe als erledigt gelten würde.
  • Regelmäßige Refinement-Sitzungen, die es ermöglichten, die Aufgaben im Backlog laufend zu aktualisieren.
  • Verbesserter Code-Review-Prozess, bei dem der Code-Qualität, der Systemarchitektur und demn Tests Aufmerksamkeit gewidmet wurde. Der verbesserte Code-Review-Prozess führte zu einer besseren Code-Qualität und damit zu einem besseren Funktionieren der Anwendung.

Tests (Quality Assurance)

 Das Projekt zum automatischen Testen des bestehenden Systems wurde refaktorisiert – es bestand darin, den Code gemäß guter Programmierpraxis zu modifizieren. In einem späteren Arbeitsstadium ermöglichte dies die Aktualisierung der in diesem Projekt verwendeten Bibliotheken und Werkzeuge. Während der Arbeit wurde die Logik einiger der Tests verbessert – einige Testfälle wurden zusammengeführt, andere wurden getrennt.

  • Infolge dieser Änderungen konnte die Testzeit um die Hälfte verkürzt werden.
  • Es ist uns gelungen, den Prozess Continuous Integration / Continuous Delivery zu verbessern und die Skripte, die die Tests ausführen, zu modifizieren.
  • Die Spezialisten von JCommerce schlugen vor, das Selenium-Grid-Tool zu verwenden, mit dem Tests auf verschiedenen Browsern durchgeführt werden können, und empfahlen, den Browser auf eine unterstützte Version umzustellen. Auf diese Weise erhielt der Kunde die Möglichkeit, die neuesten Versionen der gängigsten Browser zu verwenden.
  • Die Wartung dieses Projekts lag in der Verantwortung einer Testerin auf Kundenseite, der ein QA von JCommerce mit Rat und Tat zur Seite stand.

Die Unterstützung des JCommerce-Projekts im Rahmen der Erprobung des neuen Konversationssystems fand in vier grundlegenden Bereichen statt:

1) Code Review

Rücksichtnahme bei der Codeüberprüfung auf Unit- und Integrationstests. Der Ansatz, so viele Geschäftsfälle wie möglich abzudecken.

2) Manuelle Tests

Manuelle Tests wurden im Entwicklungsprozess so früh wie möglich durchgeführt. Hier lag der Schwerpunkt hauptsächlich auf den wichtigsten Geschäftswegen, und detaillierte Fälle wurden durch Tests auf niedrigerem Niveau abgedeckt.

Zusätzlich wurde eine Dokumentation erstellt, die alle Unterschiede zwischen dem alten und dem neuen System enthält.

3) Automatische Tests

Im Rahmen dieser Aufgabe wurde ein eigenes Projekt ins Leben gerufen, das Tests der entwickelten API beinhaltete. In diesem Teil der Arbeit wurden neue Technologien und Werkzeuge wie Java 11, Groovy, Spock, Rest Assured, Maven, Docker und Jenkins genutzt. Zusätzlich wurde diese Aufgabe in den CI/CD-Prozess integriert (jedes Mal, wenn eine neue Version der Anwendung erstellt wurde, begannen die Tests). In der nächsten Phase wurde auch der Entwicklungsprozess durch diese Tests ergänzt – jeder Entwickler konnte sie auf einer virtuellen Maschine ausführen, um die Richtigkeit der von ihm vorgenommenen Änderungen zu überprüfen. 

4) Leistungstests

Den letzten Bereich stellten Leistungstests dar. Der Kunde berichtete, dass er Daten benötigte, um die Leistung des alten und des neuen Systems vergleichen zu können. Im Rahmen dieser Aufgabe wurde das bestehende (für das alte System gedachte) Testprojekt gestartet. Es wurde geändert, um auch die Leistung des neuen Systems zu überprüfen. Es griff auf das JMeter-Tool zurück, aber im Rahmen dieser Aufgabe wurde auch ein Proof-of-Concept von Leistungstests mit dem Gatling-Tool erstellt.

Business Benefits:

  • Verbesserte Codequalität und besseres Funktionieren der Anwendung,
  • Aktualisierung der im Projekt verwendeten Bibliotheken und Werkzeuge,
  • Verbesserung des Prozesses der Softwareentwicklung und Qualitätssicherung, insbesondere die Erstellung von Aufgaben (Backlog),
  • Verbesserung von Know-how des Entwicklungsteams auf dem Gebiet der Qualitätssicherung, insbesondere im Bereich der Testautomatisierung
  • Unterstützung der Scrum-Methodik, insbesondere die Verbesserung des Prozesses der Aufgabenerstellung. Dies führte zu einem besseren Verständnis der Aufgaben und des Zielbetriebs einer bestimmten Funktionalität durch das Entwicklerteam, insbesondere durch Personen mit weniger Erfahrung mit dem Projekt.

Zusammensetzung des Teams: QA und JAVA Developer.

Projektdauer: 06.2019 – bis heute


 

Exclusive Content Awaits!

Dive deep into our special resources and insights. Subscribe to our newsletter now and stay ahead of the curve.

Information on the processing of personal data

Exclusive Content Awaits!

Dive deep into our special resources and insights. Subscribe to our newsletter now and stay ahead of the curve.

Information on the processing of personal data

Subscribe to our newsletter to unlock this file

Dive deep into our special resources and insights. Subscribe now and stay ahead of the curve – Exclusive Content Awaits

Information on the processing of personal data

Almost There!

We’ve sent a verification email to your address. Please click on the confirmation link inside to enjoy our latest updates.

If there is no message in your inbox within 5 minutes then also check your *spam* folder.

Already Part of the Crew!

Looks like you’re already subscribed to our newsletter. Stay tuned for the latest updates!

Oops, Something Went Wrong!

We encountered an unexpected error while processing your request. Please try again later or contact our support team for assistance.

    Get notified about new articles

    Be a part of something more than just newsletter

    I hereby agree that Inetum Polska Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as: my full name, e-mail address, telephone number and Skype ID/name for commercial purposes.

    I hereby agree that Inetum Polska Sp. z o.o. shall process my personal data (hereinafter ‘personal data’), such as: my full name, e-mail address and telephone number for marketing purposes.

    Read more

    Just one click away!

    We've sent you an email containing a confirmation link. Please open your inbox and finalize your subscription there to receive your e-book copy.

    Note: If you don't see that email in your inbox shortly, check your spam folder.