Was ein Projektmanager über das Testen wissen sollte

    Ich habe 8 Jahre lang getestet. Manuell und automatisiert, als Tester und Testmanager, als Mitarbeiter des Unternehmens und als Vertreter des Outsourcings. Und bei fast allen Projekten stehe ich vor dem gleichen Problem: Projektmanager verstehen nicht, warum sie Tests benötigen.

    Wenn Sie dem durchschnittlichen RM eine einfache Frage stellen: "Warum wird an diesem Projekt getestet?", Lautet die Antwort meistens "Sie sind ein Testmanager, Sie müssen diese Frage beantworten."

    Aber wenn Sie zum Friseur kommen, sagen Sie dem Meister nicht "Sie wissen selbst, was ich brauche"? Und im Supermarkt bitten Sie den Verkäufer nicht, in Ihren Korb zu werfen, was Sie möchtenbrauchst du Sie können konsultieren, Sie können herausfinden, wie Sie können, Fragen Sie nach Optionen, aber die Entscheidung liegt immer bei Ihnen. Was ist der Unterschied zwischen dem Testen? Vielleicht daran, dass zu wenige Projektmanager verstehen, warum sie es brauchen?

    In diesem Artikel werde ich versuchen, die Rolle eines Verkäufers zu spielen, der dem Kunden zeigt: "Was passiert im Allgemeinen?" Viele Dinge werden beschrieben, vielleicht zu detailliert, zu einfach ... Sei nicht böse, ich möchte nur wirklich verstanden werden :)

    Warum sollten Sie irgendwelche Erwartungen an das Testen formulieren?


    Camon! Beim Testen werden alle Arten von Knopfdrucken ausgeführt, sofern dies automatisiert ist. Und so ist klar, welche Ziele! Sie müssen Fehler finden, und je mehr desto besser. Welche anderen Testziele könnten sein?

    Ups ... Basierend auf diesem Ansatz ist dann in allen Unternehmen mit Test alles in Ordnung. Fehler werden gefunden, behoben, überprüft ... Und was ist Testen immer nützlich? Immer sein volles Potenzial entfalten?

    Etwas sagt mir nicht. Was sind dann die Unterschiede zwischen diesen seltenen Fällen, in denen „alles in Ordnung mit dem Testen ist“ und der überwiegenden Mehrheit?

    Ich werde versuchen, eine andere Illustration zu geben. Sie haben noch nie in Ihrem Leben eine Massage gemacht. Du gehst in den Salon (warum geht jeder, warum gehst du nicht?) Und bestellst eine halbstündige Sitzung. Sie haben ein festes Budget und es gibt Anforderungen: "Massage mich." Ein undeutlicher Blick, eine Dame, die undeutlich an Ihren ganz ausgeprägten Schultern bastelt, kein Summen, Sie verlassen den Salon und denken: "Oh, Massage - es ist völliger Müll." Aber Ihre Anforderung "massage me" wurde erfüllt! Vielleicht ist der Punkt die Unrichtigkeit der Anforderung? Hat dein Rücken wehgetan und du möchtest, dass die Schmerzen verschwinden? Oder gab es nicht genug Dehnung? Oder wolltest du Entspannung? Je präziser die Anforderungen sind, desto größer sind die Chancen, dass der Auftragnehmer sie erfüllt. Wenn Sie jedoch nicht formulieren können, was Sie wollen, kann der Darsteller nicht das tun, was benötigt wird, und Sie können das Ergebnis nicht objektiv bewerten.

    Was ist vom Testen zu erwarten?


    Tests sind erforderlich, um die Qualität des Produkts zu verbessern. Na das ist doch klar!

    Ups ... Ein einfaches Beispiel aus der Praxis. Das Testteam findet Fehler rechtzeitig, das Entwicklerteam hat keine Zeit, sie zu beheben, das Produkt kommt immer auf den Markt, Kunden sagen "saugt" ... Was, war der Test schlecht?
    Oder lassen Sie uns umgekehrt. Tester untersuchen das Produkt gründlich, verwenden es im Schwanz und in der Mähne, finden keinen einzigen Fehler, es wird auf den Markt gebracht, die Benutzer sind zufrieden, Mützen fliegen in der Luft, Blumen werden an die Adresse der Entwicklungsfirma geschickt ... Sind die Tester gut gemacht oder nicht?

    Im Allgemeinen gibt es viele Beispiele. Aber das Fazit ist fast immer dasselbe: Qualitätsprüfungen haben keine Wirkung. Genau wie Ihr Haarschnitt Ihren Erfolg nicht beeinträchtigt. "Hey, Friseur, schneide mir die Haare, damit ich die Prüfung bestehe!" Keine Logik, richtig? Beim Testen das Gleiche. Testen liefert Informationen, in einem bestimmten Budget, in einem bestimmten Format, mit einer bestimmten Geschwindigkeit ... Aber Testen beeinträchtigt die Qualität nicht, auch wenn es wirklich so ist.

    Was kann man dann testen?

    Alle unsere Ergebnisse, alle unsere Arbeiten werden durch eine Formel von vier Variablen beschrieben: Testabdeckung, bereitgestellte Informationen, Geschwindigkeit und Budget.

    Schauen wir uns zunächst diese Punkte an und gehen wir dann zu den Formeln selbst über.

    1. Testabdeckung


    Dies ist der Prozentsatz der möglichen Benutzerszenarien, Bedingungen, Einstellungen, Eingabeparameter usw., die von der Testgruppe getestet wurden. Je höher dieser Prozentsatz ist, desto mehr Fehler werden gefunden und desto weniger werden übersehen. Je mehr Fehler behoben werden können, desto besser .

    Darüber hinaus hängen die Testabdeckung und die Anzahl der Tests sowie die für das Testen aufgewendeten Ressourcen sehr indirekt zusammen. Qualifizierte Tester verfügen über ein ganzes Arsenal an Techniken und Werkzeugen, mit denen Sie das "Nicht-Pushable" aktivieren, die Testsuite optimieren und maximale Abdeckung mit einer minimalen Anzahl von Tests bieten können.

    Die Abdeckung kann und sollte gemessen werden: Rückverfolgbarkeitsmatrix, Codeabdeckung, Prozentsatz verpasster Fehler und eine Vielzahl anderer Metriken, die Ihnen dabei helfen.

    2. Informationen zur Verfügung gestellt


    Seit Jahren lebt ein Meme über einen Tester, mit einer Panik in den Augen, die besagt, dass "nichts funktioniert!". Und wenn Sie mich bitten, es näher zu erläutern, antwortet er: „Naja, absolut nichts!“. Vielleicht lieferte er eine gute Testabdeckung, aber leider keine ausreichenden Informationen. Welche Informationen benötigt ein Projekt zum Testen?
    • Qualitativ beschriebene Fehler im Bug Tracker
    • Produktstatistik zur Vorhersage von Releases und zur Entscheidung über Prozesse
    • Qualitätsmetriken für Veröffentlichungsentscheidungen
    • Bewertung des Tests selbst: Welche Abdeckung, was wird überprüft, wie viel Tests sind ausreichend usw.

    Wenn die Testgruppe keine klaren Informationen über das Produkt und das Projekt liefert (und dies ist seine Hauptfunktion!), Ist es sehr schwierig, Entscheidungen zu treffen.

    3. Geschwindigkeit testen


    OK, die Abdeckung ist gut, die Informationen sind klar ... Es ist einfach zu spät. Oder für eine lange Zeit. Oder lang und deshalb spät.
    Sie alle waren offensichtlich mit der Situation konfrontiert: Vor der Veröffentlichung von 3 Tagen ist ein kritischer Fehler aufgetreten. Der Entwickler gerät auf den Kopf, fängt an, das Problem zu beheben, und dann stellt sich heraus, dass dieser Fehler seit sechs Monaten fehlt und tatsächlich viel früher gefunden werden konnte. Und dass dieser Fehler vor 2 Monaten in einer halben Stunde behoben sein würde und jetzt ein halbes Produkt daran gebunden ist, und es eine Woche dauern wird, um herumzuspielen.

    Nur wenige Mitarbeiter analysieren TOC- Projekte , und nur wenige Mitarbeiter stellen fest, dass das Testen die Veröffentlichungen manchmal um ein Vielfaches verlängert. Ersetzen Sie hier den Test durch einen zeitnahen und erhalten Sie die Freigabe doppelt so schnell.

    Dies ist in der Regel unsichtbar und es scheint, dass Fehler die Ursache aller Probleme sind ... Aber manchmal früher zu finden = die Kosten für den gesamten Entwicklungszyklus senken!

    Oder ein anderer Aspekt der Testgeschwindigkeit: die Zeit, die zum Validieren einer Baugruppe benötigt wird. Zum Beispiel bereiten wir uns auf die Veröffentlichung vor. Holen Sie sich RC (Release Candidate). Das Testen benötigt eine Woche, um sicherzustellen, dass es funktioniert, stimmt RM zu, weist eine Woche zu, am fünften Tag gibt es einen kritischen Fehler ... 10 Minuten für die Behebung, und erneut 5 Tage, und am fünften gibt es einen kritischen Fehler ... Konfrontiert? Kommt Ihnen das bekannt vor?

    4. Budget


    Vielleicht ist dies der einfachste Gegenstand von allen. Natürlich ist es relativ. Ist 1000 Rubel viel oder wenig? Es gibt wahrscheinlich viel Brot für einen Laib Brot, vielleicht nicht genug für eine Reise nach Bali. Daher ist das Budget das Geld, das Sie bereit sind zu zahlen, aber nicht für "Tests", sondern für spezifische und nachvollziehbare Ergebnisse dieser Tests.

    Also, wie geht es weiter?


    Und dann das. Um den größtmöglichen Nutzen für das Projekt zu erzielen, müssen Sie genau wissen, was es jetzt benötigt. Um zu wissen, was Sie benötigen, müssen Sie die Indikatoren analysieren, die außerhalb der Norm liegen: Termine, Qualität oder Budget. Erstellen Sie anschließend Ihre einzigartige Formel mit Testanforderungen. Gleichzeitig werden wir ehrlich sein: "Reduzieren Sie die Zeit" oder "Erhöhen Sie die Reichweite" - das sind die gleichen "Massage mich".

    Wir brauchen genaue Indikatoren. Warum? Veränderungen bewerten. Um zu überprüfen, ob sie sich wirklich auf die Leistung des gesamten Projekts auswirken (seien wir ehrlich, Sie brauchen keine Berichterstattung!). Prozess kontrollieren.

    Beachten Sie, ich habe nie "Unit-Tests", "Automatisierung", "Testdesign" usw. gesagt. Alle Aktionen werden nur nach den Ergebnissen bestimmter Ziele in den Prozess eingeführt! Müssen Sie die Testgeschwindigkeit für Baugruppen erhöhen? Wir führen Automatisierung ein. Müssen Sie das Auffinden von Fehlern beschleunigen? Unit-Tests. Berichtsqualität? Moderation von Mängeln. Beim Testen Hunderte von Ansätzen, Tools und Lösungen, die basierend auf Ihren Zielen kombiniert werden können. Aber die Werkzeuge selbst sind zweitrangig.

    Als Tester / Testmanager / Test-Outsourcer werden Sie daher Ihre Ziele erreichen - das ist sein Kopfzerbrechen. Aber niemand besser als ein RM, der auf sein Projekt achtet, wird sagen, was dieses Projekt braucht!

    Jetzt auch beliebt: