Analytics in testing
Agil Automatisierung Bewährte Methoden
16 min lesen
Dezember 7, 2023

Analytik im Test: Tipps von erfahrenen Testern

Ich kann Ihnen gar nicht sagen, wie oft ich gehört habe, dass „Softwaretest-Analytik“ unmöglich oder unnötig ist. Und um ehrlich zu sein, war ich mir nicht ganz sicher, warum dieses Vorurteil über Software-Analytik in der IT-Branche kursierte.

photo
Olga Ryan

Also ging ich in die Communities, um mehr darüber zu erfahren, und einer stellte mir einfach eine Gegenfrage: „Aber was wollen Sie denn analysieren — Produktqualität, Testeffizienz oder etwas anderes?“

Die Frage ist berechtigt, und da wir über Qualitätssicherung sprechen, bin ich davon ausgegangen, dass die Analyse der Produktqualität die beste Option ist, um die Analytik in der Software zu öffnen.

Bugs kosten Geld und Zeit, und sie können sogar Leben kosten, wenn Ihr Produkt nicht sicher genug ist. Denken Sie an die Millionen von Menschen und Infrastrukturen, die durch das Jahr-2000-Problem auch als Millennium-Bug oder Y2K-Bug („Millennium-Fehler“) in Mitleidenschaft gezogen wurden:

„Das war die apokalyptische Begründung für die Y2K-Angst: Die vermeintliche Computerkatastrophe, die Banken und Regierungen lahm legen sollte, wenn die Uhr am 1. Januar 2000 Mitternacht schlug. Heute wissen wir, dass die Menschheit das Jahr 2000 relativ unbeschadet überstanden hat, nachdem sie in den Jahren vor der Jahrtausendwende schätzungsweise 300 bis 600 Milliarden Dollar für die Behebung möglicher Probleme ausgegeben hatte. Dennoch traten einige Probleme auf — einige von denen verursachten echte Kopfschmerzen, während andere für ein wenig Gelächter sorgten.“

Und nun stellen Sie sich vor, wie viel Geld, Zeit und psychische Gesundheit hätten eingespart werden können, wenn man diesen Fehler vor Freigabe der Software gefunden hätte.

Und hier kommt die Analytik ins Spiel: Sie gibt uns eine Vorstellung davon, wie viele Fehler in jedem Teil des Systems vorhanden sind, welche Teile am ehesten Fehler enthalten und sogar wann diese Fehler auftreten könnten.

Denken Sie einmal darüber nach; Wenn Sie wissen, dass es in einem bestimmten Zeitraum jeden Tag um 22.00 Uhr östlicher Zeit drei Abstürze gibt, dann könnten Sie die Wartung vielleicht für 21.30 Uhr östlicher Zeit ansetzen. So gäbe es für Ihre Benutzer keine Ausfallzeiten.

Was ist Analytik in der Softwareprüfung

Wenn Sie sich nicht über die neuesten Trends im Bereich Softwaretests informiert haben, fragen Sie sich vielleicht, was das bedeutet? Das ist eigentlich ganz einfach. Es bedeutet, dass es eine Vielzahl von Informationen darüber gibt, wie Ihre Kunden Ihre Produkte und Dienstleistungen nutzen. Und wenn Sie herausfinden, wie Sie diese Daten sammeln und zur Verbesserung Ihres Testprozesses nutzen können, können Sie Ihre Aufgaben schneller erledigen und gleichzeitig sicherstellen, dass sie richtig ausgeführt werden.

Testanalytik ist die systematische Analyse von Daten, die während der Testphase der Softwareentwicklung erzeugt werden. Sie umfasst das Sammeln, Verarbeiten und Interpretieren verschiedener Metriken und Informationen in Bezug auf Testdurchführung, Fehler, Abdeckung und andere Testparameter.

predictive analytics in QA

Genügend gesammelte Daten können eine unglaubliche Grundlage für die Einbeziehung von prädiktiven Analysen in Ihre Softwareentwicklung bilden. Wenn wir über Predictive Analytics sprechen, habe ich das Bild einer Wahrsagerin im Kopf, die in eine Kristallkugel schaut (oder vielleicht auch nur einen dieser supercoolen Berichte in aqua) und sagt: „Kommt Leute, es gibt sieben Bugs und 10 bevorstehende Ausfallzeiten damit.“

Warum braucht man beim Testen von Software Analytik?

Doch welche Bedeutung hat die Analytik für das Testen von Software? Nachfolgend sind einige der wesentlichen Zwecke aufgeführt, die die Analytik bei Softwaretests erfüllt:

  1. Gewinnung von Einblicken: Analysen bieten Ihnen tiefe Einblicke in die Tests und zeigen Muster, Trends und Anomalien auf, die Ihnen möglicherweise entgehen. Anhand dieser Informationen können Sie nachvollziehen, wie sich die Software unter verschiedenen Bedingungen verhält, und entscheiden, worauf Sie Ihre Bemühungen konzentrieren sollten, um eine maximale Wirkung zu erzielen.
  2. Effizienz und Effektivität: Durch die Analyse von Testmetriken können Sie Ineffizienzen im Testprozess erkennen. Dazu gehören die Optimierung von Testsuiten, die Priorisierung kritischer Testfälle und eine effektivere Ressourcenzuweisung, was zu einem strafferen und effizienteren Testprozess führt.
  3. Qualitätsverbesserung: Auch die Analytik ist für die Sicherung der Softwarequalität von zentraler Bedeutung. Sie können verbesserungsbedürftige Bereiche identifizieren, indem Sie Kennzahlen wie Fehlerdichte, Testabdeckung und Regressionstrends verfolgen. Wenn diese Bereiche proaktiv angegangen werden, führt dies zu qualitativ hochwertigerer Software mit weniger Fehlern.
  4. Risikominderung: Prädiktive Analysen beim Testen ermöglichen es Ihnen, potenzielle Risiken und Probleme auf der Grundlage historischer Daten vorherzusehen. Dieser Ansatz ermöglicht eine frühzeitige Identifizierung und Lösung von Problemen und verringert die Wahrscheinlichkeit, dass kritische Probleme in Ihrem Endprodukt auftreten.
  5. Entscheidungshilfe: Datengestützte Erkenntnisse aus der Analytik helfen Ihnen, fundierte Entscheidungen zu treffen. Ganz gleich, ob es um die Freigabebereitschaft, die Ermittlung kritischer Testpfade oder die Ressourcenzuweisung geht: Mit datengestützten Informationen können Sie bessere Entscheidungen treffen.
  6. Kontinuierliche Verbesserung: Die Analytik fördert eine Kultur der kontinuierlichen Verbesserung. Durch die regelmäßige Analyse von Testdaten können Sie ihre Prozesse, Tools und Strategien verbessern und ihren Testansatz ständig verfeinern.
  7. Kommunikation mit den Interessengruppen: Analysen liefern greifbare Beweise für die Wirksamkeit und den Wert Ihrer Bemühungen. Die Weitergabe dieser Erkenntnisse an die Stakeholder schafft Vertrauen in die Qualität Ihres Produkts und stärkt so die Beziehungen und die Unterstützung für die weitere Entwicklung.

Im Wesentlichen geht es bei der Analyse von Softwaretests darum, Informationen zu nutzen, um Testprozesse zu optimieren, die Softwarequalität zu verbessern, Risiken zu minimieren und letztendlich ein hervorragendes Produkt zu liefern, das die Erwartungen der Benutzer erfüllt. Als Nächstes werden wir Sie durch den Umsetzungsprozess führen, also bleiben Sie dran.

Stärken Sie Ihre QS mit dem fortschrittlichsten Tool auf dem Markt

Testen Sie aqua kostenlos

