Warum das Testen nicht darauf beschränkt ist, Fehler zu finden

(aus dem Tester Story Cycle )

Hallo an alle. Wie Sie vielleicht bemerkt haben, nimmt die Intensität des Starts von Kursen in OTUS jeden Monat zu, und im März gibt es besonders viele davon. Heute wollen wir mit dem Start des Kurses "Automation of Web Testing" zusammenfallen , der Mitte März beginnt. Gute Lektüre.



Ich sehe immer noch viele Tester, die über die Anzahl der gefundenen Fehler und Schwachstellen sprechen, als Maß für den Erfolg des Testens. Kürzlich habe ich einen anderen Standpunkt gesehen, der besagt, dass das Wesentliche tatsächlich in der Qualität der Fehler liegt, aber nicht in ihrer Quantität. Bei dieser Maßnahme lohnt es sich jedoch auch, vorsichtig zu sein. Jetzt werden wir darüber sprechen.

Die Hauptidee ist, dass die Testmethode von der Art der Fehler abhängt, die Sie finden müssen.

Ich habe bereits früher im Gespräch über die Fehlersuche über einige Aspekte des heutigen Themas gesprochen. Ich möchte mich nicht wiederholen, also werde ich versuchen, mich kurz zu fassen. Ich werde meine Gedankenarbeit und in Bezug auf das Team, in dem ich arbeite, formalisieren.

Was mir beim Testen wichtig ist, ist die Auswirkung auf Benutzer, damit sie schneller die richtigen Entscheidungen treffen können. Dazu müssen Sie eine enge Rückkopplungsschleife verwenden, um die Zeit zwischen Entwicklern, die einen Fehler machen und ihn anschließend korrigieren, zu verkürzen. Diese Fehler sind Bereiche, in denen verschiedene Eigenschaften - Verhalten, Leistung, Sicherheit, Benutzerfreundlichkeit usw. - auftreten. - entweder abwesend oder verschlechtert.

Dies wird definitiv nicht an der Anzahl der gefundenen Fehler gemessen, aber die Art des Fehlers spielt eine Rolle. Meine Aufgabe ist es, Fehler zu finden, die die Integrität und Qualität der Entwicklung am meisten gefährden. Dies kann wahrscheinlich auf die „Qualität“ von Fehlern zurückgeführt werden, dh diese Fehler sind umso wichtiger, je mehr sie die Integrität gefährden.

Der Schlüssel zu einer effektiven Fehlerkorrektur besteht meiner Meinung nach darin, diese Fehler so schnell wie möglich zu finden, idealerweise sobald sie auftreten. Obwohl aus meiner Sicht sogar die „Qualität des Fehlers“ weit vom höchsten Maß entfernt ist.

Wir legen so viel Wert auf die Qualität des Fehlers, aber ist es wirklich so, dass ihre Anzahl im Allgemeinen unbedeutend ist?

Tatsächlich ist die Anzahl der Fehler von Bedeutung, wenn Sie sehr darauf fixiert sind, die Zeit für die Suche nach ihnen zu verkürzen. Angenommen, das System weist 10 kritische Fehler auf. Und ich habe sehr schnell zwei gefunden, und es ist wirklich cool! Vor der Einführung des Produkts wurden zwei kritische Fehler festgestellt. Aber ich habe vor dem Einsatz keine anderen gefunden. Dies bedeutet, dass 8 kritische Fehler nicht gefunden wurden. In diesem Fall ist die Anzahl der Fehler ein Schlüsselmaß, auch wenn wir es zu diesem Zeitpunkt nicht verstanden haben.

