Veröffentlicht am 29-03-2019

Entwickler und Tester: Zwei Teile desselben Puzzles

Zu Beginn meiner Karriere, als die Leute mich fragten, was ich mache, habe ich immer geantwortet: "Ich bin ein Software-Tester". Nicht-technische Leute dachten normalerweise, ich meinte Softwareentwickler. Ich würde erklären, was ein Software-Tester macht und was er von einem Software-Entwickler unterscheidet, und dann das Gespräch fortsetzen. Aber nach einigen dieser Begegnungen begann ich zu fragen, warum mehr Leute nichts über die Testseite des Software-Engineerings wissen. Testen und Entwickeln sollte immer Hand in Hand gehen, und ich erkläre Ihnen, warum.

Entwickeln und Testen sollte sich definitiv nicht so anfühlen!

1. Entwickler und Tester haben ein gemeinsames Ziel

Denken Sie an jede Softwareanwendung, mit der Sie interagieren. Sie erwarten, dass es einfach funktioniert, oder? Eine Anwendung "nur funktionieren" zu machen, ist das gemeinsame Ziel sowohl für Software-Tester als auch für Entwickler. Dem Endbenutzer ist es egal, wer die Tests durchgeführt hat und wer die eigentliche Entwicklung durchgeführt hat. Sie kümmern sich nur um die Qualität des Endprodukts. Diese Perspektive muss im gesamten Entwicklungsteam geteilt werden. Einige Entwickler, mit denen ich interagiert habe, schreiben den Code, ohne ihn zu testen, oder überlassen den Test dem Qualitätssicherungsteam (QA). Wenn das Hauptziel die Herstellung eines qualitativ hochwertigen Softwareprodukts ist, ist es sinnvoll, dass auch Entwickler Tests durchführen. Ebenso müssen Tester oder die Qualitätssicherung in die tatsächliche Produktentwicklung einbezogen werden. Auf diese Weise können Tester die Vision kennenlernen, die die Entwickler von ihrem Code haben, und sie können Entwickler bei Verbesserungsbedarf unterstützen.

2. Unterschiedliche Denkweisen, dasselbe Ziel

Einer der Hauptunterschiede zwischen Entwicklern und Testern ist die Denkweise, die sie beim Erstellen von Software haben. Ein Entwickler möchte das bestmögliche Produkt bauen, während ein Tester herausfinden möchte, auf welche Weise das Produkt bereits kaputt ist. Auch wenn diese Gesichtspunkte entgegengesetzt zu sein scheinen, sind sie nur unterschiedliche Wege, um das gleiche Problem zu lösen - wie man Qualitätssoftware erstellt, die „einfach funktioniert“. Verschiedene Denkweisen, die an einem Problem arbeiten, bieten unterschiedliche Perspektiven, wie dieses Problem gelöst werden kann, was für alle von Vorteil ist. Der größte Teil der Reibung zwischen Entwicklern und Testern liegt in dieser unterschiedlichen Denkweise. Einem Entwickler kann zum Beispiel vorkommen, dass ein Tester, der Fehler findet, die Veröffentlichung des Produkts nur verzögert, aber es ist besser, dass der Tester den Fehler findet, bevor ein Kunde dies tut! Wenn sowohl Tester als auch Entwickler sich daran erinnern, dass sie auf ein gemeinsames Ziel hinarbeiten und lernen, trotz dieser unterschiedlichen Denkweise zusammenzuarbeiten, ist das Softwareprodukt viel besser.

3. Jeder ist produktiver, wenn Entwickler und Tester eng zusammenarbeiten

Als ich bei Achievers als QA / Tester anfing, saß ich mit den anderen QS / Testpersonen in der Ecke des Büros. Im Laufe der Zeit stellte ich fest, dass ich lieber mit den Entwicklern zusammen saß, mit denen ich zusammenarbeitete, da dies die Kommunikation erleichterte. Ich konnte mich an einen der Entwickler wenden und über Fehler oder Mängel sprechen, die ich während des Tests gefunden hatte, was mich in meinem Job effektiver machte. Während dieses Beispiel eine enge Zusammenarbeit im wörtlichen Sinn demonstriert, meine ich dies auch im übertragenen Sinne. Im mobilen Team von Achievers versuchen wir, die Testverantwortung auf alle zu verteilen (d. H. Schichtprüfung links - früher im Entwicklungszyklus). Aufgrund meiner früheren Testerfahrungen konnte ich Entwickler darin trainieren, ihren Code besser zu testen, und es hat den Prozess des Wechselns von Tests vereinfacht. Dies ist nur eines von vielen Beispielen, wie Entwickler und Tester in enger Zusammenarbeit dazu beitragen, dass beide Seiten produktiver arbeiten.

Obwohl ich kein offizieller QA / Tester mehr bin (ich bin jetzt ein iOS-Entwickler), glaube ich immer noch, dass Testen und Entwickeln immer Hand in Hand gehen sollten. Schon jetzt wechsle ich beim Abschluß meiner Arbeit oft zwischen meinen Test- und Entwicklungsfähigkeiten. Das gemeinsame Ziel, großartige Software zu schaffen, die „einfach funktioniert“, sollte Tester und Entwickler vereinheitlichen, nicht aber sie teilen. Auch wenn Tester und Entwickler beim Angehen eines Problems möglicherweise unterschiedliche Denkweisen haben, bietet dies unterschiedliche Perspektiven, wie das Problem angegangen werden kann. Dies führt letztendlich zur besten Lösung. Schließlich gibt es greifbare Vorteile, wenn Entwickler und Tester eng zusammenarbeiten, wodurch das gemeinsame Ziel der Erstellung großartiger Software leichter erreicht werden kann.

Das Rätsel der Erstellung großartiger Software ist zwar schwierig, aber Testen und Entwickeln sind die wesentlichen Teile dieses Puzzles, die immer zusammenpassen sollten. Sobald dies geschehen ist, ist das fertige Puzzle ein Anblick.

Siehe auch

Auf Facebooks VielfaltDrohnen liefern Blut im Pilotprogramm des North Carolina-KrankenhausesWie sieht eine Minute im Internet 2019 aus?Auf Killer Apps und auf KooperationSo werden Sie 2019 zu einem erfolgreichen RecruiterWelttag der Sicherung 2019