Frage

Welche Maßnahmen nutzen Sie in Ihrer Praxis, um zu wissen, wann es an der Zeit ist, den Test einer Anwendung zu beenden und sie in die Produktion zu überführen?

War es hilfreich?

Lösung

Bei Projekten in meiner Organisation verwende ich typischerweise folgende Maßnahmen:

  • Keine Probleme mit Schweregrad 1 (Showstopper).
  • Keine Probleme mit Schweregrad 2 (Hauptfunktionalität beeinträchtigt).
  • Akzeptable Anzahl von Problemen des Schweregrads 3 (geringfügige Funktionalität).

„Akzeptable Zahl“ ist natürlich eine sehr unsichere Zahl, abhängig von der Größe der Anwendung usw.usw.

Sobald diese Voraussetzungen erfüllt sind, werde ich ein Treffen aller Beteiligten (QA-Leiter, Entwicklungsleiter, App-Support-Leiter usw.) abhalten, die Liste der offenen Probleme durchgehen und sicherstellen, dass Einigkeit über den zugewiesenen Schweregrad besteht offene Fragen.Sobald ich bestätigt habe, dass es keine ausstehenden Probleme mit den Schweregraden 1 und 2 gibt, erhalte ich von allen Beteiligten „Go/No Go“-Anrufe.Wenn alle „Los“ sagen, kann ich problemlos in die Produktion wechseln.Wenn mindestens ein Stakeholder „No Go“ sagt, prüfen wir die Gründe für „No Go“ und ergreifen gegebenenfalls Maßnahmen zur Lösung der dahinter stehenden Probleme.

Bei kleineren Projekten kann der Prozess effizienter sein, und wenn es sich nur um eine Ein-Personen-Operation handelt, sind Ihre Voraussetzungen möglicherweise viel einfacher, d. h.„Die Anwendung bietet einen angemessenen Nutzen, weist aber (anscheinend) eine akzeptable Anzahl an Fehlern auf – veröffentlichen wir sie!“Solange der Nutzen, den die Anwendung bietet, größer ist als die Belästigung durch Fehler, insbesondere wenn Sie die Richtlinie „frühzeitig und häufig veröffentlichen“ befolgen, könnte das für Sie funktionieren.

Andere Tipps

Erstens hört man nie auf zu testen.Wann Du Wenn Sie mit dem Testen fertig sind und Sie es veröffentlichen, bedeutet das nur, dass Ihre Benutzer und nicht Sie testen.

Zweitens: Wenn Ihre umfassenden Testskripte mit einem akzeptablen Maß an Fehlern bestanden werden, können Sie fortfahren.

Schließlich ist dies sehr spezifisch für Ihren Fall.Bei einigen Projekten haben wir eine dreiwöchige Betatestphase, in der viele Leute das System hacken, bevor die kleinsten Änderungen eingeführt werden können.In anderen (weniger kritischen) Bereichen können kleine Änderungen mit nur dem Nicken eines anderen Entwicklers übernommen werden.

Eine interessante Testmethode, die ich schon immer ausprobieren wollte, ist das „Error Seeding“.Die Idee besteht darin, dass jemand absichtlich Fehler in das System einfügt, die in verschiedene Kategorien fallen.

Zum Beispiel:

  • Kosmetische Fehler, Rechtschreibfehler usw
  • Unkritische Fehler
  • Kritische Fehler und Abstürze
  • Datenprobleme.Es treten keine Fehler auf, aber mit den Ergebnissen stimmt etwas tiefer liegendes nicht.
  • usw.

Der „Seeder“ dokumentiert genau, was geändert wurde, um diese Fehler einzufügen, sodass sie schnell behoben werden können.Während das Testteam die gesäten Fehler findet, findet es auch echte Fehler, kennt aber den Unterschied nicht.Wenn das Testteam theoretisch 90 % der gesetzten kritischen Fehler findet, dann hat es wahrscheinlich auch eine entsprechende Anzahl der tatsächlich kritischen Fehler gefunden.

Anhand dieser Statistiken können Sie eine Entscheidung darüber treffen, wann eine Veröffentlichung akzeptabel ist.Natürlich wäre dies nicht annähernd narrensicher, da die Fehler zufällig gefunden werden (echte oder gesäte), aber es ist wahrscheinlich besser, als überhaupt keine Ahnung zu haben, wie viele Fehler Sie möglicherweise veröffentlichen.

