Wie man eine Software Testing Kampagne auf dem Sun Tzu Way gewinnt

In der Regel werden Hunderte von Happy-Path-Testskripten erstellt, die von den Geschäftsanwendern gleichermaßen geschätzt werden, ohne dass ihre Wichtigkeit in Betracht gezogen wird - von der geringsten bis zur geringsten Risikoanalyse oder von traditionellen negativen oder explorativen Tests. Während der Testausführungsphase stellen wir fest, dass nicht alle erstellten Testskripte ausgeführt werden und dass alle erkannten Systemfehler zu spät in den Testplan kommen (sehr oft nach der Auslieferung des Produkts). Das Endergebnis ist, dass Sie mit schlechter Qualität enden oder sich fragen, warum QA-Bemühungen einen niedrigen Wert zurückgegeben haben. Die Mängel, die spät im Testzyklus gemeldet wurden, fangen das gesamte Team unvorbereitet auf, die Probleme zu lösen, und es gibt nicht genug Ressourcen, um mit den Mängeln und dem Zeitmangel fertig zu werden. Kommt diese Geschichte bekannt vor? Haben Sie diesen verhaltensbasierten Ansatz täglich? Finden Sie, dass Sie nach mehr Hilfe fragen, und wenn Sie Verkäufer anstellen, sind sie nicht immer da, um Ihnen zu helfen und Ihr Geld zu nehmen? Lesen Sie weiter! Unser Ziel als Testprofis ist es, System- oder Anwendungsprobleme so schnell wie möglich zu entdecken, damit wir genügend Zeit für die Lösung haben. Wir verfehlen unsere Mission, wenn wir die Mehrheit der Systemdefekte während des Testendes melden, wodurch das obige Muster wiederholt wird. Wir können dieses Muster durch eine gut durchdachte Strategie überwinden, um mit der aktuellen Situation fertig zu werden. Wir können uns an Sun Tzu wenden und eine Lektion anwenden, die wir vor langer Zeit in seiner Arbeit "The Art of War" gelernt haben. "Sich gegen die Niederlage zu schützen, liegt in unseren eigenen Händen." Sun Tzu. Wir betrachten die Arbeit von Sun Tzu als Anwendungs- und Systemtests wie Kriegsführung. Wir müssen Ressourcen koordinieren, um unser Testziel zu erreichen. Software-Tests, wie die Kriegsführung, hängen von Menschen und Werkzeugen ab, ebenso von der effektiven Nutzung von Zeit und Ressourcen. 2. Das Testen von Software basiert auf einigen Annahmen, genau wie die Kriegsführung. 3. In beiden sind parallele Aktivitäten im Gange. Zum Beispiel finden im Krieg mehrere verschiedene Kämpfe gleichzeitig statt; und in ähnlicher Weise treten beim Testen verschiedene Arten des Testens und der Ausführung verschiedener Testfälle oder -szenarien gleichzeitig auf. 4. Führung, die Umwelt, Kommunikationsfähigkeiten und die Unterstützung aller Beteiligten, egal ob Privatpersonen oder Tester, haben großen Einfluss auf den Erfolg. 5. Die Lehren sorgfältiger Vorbereitung sind zu grundlegenden Ansätzen für Militär- und Softwaretests geworden. In diesem Artikel werden wir einige Schlüsselstrategien aus dem Buch Die Kunst des Krieges von Sun Tzu und ihre Beziehung zu Softwaretests aufzeigen. Wir werden versuchen, die Ideen von Sun Tzu in einer Weise auf die Welt des Softwaretestens anzuwenden, nützlich und praktisch. Mit den Prinzipien von Sun Tzu können wir Fehler vermeiden und unsere Testziele erfüllen. Es ist wichtig, System- oder Anwendungsprobleme so schnell wie möglich zu erkennen, damit wir genügend Zeit für die Lösung haben. Dieser Artikel soll Ihnen als Testprofi helfen, die Tür zu einer vernünftigen Teststrategie und -planung zu öffnen, von der wir glauben, dass sie der Schlüssel ist Zum Erfolg. Laut Lionel Giles, dessen Übersetzung von The Art of War, die frei im Internet verfügbar ist, sagte Sun Tzu: 1) "Mit Methode und Disziplin ist das Marshalling der Armee in ihren richtigen Unterteilungen, den Graduierungen, zu verstehen von Rang unter den Offizieren, die Wartung von Straßen, durch die Lieferungen die Armee erreichen können, und die Kontrolle von Militärausgaben. "• In Software-Tests, eine gute Organisation des Teams, ein klares Verständnis der Aufgaben, gut gepflegte Testfälle und Skripte (dh die obige Straßensimulation) und die Kontrolle der Testausgaben sind für eine erfolgreiche Projektdurchführung von entscheidender Bedeutung.2) "Wenn die Umstände günstig sind, sollte man seine Pläne ändern." • Denken Sie beim Softwaretesten daran Schreiben und Erstellen eines Testplans als Handlungsplan. Planung ohne Aktion ist Zeitverschwendung. Wenn Sie ohne Planung handeln, können Sie überall landen. Während die Teststrategien während des Projekts konstant bleiben, muss die Taktik an jede neue Situation angepasst werden. Im Test oder im Krieg erfolgreich zu sein, erfordert gleichzeitige Planung und Aktion. Die erste Test-Planungsphase ist wichtig, aber zu viel Planung kann auch katastrophal sein (agile Entwicklung, direkt aus Sun Tzus Buch entnommen). Jeder Testplan muss so gestaltet sein, dass Änderungen einfach umgesetzt werden können.3) "Alle Kriegsführung basiert auf Täuschung" - interessant und wahr • Beim Testen von Software ist Vorsicht geboten bei der Testautomatisierung, einer üblichen Falle automatisierter Testskripts Stunden ohne etwas zu tun. Der Schlüssel zum Erfolg besteht darin, mit einer begrenzten Anzahl automatisierter Testskripts zu beginnen, die gut konzipiert sind, häufig ausgeführt werden müssen und einfach zu warten sind. Schau dir deinen ROI an und er wird dich zum nächsten Schritt und zum endgültigen Sieg führen.4) "Angriff, wenn der Gegner unvorbereitet ist, tauche dort auf, wo du nicht erwartet wirst." • Beim Softwaretesten solltest du in den anfälligsten Bereichen testen des Systems oder der Anwendung, um Showstopper und Defekte aufzudecken, die zuerst behoben werden müssen. Planen Sie explorative Tests.5) "Militärische Geräte, die zum Sieg führen, dürfen nicht im Voraus bekannt gegeben werden." • Beim Testen von Software sollten Sie als Tester alternative Tools und Methoden zur Vorbereitung auf die Tests verwenden Im Voraus, um als Kontingenz zu verwenden. Wie Sie aus den obigen Beispielen sehen können, haben Krieg und Testen viel gemeinsam, wenn es um Planung und Strategie geht. Lassen Sie Ihr Ziel im Krieg, nicht in langwierigen Kampagnen, und das gilt auch für das Testen von Software. Hier sind einige Konzepte, die Sie bei der Testplanung berücksichtigen sollten, um Zeit zu sparen: • Verbesserung der Kommunikation zwischen Entwicklern und Testern. • Verringern Sie die Anzahl der Zyklen zur Behebung von Fehlern. • Beschreiben Sie den Fehler und die notwendigen Schritte, um ihn zu reproduzieren. • Verwenden Sie verschiedene automatisierte Tools, wo dies möglich ist (dies ist normalerweise sehr effektiv). • Haben Sie einen Notfallplan mit allen verfügbaren alternativen Testmethoden. • Verbessern Sie Zeitmanagement und Führungspraktiken. Lassen Sie uns ein paar Momente mit Zeitmanagement und Führung verbringen. Wenn wir uns auf das Zeitmanagement beziehen, sprechen wir über ein frühes Testen. Finden Sie kritische Probleme schnell, sodass Ihre Entwicklungsteams die Möglichkeit haben, diese Probleme zu lösen, hoffentlich mit dauerhaften Lösungen. Eine schnelle Entscheidungsfindung führt zu einer schnellen Testdurchführung. Überprüfen und optimieren Sie daher möglichst viele Entscheidungspunkte in Ihrem Projekt. Im Allgemeinen müssen Software-Testleiter über fundierte Kenntnisse in Tests und Theorie sowie praktische Testerfahrungen verfügen. Die Testtaktiken beginnen mit der Ausführung und werden während der Testphase geändert. Methodologie ist nur Theorie und es ist Erfahrung, die es Ihnen ermöglicht, Probleme in schwierigen Testsituationen zu lösen. Wir glauben, dass dies eine Schlüsselzutat für den Erfolg ist, die von diesen drei Herren schön ausgedrückt wird: • "Wenn ich einem Minister einen Befehl gebe, überlasse ich es ihm, die Mittel zu finden, um es auszuführen." - Napoleon Bonaparte • "Was du nicht erzwingen kannst, befehlige nicht." - Sophokles • "Sag den Leuten nicht, wie sie etwas tun sollen, sag ihnen, was sie tun sollen und lass sie dich mit ihren Ergebnissen überraschen." - George S. PattonWir hoffen, dass dieser Artikel Ihnen einige grundlegende Grundlagen zum Testen der Planung gegeben hat. Als Zusammenfassung: 1) Nachdem Sie die Schwachstellen in Ihrer Entwicklungsumgebung entdeckt haben, testen Sie zunächst die kritischsten Bereiche des Systems und finden Sie die wichtigsten Probleme schnell. 2) Richte gefährdete Segmente im System oder in der Anwendung aus und teste (attack) dort zuerst. 3) Definieren Sie Testszenarien um wichtige Kundenfunktionen, die Systemalgorithmen auswerten und anschließend testen. 4) Testen Sie an den Grenzen zwischen verschiedenen Systemen oder Anwendungen. Sobald Sie Ihre erste Testreihe abgeschlossen haben, können Sie das Pareto 80/20-Prinzip anwenden, um Ihre Testmission fortzusetzen. Als Testleiter müssen Sie möglicherweise die Taktik ändern, wenn Ihre erste Runde nur sehr wenige Ergebnisse liefert oder Ihren Erwartungen nicht entspricht. Leider halten sich Testmanager zu oft an den ursprünglichen Plan und verbringen wertvolle Testzeit, ohne Systemfehler zu finden. Sei nicht einer von ihnen.SourcesSun Tzu (ca. 544 v. Chr. - ca. 496 v. Chr.) War ein alter chinesischer Militärstratege, Philosoph und Autor von The Art of War, ein einflussreiches Buch über militärische Strategie, das auf militärisches Denken anwendbar ist Taktik und Software-Testen und -Entwicklung. Es funktioniert auch gut als ein allgemeiner Leitfaden für die Lösung einer Vielzahl von Problemen. Im Jahr 1998 übersetzte Gerald Michaelson Sun Tzu die Strategien für die Geschäftswelt in seinem Buch mit dem Titel The Art of War für Manager, eine weitere große Quelle für wertvolle Strategien. Dank Project Gutenberg können Sie Sun Tzus The Art of War jetzt kostenlos herunterladen: http://www.gutenberg.org/files/132/132.txt Über die AutorenJoe Larizza, CSQA, ist der QA-Manager für das CPP Investment Board und hatte zuvor die Positionen als Director, QA für Loblaw Companies Inc. und Senior Manager, QA bei RBC Dexia inne. Er hat auch Support-Management-Rollen bei International Financial Data Services und seinen Schwesterunternehmen inne. Während seiner Karriere hat er eine Reihe strategischer Initiativen ergriffen, darunter die Erweiterung von Testprogrammen und die Etablierung von Teststandards und -verfahren, die Implementierung eines Quality Metrics-Programms, die Evaluierung einer IT-Abteilung gegen das Capability Maturity Model und die Implementierung von Automated Testing Verwenden des Verhaltensmodells und datengesteuerter Skripts. Herr Larizza hat sich einen Ruf für Kompetenz und exzellente Führungsqualitäten im Bereich Qualitätssicherung und Testen von Software erworben. Joe Larizza ist Präsident des Board of Directors der Toronto Association of Software Quality und ehrenamtlich für das Quality Assurance Institute of Canada. Er ist Certified Quality Analyst und hält einen Bachelor of Arts in Wirtschaftswissenschaften sowie den Canadian Securities Course.Alex Samurin, Software Tester und Miteigentümer von Ersasoft (Toronto, Kanada). Er absolvierte die Polytechnische Universität Leningrad (St. Petersburg) und hält den Abschluss eines Bachelor of Science Diploms in Technical Science. Er verfügt über langjährige internationale Erfahrung in den Bereichen Systementwicklung, Informationstechnologie, Qualitätssicherung und Prüfung in verschiedenen Branchen. Für weitere Informationen besuchen Sie bitte seine Website unter http://www.extremesoftwaretesting.com

Published on