Was ist die zukünftige Rolle des Testers?

7

Wenn das neue Paradigma "Sie bauen es, Sie führen es aus" (Werner Voegels, Amazon CTO) lautet, das offensichtlich mehr Verantwortung - und Druck - auf Softwareentwickler ausübt, was bringt diese Änderung für die Aufgabe des Testteams?

Peter Muryshkin
quelle

Antworten:

9

IMHO hängt das davon ab, welche Rolle der Tester vor einer solchen Transformation gespielt hat. Übrigens glaube ich, dass meine Antwort für die DevOps-Transformation im Allgemeinen gilt, nicht nur für das You build it, you run itParadigma.

Wenn es sich bei der Rolle um einen Drohnenjob handelte, bei dem Tests sinnlos ausgeführt wurden, muss sie verschwinden. Die Automatisierung wird solche Jobs verschlingen.

Wenn die Rolle das Schreiben der Testpläne und -spezifikationen beinhaltete, könnten sie dies weiterhin tun oder sogar die entsprechenden Automatisierungsskripte Seite an Seite mit den Entwicklern schreiben. Oder eigenständig - in einigen Umgebungen ist es obligatorisch, zum Testen eine völlig andere Methodik / Infrastruktur / Personal als die für die Entwicklung verwendeten zu verwenden. In vielen Organisationen sind Tester Softwareentwickler, genau wie Entwickler.

Wenn die Rolle absichtlich unzuverlässige / überraschende Tests durchführte, bei denen menschliche Merkmale (Emotionen, Subjektivität, Inspiration, Reflexe, Intuition usw.) als Ergänzung zu automatisierten Tests erforderlich waren, ändert sich dies ebenfalls nicht.

Dan Cornilescu
quelle
danke Dan - ich würde gerne mehr über Überraschungstests lesen, wusste nicht, dass es solche im Bereich Software Engineering gibt
Peter Muryshkin
1
@ J.Doe Ich habe kürzlich von dem Konzept gehört, bevor ich solche Tests als unzuverlässig und damit unbrauchbar verworfen habe. Ich betrachtete es jedoch nur als Regressionstest. Aber ich habe mehr darüber nachgedacht und ich glaube, dass es Bereiche gibt, in denen solche Tests für die Entwicklung wirklich nützlich sein könnten - zum Beispiel für Spiele oder andere schwere UX-Apps.
Dan Cornilescu
4

"Sie bauen es, Sie führen es"

Dieses Zitat zielt darauf ab, den Bruch zwischen Siloteams hervorzuheben. Eines der Prinzipien von Devops ist es, zu vermeiden, dass Silos eine Aufgabe erfüllen.
Während sich die Idee hier auf die Build- und Run-Phasen konzentriert, besteht die wichtige Idee darin, ein ganzes Team zusammenzubringen, von der Architektur bis zu den Exploitation- Rollen . Ein "Devops-Team" würde aus allen Rollen bestehen, die am Software-Lebenszyklus teilnehmen, einschließlich der Tester-Rolle, wobei niemand im Team eine einzelne Rolle übernimmt.

Die wichtigste Änderung für einen Tester wäre, zu lernen, seine Meinungen und sein Feedback zur Planphase in einem agilen Team zu äußern und wahrscheinlich an einigen operativen Aufgaben teilzunehmen.

Aber alles in allem gibt es keine genaue Regel, was jemand zuvor in einem Silo in einem "Devops-Team" tun würde, hängt davon ab, woran er / sie mehr interessiert und bequemer ist. Dies ist eine der Herausforderungen eines neu geschaffenen Teams. Ermitteln Sie die besten Fähigkeiten aller, um die Last auf die effizienteste Weise zu teilen.

Tensibai
quelle
Darf ich fragen, ob Sie eine bestimmte DevOps-Teamtopologie hatten, wie hier vorgeschlagen [1], oder alle? web.devopstopologies.com
Peter Muryshkin
1
Nicht alle von ihnen, aber wir haben mehr oder weniger fortgeschrittene Produktteams. Ein Haufen ist in Typ 1, wir haben nicht wirklich Typ 2 (zu viele Produkte für ein zu kleines Ops-Team zuerst). Ich denke, wir haben ein Team auch in Anti-Typ C. Vielen Dank für den Link, es ist eine sehr interessante Lektüre ..
Tensibai
Bitte schön; Bevor sich dieser Inhalt verbreitet - Sie wissen, wie schnell er passieren kann - besteht die Möglichkeit, eine Frage zu formulieren, um diese Topologien über diese Community zu validieren, ohne auf ein Meinungsbild zuzugreifen (z. B. gibt es möglicherweise einen zu optimierenden Wortlaut oder einen anderen Typ fehlt). Etwas wie "Was fehlt in diesen DevOps-Topologien?" ...
Peter Muryshkin
1
Ich befürchte, dass das Fragen nach Meinungen zu etwas, das bereits eine Meinung ist, nichts Wertvolles bringt.
Tensibai
2

Ich bin ein leitender Ingenieur, in dieser Funktion stelle ich ein.

An diesem Punkt in der Entwicklung der Entwickler würde es mir schwer fallen, einen Test einzustellen, der nicht einfach zu einer Rolle als Infrastrukturingenieur wechseln kann (was andere als Devops-Rolle bezeichnen könnten).

Ich würde nicht erwarten, dass ein Tester zum Beispiel die Feinheiten des JVM-Multithreading kennt oder im Python-Klassendesign sehr einfühlsam ist. Ich würde erwarten, dass sie in der Lage sind, die Quelle zu verstehen, aus der sie Stub-Code schreiben oder synthetische Daten generieren können.

Ich würde erwarten, dass ein moderner Tester das grundlegende Arsenal der Entwickler in meinem Team kennt. Dazu gehören: die Bereitstellung von Bare-Metal-Servern mithilfe unserer CM-Tools, die Bereitstellung von Code über verschiedene Artefakte oder Container.

Ich würde außerdem verlangen, dass sie eine gewisse Kapazität als Dateningenieur haben, um zu wissen, wie sich die Daten durch ein System bewegen. Überlegen Sie, wo sich die einzelnen Fehlerquellen befinden und wie Sie Fehler, Drosselung usw. simulieren können.

Ich würde niemals einen Tester einstellen, um Tests auf Modulebene durchzuführen, die ich als Interaktion einer Handvoll Klassen (z. B. 1-20) hinter einer Netzwerkbarriere definieren würde.

Ich würde Tester einstellen, um Umgebungen einzurichten, Daten in dieser Umgebung zu simulieren (oder wiederzugeben) und Chaos in der Umgebung zu verursachen.

Bearrito
quelle