An meinem Arbeitsplatz wird manchmal die Metrik verwendet, dass wir ausreichend getestet haben, wenn wir beginnen, alte und nicht gemeldete Fehler zu finden, die in den letzten Versionen unseres Produkts vorhanden waren.Die Idee dahinter ist: Wenn es sich dabei um die Fehler handelt, die wir beim Testen finden, und diese Fehler schon seit Jahren vorhanden sind, ohne dass sich ein Kunde darüber beschwert hat, dann können wir wahrscheinlich sicher versenden.

Natürlich gibt es auch alle manuellen Tests, automatisierten Tests, die Entwickler dazu bringen, das Produkt zu verwenden, Betas und kontinuierliche Tests, aber auch die Anzahl der Fehler, die wir jetzt finden, die in früheren Versionen vorhanden waren, aber nicht gemeldet wurden war für mich eine neue Idee, als ich es zum ersten Mal hörte.

Wenn alle großen Showstopper verschwunden sind.

Im Ernst, Sie sollten einen Benutzerakzeptanztest durchführen und Ihren Benutzern die Nutzung Ihres Systems ermöglichen und herausfinden, ob alles für sie geeignet ist.Wenn dies nicht praktikabel ist, führen Sie eine geschlossene Beta mit ausgewählten Benutzern durch, die Ihrer Zielgruppe ähneln.

Es ist unmöglich, wirklich alle Fehler in Ihrem System zu finden, daher ist es manchmal die einzige wirkliche Regel, dies zu tun Versende es einfach.

mharen,

Ich finde, dass es völlig unverantwortlich ist, Software ohne umfassende automatisierte Tests auszuliefern alle von ihnen gehen vorbei.Automatisierte Tests bedeuten, dass es sich hierbei um Bereiche handelt, bei denen es sich entweder um Kernfunktionen oder um in der Vergangenheit aufgetretene Fehler handelt, die Ihnen bekannt sind und die Sie beheben können, um den Test zu bestehen.Es wäre unverantwortlich, Software auszuliefern, die nicht 100 % ihrer automatisierten Tests besteht.

Jon,

Ich wollte nicht, dass Testskripte implizieren automatisiert testen.Ich bezog mich auf den traditionelleren Ansatz einer Schritt-für-Schritt-Liste, was und wie getestet werden soll.

Allerdings bin ich nicht der Meinung, dass alle automatisierten Tests zum Bestehen erforderlich sein sollten.Es hängt alles vom Schweregrad und der Priorität ab.Bei einem großen Projekt können Entwickler Tests schreiben, die aufgrund von Benutzern gemeldeter Probleme fehlschlagen.Da wir nicht jeden Fehler bei jeder Veröffentlichung beheben können, ist es selbstverständlich, dass einige Tests einfach nicht bestanden werden.

Wenn Sie messen, wie viel Testzeit in das Produkt investiert wird, bevor es zu „Showstoppern“ oder schwerwiegenden Funktionsfehlern kommt, können Sie wissen, dass Sie fast am Ziel sind.In Zeiten, in denen sich das Produkt schnell verändert und neue Funktionen eingeführt werden, stellt ein Testteam häufig fest, dass es sich bei den meisten Fehlern, die es meldet, um schwerwiegende Funktionsfehler handelt.Bei der Bewältigung dieser Probleme treten häufig zahlreiche kleinere Probleme in Bezug auf Passform und Verarbeitung auf, die darauf abzielen, die reibungslose und klare Interaktion zu verbessern.Zusammengenommen machen sie einen großen Unterschied in der Produktqualität aus, aber jeder einzelne ist nicht besonders wichtig.Während diese behoben werden und die Tests fortgesetzt werden, erhalten Sie wahrscheinlich weiterhin Fehlerberichte, da Tester auf Fehlerfälle und ungewöhnliche Nutzungsmuster eingehen.An diesem Punkt kommt es darauf an, wann Sie den Geschäftswert der Veröffentlichung gegenüber dem Risiko unentdeckter Showstopper erkennen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top