Bereitstellung eines Qualitätsprodukts für den Kundenerfolg

7 Minuten lesen

SnapLogic ist eine Integrationsplattform als Service (iPaaS), die die komplexen Integrationsprobleme vieler Unternehmen löst. Die Plattform unterstützt eine breite Palette von Integrationsanforderungen, darunter Application Integration, Datenintegration, Unterstützung von Hybridmodellen, Big Data, API-Management, B2B-Integration und vieles mehr - alles mit einer benutzerfreundlichen, KI-gestützten Self-Service-Benutzeroberfläche.

Die SnapLogic-Integrationsplattform unterstützt über 500 Anwendungen. Das Testen der Integration dieser Anwendungen bedeutet das Testen zahlreicher Kombinationen davon, was auch das Testen aller Interaktionen der SnapLogic-Plattform mit den zugrunde liegenden Technologien dieser verschiedenen Anwendungen bedeutet. Um diese umfangreichen Anforderungen zu testen, muss der Ansatz intelligent und nicht erschöpfend sein, wobei die richtigen Automatisierungswerkzeuge und eine gründliche Testplanung eingesetzt werden müssen, um die gewünschte Qualität zu erreichen. 

Darüber hinaus unterscheidet sich SnapLogic von anderen Integrationsplattformen durch die Unterstützung hybrider Modelle, die eine zusätzliche Schicht der Datenebene umfassen, bei der die Kunden die Möglichkeit haben, zwischen Cloud- und On-Prem-Modellen zu wählen. Dies erhöht die Komplexität unseres Testprozesses, bei dem QE (Quality Engineering) Kundenumgebungen simulieren und verschiedene Kundenkonfigurationen testen muss, seien es Proxys oder Konfigurationen auf Betriebssystemebene, um alle Szenarien für den Test abzudecken.

Qualität im Fokus

Eine funktionsreiche, skalierbare und stabile Plattform ist das, was unsere Unternehmenskunden von uns erwarten. Bevor eine neue Funktion auf den Markt kommt, werden strenge Tests durchgeführt, um sicherzustellen, dass sie den Qualitätsstandards von SnapLogic entspricht. 

Wie definiert SnapLogic also ein Qualitätsprodukt?

Bei der Qualität geht es darum, den Kunden die beste Software zu liefern, die einfach zu benutzen und frei von Fehlern ist und ihnen hilft, die gewünschten Ergebnisse zu erzielen. Bei SnapLogic wird das Testen sehr ernst genommen. Dies erreichen wir durch ein engagiertes Team erfahrener Softwaretester, die die Anwendung konsequent und kreativ untersuchen und bewerten, um sicherzustellen, dass die Qualität der Software vor der Auslieferung hohen Standards entspricht. 

Testen mit agiler Methodik

In der Softwarebranche gibt es viele verschiedene Testmodelle. Einige Unternehmen arbeiten nach dem traditionellen Wasserfallmodell, andere nach dem agilen Modell. Bei SnapLogic folgen wir agilen Testpraktiken aufgrund ihrer adaptiven Natur und besseren Vorhersagbarkeit. Entwickler, das QE-Team und das Produktteam arbeiten zusammen, um sicherzustellen, dass die SnapLogic-Plattform die beste in ihrer Klasse ist. Das QE-Team ist von Beginn des Release-Zyklus an involviert und setzt die Tests iterativ zusammen mit dem Entwicklungsteam fort. Wir sind davon überzeugt, dass durch die frühe Einbindung der QE in den Prozess alle Probleme oder Mängel sofort und innerhalb des Release-Zyklus erkannt und behoben werden. In unseren täglichen Scrums tauschen sich die Product Owner ständig mit den Entwicklern und QE aus, um den Fortschritt zu verfolgen und Risiken. Wenn Produktrisiken oder Verzögerungen frühzeitig erkannt werden, lassen sie sich leicht beheben, ohne die Qualität und Lieferung des Produkts zu beeinträchtigen. Sobald das Testteam den Zertifizierungsprozess abgeschlossen hat, wird das Produkt abgezeichnet und für Beta-Tests und schließlich für die Produktion freigegeben.