Da Sie über Daten verfügen, können Sie Probleme auf der Grundlage von Mustern früherer Ereignisse vorhersagen. Im Folgenden finden Sie eine Liste der Vorteile der prädiktiven Analytik bei Softwaretests:

  • Zeitliche Vorwegnahme möglicher künftiger Probleme
  • Antizipation von Erwartungen
  • Höheres Niveau von Software, Qualität und Lieferung von Produkten
  • Sofortige Lösung von Problemen, die noch nicht eingetreten sind
Finish UAT with detailed custom reports

Bildschirmfoto von aquas Bericht

Es ist von entscheidender Bedeutung, eine Art von Hilfe mit einem vorhersehbaren Verfahren zu haben, wenn Sie alle wesentlichen QS-Ziele ohne Schweiß und Zeitverschwendung erreichen wollen.

Tipps für die Analytik bei QS-Tests

Wie wird die Analyse umgesetzt?

Die Implementierung von Analysen in Ihre Testaktivitäten umfasst mehrere wichtige Schritte, die einen strukturierten Ansatz von Ihnen erfordern. Hier erfahren Sie, wie Sie den Einführungsprozess erfolgreich bewältigen:

  1. Ermittlung von Schlüsselkennzahlen für die Testeffizienz (z. B. Testabdeckung, Fehlerdichte, Ausführungszeit).
  2. Auswahl geeigneter Tools zum Sammeln, Speichern und Analysieren von Testdaten (z. B. Testmanagement-Tools, Analysesoftware, kundenspezifische Lösungen).
  3. Definieren Sie Datenerhebungsprozesse und legen Sie fest, welche Daten wie erhoben und wo sie gespeichert werden sollen.
  4. Integrieren Sie die Automatisierung in Datenerfassungsprozesse, um die Informationserfassung durch automatisierte Testausführung und Protokollierungsmechanismen zu optimieren.
  5. Stellen Sie die Genauigkeit und Zuverlässigkeit Ihrer Daten sicher, indem Sie sie anhand des erwarteten Verhaltens validieren und auf Anomalien überprüfen.
  6. Verwenden Sie Analysetools zur Verarbeitung und Analyse der gesammelten Daten. Interpretieren Sie die gewonnenen Erkenntnisse, um Trends, Muster und verbesserungswürdige Bereiche zu ermitteln.
  7. Visualisieren und berichten Sie Ihre Daten in intuitiven Formaten wie Diagrammen, Grafiken oder Dashboards. Erstellen Sie Berichte, die für die Beteiligten leicht verständlich sind und zur Entscheidungsfindung herangezogen werden können.
  8. Verfeinern Sie den Analyseprozess kontinuierlich. Bewerten Sie die Effektivität von Metriken, Werkzeugen und Prozessen und passen Sie diese je nach Projektbedarf an.
  9. Fördern Sie die Zusammenarbeit zwischen den Teammitgliedern in Bezug auf die aus den Analysen gewonnenen Erkenntnisse. Kommunizieren Sie Ergebnisse und Verbesserungsvorschläge im gesamten Team, um eine bessere Entscheidungsfindung und Abstimmung zu ermöglichen.

Mit diesem 9-Schritte-Ansatz sind Sie dem Prozess immer einen Schritt voraus, so dass Datenanalyse und Überwachung für Sie mühelos sind.

Beste Metriken für die Analyse von Softwaretests

Sie fragen sich vielleicht auch, welche Vitalparameter Ihre Software gesund erhalten? Nachstehend finden Sie die Kennzahlen, die Sie für eine bessere Qualitätssicherung verfolgen sollten:

  1. Testabdeckung: Misst den von den Tests abgedeckten Code und stellt die Gründlichkeit sicher.
  2. Defektdichte: Verfolgt die Anzahl der Defekte pro Codeeinheit und hebt Bereiche hervor, die Aufmerksamkeit erfordern.
  3. Testausführungszeit: Gibt die Effizienz bei der Ausführung von Testsuiten und der Optimierung von Testprozessen an.
  4. Pass/Fail-Raten: Zeigt den Prozentsatz der bestandenen oder nicht bestandenen Tests an, was die Stabilität anzeigt.
  5. Mittlere Zeit bis zur Erkennung (MTTD) und Mittlere Zeit bis zur Lösung (MTTR): Misst die Zeit, die benötigt wird, um Fehler zu finden und zu beheben, und spiegelt die Effizienz bei der Lösung von Problemen wider.

