Wer ist ein systemübergreifender Tester und warum sollte er nicht „agil“ sein?





Die agile Methodik führt ihre eigenen Regeln in den Softwaretestprozess ein, und jedes Team entwickelt, testet und implementiert seine Dienste unabhängig voneinander. In komplexen Systemen ist jedoch eine zusätzliche Teststufe erforderlich, wenn die koordinierte Arbeit von Dutzenden von Diensten zur Unterstützung des Geschäftsprozesses erforderlich ist. Aus diesem Grund haben wir bei M.Video - Eldorado eine spezielle Abteilung für systemübergreifende Tests eingerichtet. Lesen Sie hier, wie es entstanden ist, was systemübergreifende Tester tun und wie Testprozesse organisiert sind.



In einem früheren Beitrag ( tyk ) haben wir bereits darüber gesprochen, warum systemübergreifende Tests für unser Unternehmen wichtig sind. Heute werden wir uns darauf konzentrieren, wie unsere Spezialisten arbeiten, und über die Methodik dieses Prozesses sprechen.



Vier Pilotprojekte



Um einen typischen Ansatz für systemübergreifende Tests zu entwickeln, mussten wir Informationen sammeln und Interaktionen zwischen Systemen verfolgen. Es war nicht einfach, sich diesem Thema zu nähern, deshalb entschieden wir uns, nicht allein mit ihr zu sein, und wandten uns an den Auftragnehmer.



Gemeinsam haben wir unseren "Schmerz" umrissen und sind zu dem Schluss gekommen, dass unser Unternehmen spezialisierte Tester haben sollte, die systemübergreifende Tests durchführen, sowie Testmanager, die solche Projekte überwachen. Ihre Arbeit wird durch systemübergreifende Analysten ergänzt, die bereits in der Entwurfsphase die Interaktion zwischen Systemen überwachen und eine Wissensbasis über die Beziehungen zwischen verschiedenen Komponenten von Geschäftsprozessen erstellen.



Um diese Arbeit zu etablieren, wurde beschlossen, eine Reihe von Pilotprojekten zu starten. Das erste war ein Projekt, bei dem Werbeaktionen getestet wurden, die unsere Kollegen regelmäßig testeten. Mit diesem Pilotprojekt konnten wir mit dem Aufbau der Wissensbasis der Abteilung beginnen (137 Seiten Richtlinien wurden in Confluence erstellt), und die Mitarbeiter begannen, mit Standardanweisungen zu arbeiten - was bedeutet, dass sie austauschbarer wurden.







Das zweite Pilotprojekt wurde vollständig auf der Grundlage und dem Vorbild der neuen Einheit organisiert. Wir haben den Prozess der Generierung digitaler Produktcodes getestet. Das Projekt namens Digital Content 2.0 dauerte 5 Monate. Es betraf 15 Systeme und 114 Testfälle wurden für die Implementierung entwickelt. Während dieses Pilotprojekts kamen wir auf die Notwendigkeit einer zentralen Verwaltung von Testumgebungen und Projektstammdaten und stellten ein Team von Spezialisten zusammen, um die Arbeit aller Teams in der Testumgebung zu unterstützen.







Das dritte Pilotprojekt von MarketPlace wurde völlig unabhängig und ohne Beteiligung eines Auftragnehmers durchgeführt. Unser Team testete 15 Systeme, deren gemeinsame Arbeit es uns ermöglichte, Waren vom Warenmarkt auf der M.Video-Website zu verkaufen. Weitere 209 Testfälle wurden entwickelt, aber am wichtigsten ist, dass wir eine gemeinsame allgemeine Vorlage für den systemübergreifenden Testprozess erstellt haben, die für neue Projekte verwendet werden kann.



Während MarketPlace haben wir begonnen, Testfälle in Jira auszuführen und Berichte und Statistiken in einer praktischen Form zu sammeln.







Im Verlauf dieses Projekts, im Frühjahr 2020, wurde die Arbeit der gesamten Abteilung auf einen entfernten Arbeitsplan übertragen, und es wurde deutlich, dass zusätzliche Materialien erforderlich waren, um Tester auszubilden, die in einem Abstand voneinander arbeiten, und wir begannen damit bilden eine Basis für Trainingsvideos.



Der vierte Pilot, nach dem unsere Arbeit auf eine neue Qualität übergegangen ist, testet die mobile Eldorado-Anwendung. Das Testen unter dem Namen Eldo Mobile wurde zu einem Produkttest - das heißt, sein Kunde war nicht der Projet Manager, sondern der Product Owner. Obwohl wir in der dreimonatigen Pilotphase nur 16 verwandte Systeme getestet haben, ermöglichte der neue Ansatz die Planung systemübergreifender Tests für jede neue Version der mobilen Anwendung.



Die Arbeit der systemübergreifenden Testabteilung heute



Heute fungiert die systemübergreifende Testabteilung als interner QS-Dienstleister für Produkt- und Prozessverantwortliche. Wir erhalten Bewerbungen von verschiedenen Abteilungen, und Testmanager erstellen einen Zeitplan und verteilen Testaufgaben. Die Planung erfolgt einmal pro Woche - große und kleine Aufgaben werden unter Berücksichtigung ihrer Arbeitsbelastung und Erfahrung zwischen Testmanagern und Testern verteilt.







Wenn ein komplexer Prozess getestet wird, kann der Tester die ganze Woche an demselben Projekt arbeiten. In anderen Fällen gelingt es dem Spezialisten, zwei oder drei Aufgaben von verschiedenen Kunden zu lösen. Manchmal arbeitet ein Tester mit zwei Testmanagern gleichzeitig zusammen, die seine Zeit nach einem dynamischen digitalen Zeitplan verteilen.



