Warum wir uns entschieden haben, eine systemübergreifende Testabteilung einzurichten





Wo es Entwickler gibt, sollten Tester in der Nähe sein. Und je komplexer das System ist, desto wichtiger ist dessen Rolle. Aber nicht alle Tester führen dieselbe Funktion auf dieselbe Weise aus, und heute möchten wir über die Entstehung einer speziellen Einheit in M.Video-Eldorado sprechen, die sich mit systemübergreifenden Tests befasst. Lesen Sie, warum wir beschlossen haben, eine separate Kaste von Testern zu gründen, wie dies dem Unternehmen geholfen hat und wie wir zu dieser Entscheidung im Rahmen der Kürzung gekommen sind.



Wenn Sie nicht überprüfen, ob das System nach der Einführung des Updates in der Produktion funktioniert, kann ein kleiner Fehler den gesamten Client-Service oder beispielsweise Back-Office-Prozesse "stören". Um dies zu verhindern, sollte jedes agile Team einen eigenen Tester haben, der die Ausführung grundlegender Szenarien überprüft und Fehler an die Entwickler meldet. Wenn ein Service mit anderen Komponenten des Systems interagiert, führen Teams häufig Integrationstests durch, bei denen der Einfluss der nächstgelegenen Komponenten des Service-Ökosystems aufeinander überprüft wird.







In unserer Zeit sind Geschäftsprozesse jedoch oft viel komplizierter, und um das gewünschte Ergebnis zu erzielen, sind etwa ein Dutzend Services erforderlich. In diesem Fall muss nicht nur zwei oder drei benachbarte Systeme, sondern der gesamte Stream auf Kompatibilität von Änderungen überprüft werden.



Integrationstests garantieren daher keinen fehlerfreien Betrieb mehr. Hier ein Beispiel: Wenn die Entwickler einer mobilen Anwendung eine Version veröffentlichen, wird maximal deren Kompatibilität mit Bitrix (auf dem die Eldorado-Website ausgeführt wird) überprüft. Auf diese Weise können Sie nur die Arbeit des Dienstes selbst bewerten, geben jedoch keine Garantie dafür, dass Bestellungen ausgeführt werden, Waren an Kunden geliefert werden und die Preise für die Ausstellung den Preisen in der Anwendung entsprechen usw.



In der Tat sind komplexe Prozesse die moderne Norm. In M.Video und Eldorado erfordert die Online-Bestellung beispielsweise die Teilnahme von mehr als 20 Systemen. Von Seiten des Kunden sieht alles einfach aus: Der Käufer betritt einfach die mobile Anwendung oder die Website des Online-Shops, wählt das Produkt aus, legt es in den Warenkorb und weist die Lieferung dem nächsten für ihn geeigneten Termin zu. Der Kurier liefert die Ware zum vom Käufer angegebenen Zeitpunkt an die angegebene Adresse.







Um all dies seitens der IT-Services zu ermöglichen, gibt es ein Zusammenspiel von Autorisierungssystemen, Site Engine, Preisberechnungsmodul, Zahlungsgateway, CRM-System, Buchhaltung usw. Um beurteilen zu können, ob Änderungen an einer der Komponenten zu einem „Zusammenbruch“ des Kaufprozesses führen, muss das Zusammenspiel aller Systeme überprüft werden.



- ?



Einerseits hat jedes Team bereits einen eigenen Tester. Und anscheinend kann er an End-to-End-Tests beteiligt sein. Wir haben jedoch aus eigener Erfahrung gesehen, dass dieser Ansatz nicht der effektivste ist. Ein systemübergreifender Test ist per Definition schwierig. Um ihn durchzuführen, müssen Sie von jedem System einen Tester nehmen, ihn anweisen und in Betrieb nehmen.



Nach Abschluss seiner Phase muss Tester N dem Tester N + 1 melden, dass seine Phase abgeschlossen wurde. Jungs sind normalerweise mit ihrem eigenen Geschäft beschäftigt - Funktions- und Integrationstests, und der systemübergreifende Testprozess ist langsam.







Ein echter Fall: Der Tester ging zum Mittagessen, aber als er zurückkam, vergaß er, dass er seine Etappe beenden musste - er hat noch viele andere Arbeiten. Bis er daran erinnert wird, lohnt sich der Prozess.



Wenn wir irgendwann ein Problem finden, stellt sich sofort die Frage: "Auf wessen Seite steht es?" Beispielsweise gibt der Tester N + 1 einen Fehler an den vorherigen Spezialisten zurück. Und der Tester N ist empört: „Was haben unser System und ich damit zu tun?“. Bis die Jungs herausfinden, auf wessen Seite das Problem aufgetreten ist, das sie aufrichtig nicht als „ihr“ betrachten, kann es mehrere Tage dauern. Das Ergebnis sind versäumte Fristen und die Notwendigkeit, den Prozess ständig voranzutreiben.







Um einen solchen Test durchzuführen, müssen Sie schließlich ein Projekt starten, einen Projektmanager anschließen, regelmäßig 20 Personen in einem Raum versammeln (eine für jedes System) und herausfinden, auf welcher Seite das Problem auftritt, wenn Sie den nächsten Schritt ausführen. Dies ist sehr arbeitsintensiv, ineffizient und lenkt die Menschen von der Arbeit ab, die sie zu Recht als ihre Hauptaufgabe betrachten.