Es ist wichtig, etwas anders zu denken. Die Anzahl der Fehler oder ihre Qualität ist nicht so wichtig wie die Mechanismen, mit denen sie auftreten, und dementsprechend die Mechanismen für ihre Suche. Es stehen viele Optionen zur Verfügung:

  • Mechanismen, die gut darin sind, Fehler zu finden, aber zu lange funktionieren;
  • Mechanismen, die Fehler schlecht finden, aber sehr schnell funktionieren;
  • Mechanismen, die dazu neigen, Fehler einer bestimmten Art zu bemerken, aber gleichzeitig andere nicht zu sehen;
  • Mechanismen, die bei Testern nicht sehr beliebt sind, aber wirklich funktionieren und sie nicht verwenden, weil niemand im Team über sie Bescheid weiß, weshalb noch gefunden werden muss, was gefunden werden kann.
  • Mechanismen, die gut und schnell funktionieren können und in der Lage sind, viele Fehler zu finden, aber die Reaktion von ihnen ist so verschwommen, dass Menschen aufgrund ihrer Ergebnisse keine Entscheidungen treffen können.

Es ist wichtig, sich auf diese Aspekte zu konzentrieren, nicht weniger als auf andere bekannte, da dies dazu beiträgt, einige traditionell auftretende Probleme zu umgehen. Zum Beispiel diejenigen, bei denen Sie hundert Tests durchgeführt haben, aber keinen einzigen Fehler gefunden haben. Und das mag gut sein, aber nur, wenn es wirklich keine Fehler gibt. Wenn sie jedoch vorhanden sind, ist dies schlecht, wenn die angewandten Testmethoden sie nicht identifizieren können. Oder in der Situation, in der ich eine Reihe von Tests durchführe, finde ich kleinere Fehler, während ich die schwierigeren überspringe.

Mein Team und ich müssen bestimmte Entscheidungen auf der Grundlage der durchgeführten Tests treffen. Dies bedeutet, dass wir glauben müssen, was die Ergebnisse der Tests uns sagen, dementsprechend sollten wir zunächst den in diesen Tests implementierten Erkennungsmethoden vertrauen.

Einige Erkennungsmethoden stammen grob gesagt aus den Tests selbst, aus dem, wonach sie suchen und wie sie suchen. Andere Erkennungsmethoden sollten der Umgebung selbst und der Testbarkeit inhärent sein, die wir definieren, um zu bestimmen, wie wahrscheinlich und im Prinzip möglich ist, dass die Tests einen Fehler verursachen, falls vorhanden.

Am Ende meiner kurzen Gedanken möchte ich darauf hinweisen, dass ich den Erfolg des Testens nicht durch bestimmte Faktoren bestimme. Wenn Sie dies dennoch irgendwie selbst bestimmen möchten, sollten Sie dies nicht anhand der Anzahl der gefundenen Fehler und Schwachstellen und nicht anhand der Qualität dieser Fehler bestimmen, sondern anhand der spezifischen Fähigkeit der Testmechanismen, diese zu erkennen.

Ich stellte fest, dass unerfahrene Tester nach dem Lesen dieser Notiz keinen signifikanten Unterschied zwischen der Idee der Erkennung von Fähigkeiten und den Ergebnissen feststellen, die nach dem Hervorheben dieser Merkmale erzielt wurden. Die Spezialisten sollten sie extrem differenzieren.

In der Lage zu sein, diesen Unterschied zu verstehen und zu formulieren, können Tester über die nutzlosen (nur die Meinung des Autors) Unterschiede zwischen „Verifikation“ und „Testen“ hinausgehen und stattdessen ein konstruktives Verständnis der menschlichen und automatisierten Erkennungsmethoden aufbauen, die dies ermöglichen Tests, um Menschen zu helfen, schneller bessere Entscheidungen zu treffen.

Hier ist so ein scheinbar einfaches, aber sehr nützliches Material. Gemäß der etablierten Tradition warten wir auf Ihre Kommentare und laden Sie zu einem offenen Webinar ein , das am 11. März von Mikhail Samoilov , dem führenden Testautomatisierungstool bei Group-IB, abgehalten wird.

Source: https://habr.com/ru/post/de442832/


All Articles