Auf Quora sind mehrere Versionen dieser Frage aufgetaucht. Der rote Faden ist: 1) In vielen Softwareunternehmen gibt es eine informelle (oder formelle) Hierarchie, in der die Entwickler in der Nahrungskette weiter oben stehen als die Tester. 2) In solchen Unternehmen streben die besten Tester danach, Entwickler zu werden - mehr Status, bessere Bezahlung - und so muss das Testteam ständig neue Talente einarbeiten. 3) Warum ist das so?
Nun, die Art und Weise, wie die Frage formuliert ist - insbesondere die Verwendung des Wortes "Tester" - weist auf die Antwort hin. Testen ist eine äußerst wertvolle Tätigkeit. Der einzelne Tester kann an einem Tag nur eine kleine Menge an Tests durchführen. Obwohl es nicht ausdrücklich gesagt wird, impliziert das Wort "Tester" einen "manuellen Tester", also eine Tätigkeit, die sich oft ziemlich wiederholt.
Wenn jemand feststellt, dass sein Unternehmen Tester nicht schätzt, ist das in Wirklichkeit ein Beispiel dafür, dass Menschen eine Aufgabe erledigen, die eigentlich automatisiert werden sollte.
Schauen wir uns die Arten von Aktivitäten an, die mit Softwaretests verbunden sind:
- Entwurf eines Prüfplans
- Sondierungstests*
- Erstellung von Testfällen und manuelle Ausführung
- Automatisierung von Testfällen
- Messung und Fehlerbehebung
- Optimierung
Die Person, die als "Tester" bezeichnet wird, führt eine Menge manueller Arbeiten aus, die oft jedes Mal gleich ablaufen, wenn der Code geändert werden muss.
Im Gegensatz dazu sehen reife Unternehmen die manuelle Testdurchführung als Teil der Prototyping-Phase des eigentlichen Ziels, der Testautomatisierung. Möglicherweise gibt es nicht einmal jemanden mit dem Titel "Tester", sondern eher einen Software Engineer in Test (SEiT) oder Software Developer in Test (SDiT). Der SEiT/SDiT baut eine komplette Testinfrastruktur auf, die dem zu testenden Produkt zur Seite gestellt wird. Der Job des SEiT ist also eigentlich ein Entwicklungsjob, kein Testjob.
Viele SEiTs wissen mehr über den Produktbereich als die Produktentwickler selbst. SEiTs müssen auch Experten darin sein, wie man ein Produkt effizient und effektiv testet. Und große, komplexe Softwareprodukte erfordern oft eine große, komplexe Testinfrastruktur, so dass der SEiT in der Lage sein muss, ein bedeutendes Softwaresystem zu entwerfen, aufzubauen und zu warten.
Eine andere Art, darüber nachzudenken, ist die der Messung und der Hebelwirkung. In seinem Buch "Hackers and Painters" schreibt Paul Graham, dass man nur dann viel Geld verdienen kann, wenn die Ergebnisse seiner Arbeit messbar sind und man in der Lage ist, mit einer bescheidenen Anzahl von Arbeitsstunden eine Menge Ergebnisse zu erzielen. Ein Tester kann immer nur eine Version testen; ein SEiT erstellt Code, der immer und immer wieder getestet wird, und das mit einer besseren Geschwindigkeit und Wiederholbarkeit als ein Tester.
Aus all diesen Gründen messen reife Softwareteams ihren SEiTs einen sehr hohen Wert bei (Status, Gehalt usw.).
Wenn mich also jemand fragt: "Warum haben Entwickler einen höheren Status als Tester?", lautet meine Antwort: Wenn Sie diese Frage stellen, muss Ihre Organisation wahrscheinlich noch etwas reifen.
(Haftungsausschluss: eInfochips hilft großen Kunden bei SEiT-Initiativen. Wir glauben fest an die Macht der Automatisierung im Softwaretest. Um mehr über unsere SEiT/SDiT-Initiativen zu erfahren, besuchen Sie http://biz.einfochips.com/TDZ-Clearing-Your-Test-Automation oder schreiben Sie uns eine E-Mail an marketing@einfochips.com.