Ein systematischer, mehrschichtiger Testansatz
Der QE-Testprozess von SnapLogic basiert auf einem systematischen und mehrschichtigen Ansatz. Jede neue Funktion, die entwickelt wird, folgt diesem Modell. Jede Änderung im Verhalten, die in den Code eingeführt wird, kann sich auf die bestehende Funktionalität auswirken und zu einem Rückschritt in der Anwendung führen. Um Regressionsprobleme zu erkennen, führen wir während des gesamten Release-Zyklus ständig eine Reihe bestehender Testfälle gegen den sich ändernden Build durch. Alle Fehler, die sich daraus ergeben, werden laufend behandelt und priorisiert, wobei das Release Board immer auf dem neuesten Stand gehalten wird. Sobald die Anwendung ein gewisses Maß an Stabilität erreicht hat, fahren wir mit dem Testen anderer Teile der Anwendung fort, wie z. B. Leistungstests und End-to-End-Kundentests. Durch diese Tests wird sichergestellt, dass es in anderen Teilen des Systems zu keinen Beeinträchtigungen kommt.

Bei SnapLogic führen wir mehrere Arten von Tests durch:

  • Einheitliche Prüfung
  • Integrationstests
  • Rauchtests
  • Funktionsprüfung
  • Erkundungstests
  • Leistungsprüfung
  • Testen von End-to-End-Kundenszenarien

Einheitliche Prüfung

Dies ist der kritischste Teil des Testens, da er dem Quellcode der Anwendung so nahe wie möglich kommt. Die Entwickler sind dafür verantwortlich, ihre eigenen Unit-Tests zu schreiben, und diese Tests müssen bestanden werden, bevor der Build an QE übergeben wird. Es handelt sich um leichtgewichtige Tests, die im Rahmen des Veröffentlichungszyklus sehr häufig durchgeführt werden.

Integrationstests

Integrationstests validieren die Interaktionen zwischen verschiedenen Diensten innerhalb des Anwendungscodes. Sie interagieren auf der API-Schicht und sind daher im Vergleich zu den UI-Tests viel schneller auszuführen. Diese Tests dienen der schnellen Überprüfung des Zustands und der Stabilität des bereitgestellten Systems. Jeder fehlgeschlagene Integrationstest stoppt die Tests der Anwendung.

Rauchtests

Smoke-Tests umfassen die kritischen Abläufe der Anwendung. Dies sind grundlegende Tests, die bestätigen, dass es keine Blocker für QE gibt, bevor sie mit ihren Tests fortfahren. Diese Tests sind so konzipiert, dass sie wichtige Blocker in der Anwendung aufspüren. Sie werden von QE vollständig automatisiert und jedes Mal ausgeführt, wenn ein neuer Build in einer beliebigen Umgebung zum Testen der Funktionsfähigkeit bereitgestellt wird.

Funktionsprüfung

Funktionale Tests testen die Geschäftslogik der Anwendung auf der UI-Schicht. Diese Testfälle werden mit unserem internen Framework automatisiert, das auf WebDriver aufbaut und alle Benutzeraktionen an der Schnittstelle zum Browser automatisiert. Diese Tests werden von QE vollständig automatisiert, so dass der manuelle Aufwand nur für explorative Tests und Randfälle bleibt. UI-Automatisierungstests sind sehr nah an der Art und Weise, wie Kunden die Anwendung nutzen würden, und stellen sicher, dass die Funktionalität richtig funktioniert. Es ist jedoch sehr wichtig, dass wir die Anwendung nicht erschöpfend durch UI-Tests testen, da diese Tests in der Regel etwas anfällig und teuer in der Wartung sind. Diese Tests werden sparsam ausgewählt und in geeigneter Weise mit API-Tests gepaart, um die beste Qualität zu erzielen. 

Erkundungstests 