Eine vorgefertigte Methodik beinhaltet das Arbeiten mit typischen Testfällen. Dank dessen kann eine Person leicht von einer Aufgabe zur anderen gewechselt werden. In unserer Arbeit ist dies häufig erforderlich, insbesondere wenn plötzlich etwas zu "brennen" beginnt. Bei anderen Projekten können Sie die Frist aufgrund der Frist geringfügig verschieben.



Damit unsere Abteilung mit Testern aus Produktteams interagieren kann, entwickeln wir auch klare Vorschriften für die Ausführung von Testfällen: Kriterien für den Beginn und das Ende des Tests, Zeit und Reihenfolge der Aufgaben, eine Liste der für jede Phase verantwortlichen Personen usw.



Tatsächlich bieten wir heute etablierten agilen Teams systemübergreifende Testmethoden an. Dieser Ansatz ermöglicht es uns, ständige Genehmigungen zu vermeiden und Tests innerhalb eines klaren Zeitrahmens durchzuführen.



Qualitäten eines systemübergreifenden Testers



Selbst wenn sich die gesamte Entwicklung im agilen Rhythmus befindet, bleiben systemübergreifende Tests von Natur aus projektbasiert, mit allen sich daraus ergebenden Anforderungen an die Planung und Neuzuweisung von Ressourcen sowohl in jedem Team als auch innerhalb der gesamten Gruppe.



Der Punkt ist, dass sich das Arbeitsumfeld für systemübergreifende Tester und Testmanager ständig ändert. Beispielsweise haben wir kürzlich Aufgaben zum systemübergreifenden Testen eines Chatbots sowie zum Unterzeichnen von Verträgen für nichtkommerzielle Einkäufe erhalten. Um diese Aufgaben zu erledigen, müssen Tester einem neuen Bereich beitreten und die Funktionen und Merkmale bisher unbekannter Systeme verstehen.



In solchen Projekten sehen wir eine Schulungsphase für Tester vor, die von einer Woche bis zu einem Monat reichen kann. Gleichzeitig müssen die Mitarbeiter in der Lage sein, sich schnell auf neue Themen einzulassen, mit Analysten aus verschiedenen Teams zu kommunizieren und ihre Zeit effektiv zu verwalten.



Aber auch ohne dies gibt es eine Menge Unsicherheiten in der Arbeit der Einheit. Testmanager können den Tag mit einem Plan beginnen und ihn bis zur Mittagszeit drastisch ändern. Alle Kunden haben unterschiedliche Fristen und unterschiedliche Prioritäten für Aufgaben. Jedes System kann plötzlich offline gehen und eine Neuzuweisung von Ressourcen erfordern.



Schließlich kann die Testumgebung überfordert sein. Daher müssen Testmanager selbst starke PMs sein und können die Planung buchstäblich im laufenden Betrieb abwickeln.



Produkttest



Nach Abschluss unserer Pilotprojekte hat das Unternehmen einen klaren Kurs für Produkttests festgelegt. Ich muss sagen, dass dieser Ansatz das funktionsübergreifende Testen erleichtert, da einige der Testaufgaben im Produktteam verbleiben.



Wir legen im Voraus fest, zu welchem ​​Zeitpunkt und warum sich das funktionsübergreifende Testteam mit dem Prozess verbindet und ordnen die Ressourcen der Tester klar zu.



In diesem Sinne sind Produkttests einfacher zu planen, da sie entsprechend den Entwicklungswellen planmäßig verlaufen. Wenn wir eine neue Version erhalten, fragen wir das Team, was überprüft werden muss, passen die Testfälle an und machen uns an die Arbeit. Gleichzeitig werden jedem Produkt bestimmte systemübergreifende Tester zugewiesen.



Der Vorteil des zentralisierten Ansatzes besteht darin, dass ein Tester mit mehreren Projekten oder Produkten gleichzeitig arbeiten kann. Beispielsweise nimmt eine mobile App regelmäßig 50% der Zeit der zugewiesenen Spezialisten in Anspruch. Die restlichen 50% können sie für das Testen anderer Systeme ausgeben - entsprechend den Aufgaben der Testmanager.



Ergebnisse der neuen Division



Wir haben noch nicht so lange im Paradigma des systemübergreifenden Testens gelebt, aber es ist bereits klar, dass der Zeitpunkt der Tests kürzer geworden ist (manchmal mehrmals) und die Qualität der Tests höher ist.



Ein Team von systemübergreifenden Testern ist für das Unternehmen billiger als die Erweiterung um einen zusätzlichen Tester für Produktteams. Dank eines vorhandenen Kompetenzakkumulationszentrums werden systemübergreifende Tests mit jeder neuen Aufgabe schneller und schneller bestanden. Darüber hinaus haben wir eine Methode zur Eingabe von „unbekannten Projekten“ entwickelt, damit funktionsübergreifende Tests in neue Richtungen schneller gestartet werden können.



Die neue Methodik hat die Arbeit aller Teams transparenter gemacht und die Qualitätssicherung verbessert. Die kontinuierliche Anhäufung von Fachwissen und systemübergreifende Analysen ermöglichen es, immer genauer vorherzusagen, welche Änderungen in einigen Systemen den Betrieb anderer Systeme beeinflussen können.



Die Wissensbasis wächst und wir können bereits heute solche Testfälle übernehmen, die wir vor einigen Monaten ohne zusätzliche Vorbereitung nicht hätten durchführen können. Daher wird die Praxis des systemübergreifenden Testens allmählich zu einem natürlichen Bestandteil des M.Video-Eldorado-Entwicklungsökosystems und der Unternehmenskultur des gesamten Unternehmens.



PS Unser Team erweitert sich. Wir brauchen talentierte Tester . Wenn ja, willkommen an Bord!



All Articles