Diese Metriken sind Ihr Kompass, an dem Sie Ihre Entscheidungen ausrichten, um sicherzustellen, dass Ihre Software stabil und zuverlässig bleibt.

Wie machen Sie das also? Hier sind fünf Tipps für den Anfang:

1. Beginnen Sie jetzt mit der Datenerfassung!

Egal, ob es sich um etwas so Einfaches wie das Einholen von Kundenfeedback oder das Beobachten von Kennzahlen wie Nutzungs- oder Kundenbindungsraten handelt, beginnen Sie jetzt mit dem Sammeln von Daten. Wenn es an der Zeit ist, diese Erkenntnisse in die Tat umzusetzen (und Vorhersagen darüber zu treffen, wie sich Änderungen auf das Nutzerverhalten auswirken werden), verfügen Sie über reichlich Material, aus dem Sie Schlüsse darüber ziehen können, ob diese Änderungen die gewünschten Ergebnisse erzielt haben oder nicht.

Es hilft den Testerinnen und Testern auch dabei, die Entwicklung der Kunden zu prognostizieren und zu versuchen, die gleichen Schritte zu machen, um Fehler zu finden, die vielleicht versehentlich übersprungen werden.

2. Alle Möglichkeiten ausschöpfen

Vernachlässigen Sie nicht den Einsatz von Tools zur Automatisierung der Datenerfassung, damit Sie nicht Stunden damit verbringen müssen, manuell Informationen aus verschiedenen Quellen zu sammeln, z. B. vom technischen Support, von Projektmanagern, leitenden Testern, Überwachungskameras oder sogar von Ihrem Hausmeister. Warum Hausmeister? Ich werde Ihnen ein Beispiel dafür geben.

In einem Unternehmen kam es um 22 Uhr zu Serverausfällen, nachdem ein neuer Hausmeister eingestellt worden war. Die Entwickler verbrachten so viele Stunden damit, die Ursache des Problems zu finden. Sie mussten sogar ein Audit bei einem Elektriker in Auftrag geben, der aber nichts fand.

Verzweifelt, aber immer noch neugierig, entschlossen sich die Entwickler aus irgendeinem Grund, die Kameras zu überprüfen… und Oh, Gott. Jeden Abend um 22 Uhr steckte der neue Hausmeister den Serverkasten aus, um seinen Staubsauger anzuschließen und die Station zu reinigen.

Es ist also von entscheidender Bedeutung, aktuelle Daten aus ALLEN Quellen zu sammeln — aus Ihrer QS-Management-Software, Ihrem agilen Testmanagement-Tool, Ihren Integrationen und Ihrer Personalabteilung.

3. Daten aus der realen Welt sind der Schlüssel

Verwenden Sie nach Möglichkeit reale Daten (oder geschwärzte Daten), zumindest für einige Ihrer Testdatensätze. Ich spreche nicht von den bereits vorbereiteten Datensätzen, die Sie online finden können. Ich spreche von unordentlichen, realen Daten, die Kunden tatsächlich verwenden. Dies ist von entscheidender Bedeutung, vor allem wenn man bedenkt, wie ein Extraktions-, Transformations- und Lade-Tools funktionieren wird. Um ETL zu testen, brauchen Sie Daten, die nicht immer richtig strukturiert sind. Wenn Sie diese nicht bekommen können, versuchen Sie, Ihre eigenen zu erstellen.

Es ist auch gut für Sie, das Produkt zu verwenden und selbst Datensätze mit Daten zu erstellen, die für Sie sinnvoll sind. Das hilft Ihnen nicht nur, das Produkt und seine Verwendung kennenzulernen, sondern auch, Probleme mit der Darstellung oder Speicherung der Daten zu erkennen. Sie werden sehen können, ob die Ergebnisse, die Sie erhalten, oder die Visualisierungen, die Sie sehen, tatsächlich Sinn machen.