Wie der Name schon sagt, handelt es sich bei explorativen Tests um eine Art von Tests, bei denen die Anwendung erkundet wird, um die geschäftlichen Anforderungen zu erfahren und zu untersuchen. Wir führen diese Tests vor der Erstellung der Testfälle zu Beginn des Testzyklus oder zur Erfassung der Randfälle später im Zyklus durch. Es handelt sich dabei um manuelle, ressourcenintensive Tests, die nur wenige Male in einer Version durchgeführt werden, typischerweise zu Beginn oder manchmal gegen Ende des Zyklus. Explorative Tests werden von der QE oder manchmal auch außerhalb der QE-Organisation durchgeführt, und diese Tests fangen komplexe Fehler ab, die nicht durch automatisierte Skripte erfasst werden können.

Leistungsprüfung

Ziel der Leistungstests ist es, Leistungseinbußen innerhalb der Anwendung festzustellen. Um dies zu testen, belasten wir bestimmte Backend-Komponenten und überwachen die Ergebnisse der Anwendung unter Last. Wir vergleichen die Ergebnisse mit den vorherigen Baselines. Jeder Anstieg der Antwortzeit wird als Leistungsmangel gekennzeichnet. Die Leistungstests sind vollständig automatisiert und werden von QE verwaltet. Sie werden durchgeführt, nachdem die Funktionen funktional stabil sind und eine bestimmte Last für die Tests aushalten können.

Testen von End-to-End-Kundenszenarien

Dabei handelt es sich um geschäftliche Anwendungsfälle, die das System von Anfang bis Ende testen. Im Gegensatz zu Unit-Tests und funktionalen Tests, bei denen bestimmte Komponenten der Anwendung getestet werden, müssen bei diesen Tests alle abhängigen Systeme in Betrieb sein und verschiedene Systeme und Komponenten durchlaufen. Bei SnapLogic ist die QE für die Erstellung dieser Testfälle verantwortlich, indem sie Kundenszenarien simuliert. Die meisten dieser Fälle sind automatisierte Pipelines, bei denen wir unser eigenes Produkt verwenden, um unsere Tests zu validieren. 

Das Kriterium für die Zertifizierung ist, dass alle diese Tests bestanden werden müssen. Alle fehlgeschlagenen Testfälle, die Fehlern entsprechen, werden als bekannte Fehler dokumentiert oder für künftige Versionen eingeordnet. Sobald die Zertifizierungskriterien erfüllt sind, werden die Bits für Betatests in eine UAT-Umgebung (User Acceptance Testing) verschoben, wo sie von Kunden getestet werden und Feedback erhalten. Alle Rückmeldungen, die wir erhalten, werden implementiert, und alle Probleme, die für die Veröffentlichung vorgesehen sind, werden behoben, getestet und freigegeben. Sobald alle Kriterien erfüllt sind, wird das Produkt an die Produktion ausgeliefert. Alle Probleme, mit denen unsere Kunden in der Produktion möglicherweise konfrontiert werden, werden sehr ernsthaft untersucht und vom Testteam analysiert und behoben. Anschließend werden sie freigegeben und in die Testsuite aufgenommen, damit sie im Produkt nicht wieder auftauchen.

Schlussfolgerung

Die Gewährleistung eines stabilen, qualitativ hochwertigen und leistungsstarken Produkts ist und bleibt für uns bei SnapLogic eine der höchsten Prioritäten. Im Laufe der Jahre haben wir unsere QE-Prozesse kontinuierlich bewertet und feinabgestimmt, Automatisierung und neue Techniken eingeführt und vor allem sichergestellt, dass die QE von der Konzeption bis zur Auslieferung Seite an Seite mit unseren Entwicklungs- und Produktkollegen arbeitet. 

SnapLogic ist stolz auf die Innovation, die es regelmäßig in seine Produkte einbaut. Jedes Quartal werden den Kunden neue Funktionen und erweiterte Möglichkeiten angeboten. Aber nichts geht in die Produktion und in die Hände unserer Kunden, bevor es nicht die strengen Qualitätsteststandards von SnapLogic erfüllt. Unsere Kunden haben es verdient.

Leiterin der Abteilung Qualitätsmanagement bei SnapLogic
Kategorie: Integration
Themen: API

Wir stellen ein!

Entdecken Sie Ihre nächste große Karrierechance.