Wir haben beschlossen, eine systemübergreifende Testabteilung einzurichten, die nun die gesamten Geschäftsprozesse testet, bevor alle wichtigen Updates für die Produktion veröffentlicht werden.



Eigene Erfahrung - PROMO-Aktionen



Als wir uns dazu entschieden haben, war das Vorhandensein interner Erfahrung in systemübergreifenden Tests ein großes Plus. Bereits 2017 haben wir mit der Implementierung einer neuen End-to-End-Testpraxis begonnen, um Werbekampagnen des Bundes für die Marke M.Video zu unterstützen. Das Unternehmen führt ständig verschiedene Werbeaktionen durch, z. B. "Ihr Preis", "Kaufen Sie einen Fernseher, Sie erhalten ein Geschenk" und so weiter.



Solche Aktionen beinhalten Sonderpreise, das Vorhandensein von Geschenken im Kit und die Ausgabe von Geschenken. Werbeaktionen werden gleichzeitig durchgeführt, kombinieren oder schließen sich in einem bestimmten Kauf aus.







Bei der Abholung fand beispielsweise der Kauf von Werbeartikeln in einem System statt, die Arbeit des Call-Center-Mitarbeiters in einem anderen und der Empfang der Waren im dritten. Infolgedessen konnte der Fernseher ohne Geschenk belassen werden, oder wenn ein anderer Artikel zur Quittung hinzugefügt wurde, wurde der Aktionspreis für die Hauptposition storniert. Offensichtlich könnten Aktualisierungen der Systeme etwas kaputt machen, und wir haben ein kleines Team zusammengestellt, das sich vor dem Start der Bundesaktionen speziell mit End-to-End-Tests der Promo befasste.



Ungefähr ein Jahr später baute dieses Team einen effizienten Arbeitsprozess auf und ging zum fehlerfreien und störungsfreien Betrieb von Bundesförderungen über. Als zusätzlichen Bonus erhielt das Unternehmen Feedback und Berichte über die technische Machbarkeit und Wirksamkeit der gestarteten Werbekampagnen.



Als wir feststellten, dass das Unternehmen bei anderen Projekten einen umfassenden systemübergreifenden Testprozess benötigt, erwies sich diese Erfahrung als sehr nützlich. Die Notwendigkeit einer neuen Art von Tests war zum Zeitpunkt der Vereinigung von M.Video und Eldorado besonders deutlich. Wir haben die Anzahl komplexer und volumetrischer Änderungen erhöht. Es wurde notwendig, Projekte für zwei Marken gleichzeitig durchzuführen. Die Anzahl der Produkte und Back-Office-Systeme, die in einer Änderung enthalten sind, hat 20 überschritten.



Vorteile des neuen Ansatzes



Heute beschäftigt die systemübergreifende Testabteilung drei Testmanager und sechs Tester. In Zukunft planen wir, rund 40 Mitarbeiter dauerhaft für systemübergreifende Tests für M.Video-Eldorado zu beschäftigen.



Die Aufgabe unserer Abteilung besteht darin, End-to-End-Tests durchzuführen und die Fehler zu erkennen, die bei Funktions- und Integrationstests möglicherweise nicht bemerkt wurden, bevor die Änderungen an den Prozessen und Produkten des Unternehmens in die Produktion freigegeben werden. Die Abteilung bewertet die Auswirkungen der Aktualisierung der einzelnen Komponenten auf interne und externe Prozesse. Zu diesem Zweck wurden eine einheitliche Methodik zum Vorbereiten und Ausführen von Tests sowie Regeln für die Interaktion mit internen Testern jedes Entwicklungsteams entwickelt.







Bis Mitte 2021 unterstützt M.Video-Eldorado bereits mehr als 100 Produkte und Back-Office-Systeme / -Dienstleistungen, und dementsprechend sind mehr als 100 Teams an ihrer Entwicklung beteiligt. Jede Woche gibt es immer mehr Softwarekomponenten (schließlich leben wir im Zeitalter der Mikrodienste), und die Änderungen sind nahezu kontinuierlich. Das Unternehmen führt ständig 5-6 Großprojekte durch, die Dutzende von Systemen gleichzeitig betreffen.



Unter solchen Bedingungen ist der Prozess des kontinuierlichen systemübergreifenden Testens erforderlich, da Sie so eine zeitnahe Überprüfung der Interaktion von Diensten durchführen und verhindern können, dass inkompatible Aktualisierungen in das Produkt gelangen.



Wenn wir über bestimmte Indikatoren sprechen, haben wir es geschafft :

  • , -, - end2end 2 ;
  • 15%;
  • 20%;
  • end2end 10%;
  • 50%;
  • , -, Jira








Die Geschichte, wie wir ein Pilotprojekt durchgeführt haben und zu welchen Geschäftsprozessen wir die Testmethode ausgearbeitet haben, verdient einen separaten Text. Daher werden wir im nächsten Beitrag über unseren Weg zu allgegenwärtigen systemübergreifenden Tests sprechen und die vorhandenen Methoden und Kriterien für die erfolgreiche Implementierung von End2end-Tests im Unternehmen teilen, die wir aus eigener Erfahrung entwickelt haben.



PS In unserem Team gibt es einige interessante Stellenangebote . Willkommen zurück!



All Articles