4. Die Ursache behandeln, nicht die Symptome

Um auf die Person vom Anfang des Artikels und seine berechtigte Frage zurückzukommen, möchte ich das Zitat hier wiedergeben:

photo
Kenneth Ruskin Ingenieur für Software-Qualitätssicherung

„Ich habe immer festgestellt, dass die Ursachenanalyse die besten umsetzbaren Informationen liefert.
Führen Sie für jeden Fehler/jedes Problem, der/das während des letzten Entwicklungszyklus gefunden wurde, eine Ursachenanalyse durch. Dann können Sie die Daten auf verschiedene Weise sortieren, um zu verstehen, warum Ihr Team Fehler macht und wo diese am häufigsten auftreten.“

Was bedeutet das für uns? Es mag sich produktiv anfühlen, die einzelnen Symptome zu behandeln, oder es scheint, als sei tatsächlich etwas getan, wenn man eine Masse von Problemen löst. Aber keine dieser Maßnahmen ist von Nutzen, solange man nicht die eigentliche Ursache der Probleme beseitigt hat. Wenn das Problem bestehen bleibt, wird es immer wieder die gleichen Probleme verursachen.

5. Move towards automated testing

Automatisierte Tests können sehr hilfreich sein, um Maschinendaten zu erstellen, die für die Messung neuer Testfälle verwendet werden können. Unter Maschinendaten können Sie Ereignisprotokolle, Parameter von Servern oder andere Datentypen wie Gerätevitaldaten und Software verstehen.

Eine solche Art der Datenanalyse bei Softwaretests schafft eine solide Grundlage für die Analyse. Außerdem können Sie auf der Grundlage dieser Analyse entscheiden, ob Sie Tests durchführen wollen oder nicht. Wenn zum Beispiel einige der Teilsysteme nicht von neuen Änderungen betroffen sind (überprüfen Sie dies zuerst mit Ihren Entwicklern), müssen Sie dort möglicherweise keine Tests durchführen — eine gute Entscheidung, um Zeit und Geld zu sparen.

Schlussfolgerung

Der Quantencomputer von IBM ist in der Lage, Krankheiten und deren Behandlung mit sehr hoher Präzision vorherzusagen:

„Die Forscher entwickelten ein Deep-Learning-Modell, das eine einzige Röntgenaufnahme des Brustkorbs (CXR) als Input verwendet, bekannt als CXR-CVD-Risiko, um das Risiko des Todes durch Herz-Kreislauf-Erkrankungen anhand von 147.497 Röntgenaufnahmen des Brustkorbs von 40.643 Teilnehmern der Prostata-, Lungen-, Darm- und Eierstockkrebs-Screening-Studie vorherzusagen. “

All das wurde durch zwei Dinge möglich: Analytik und KI. Wie Sie dem obigen Zitat entnehmen können, wurden 147.497 Röntgenbilder von 40.643 Teilnehmern analysiert, um ein effizientes Vorhersagemodell zu erstellen, mit dem Krankheiten in früheren Stadien erkannt werden können. Das Gleiche ist mit der Qualitätssicherung möglich.

Wenn Sie über ein so mächtiges Mittel wie die Analytik in der Software verfügen, können Sie Ihre Tests, Ihre Software und Ihr Endprodukt im Allgemeinen erheblich verbessern.

Wenn man erst einmal genügend Daten gesammelt und analysiert hat, ist das eine tolle Sache. Werfen Sie etwas KI hinein, und Sie sind brillant.

Seien Sie unter den Ersten, der neue KI-Funktionen von aqua ausprobiert

Starten Sie eine kostenlose 30-Tage-Testversion
Auf dieser Seite:
Sehen Sie mehr
Beschleunigen Sie Ihre Releases x2 mit aqua
Gratis starten
step
closed icon