10 Stimmen

Wie bringt man jemanden zum Testen?

OK. Unser Produkt funktioniert. Die Beta-Tester erledigen tatsächlich ihre Arbeit. Zeit für die nächste Iteration. Aber wie stellen wir die Qualität sicher? Wir brauchen einen Tester!

Wie bringe ich jemanden, der frisch von der Straße kommt, dazu, mit dem Testen zu beginnen? Ich habe keine Ahnung, wie ich es selbst machen soll (ich bin Entwickler, kein Tester)!

Wir sind ein kleines Team:

  • 2 Architekten (in Bezug auf Gebäude, nicht auf Software, sie sind hier die Fachleute), die herausfinden was zu bauen
  • ich baue es
  • und einen neuen Mitarbeiter, der einige Tests durchführt, bevor wir Veröffentlichungen herausgeben

Keiner von uns hat eine Ahnung, wie man das professionell macht. Bis jetzt haben wir das:

  • eine Reihe von virtuellen Maschinen mit den Konfigurationen, die wir testen möchten
    • verschiedene Versionen von Windows
    • Deutsch und Englisch, die beiden Sprachen, die von unseren Kunden am häufigsten verwendet werden
    • die Host-Software, für die wir schreiben (Autodesk Revit Architecture 2010, wir erstellen ein Plugin für Energieberechnungen)
  • ein Textdokument, in dem ich einige Tests beschrieben habe (installierte Version xyz, tat dies, tat das, usw.)
  • ein Fehlerverfolgungssystem, in das der Tester alle von ihm gefundenen Fehler eintragen kann

Ich denke, wir brauchen ein Testskript. Aber wie? Für wen? was? Wann?

8voto

Edan Maor Punkte 9446

Warum suchen Sie "jemanden von der Straße"? Für mich klingt das wie die Frage: "Ich möchte einen neuen Programmierer einstellen. Wie kann ich jemanden von der Straße holen und ihn in die Programmierung meiner Software einweisen?". Warum sollten Sie das tun, anstatt jemanden einzustellen, der bereits ein Programmierer ist?

In Ihrer Situation, in der Sie nicht viel über das Testen wissen, würde ich definitiv Überlegen Sie, ob Sie jemanden mit Erfahrung in diesem Bereich einstellen wollen.

Konkret würde ich wahrscheinlich nach etwas suchen:

  1. Jemand, der bereits Erfahrung mit der Durchführung von Tests hat (denn Sie wollen ja, dass er tatsächlich Tests durchführt).
  2. Jemand mit Erfahrung im Schreiben von Testplänen usw.
  3. Jemand mit einiger Erfahrung in der Leitung eines QA-Teams.

Der letzte Punkt ist optional, aber hoffentlich wird Ihr Team mit dem Wachstum Ihrer Software wachsen, so dass es sinnvoll sein könnte, jemanden zu finden, der auch in dieser Rolle wachsen kann (ganz abgesehen davon, dass er die Erfahrung hat, Ihnen bei der Entscheidung zu helfen, wann und wie das QA-Team wachsen soll).

2voto

Makach Punkte 7140

Möchten Sie Ihr Team um einen Tester erweitern? Haben Sie in Erwägung gezogen, einfach einen Testspezialisten von einer Beratungsfirma einzustellen?

2voto

JamesH Punkte 413

Bevor Sie jemanden mit der Prüfung beauftragen, sollten Sie sicherstellen, dass Sie die Voraussetzungen für die Prüfung erfüllen. Sie benötigen mindestens:

Eine Spezifikation: Eine maßgebliche Quelle, die angibt, was die Anwendung tun soll. Das kann ein Experte sein, der alle Fragen dazu beantworten kann, was genau die Anwendung tun soll, aber je mehr davon niedergeschrieben und je formaler sie definiert ist, desto besser.

Zeit: Testen braucht Zeit. Sie können eine Anwendung nicht 30 Minuten vor der Inbetriebnahme an den Tester übergeben und erwarten, dass die Ergebnisse stimmen. Wenn Sie nach dem Wasserfallprinzip entwickeln, wird das Testen am Ende sehr viel Zeit in Anspruch nehmen. Bei vielen anderen Entwicklungsmodellen läuft das Testen parallel zur Entwicklung, was viel Zeit spart, aber unabhängig von dem von Ihnen verwendeten Modell erfordert das Testen mehr Zeit als das Nichttesten.

Wenn man diese beiden Dinge nicht hat, ist die Qualitätssicherung nur ein Wunschtraum.

Wenn Sie diese Voraussetzungen erfüllen und jemanden zum Testen ausbilden wollen, finden Sie hier meinen Crashkurs zum Thema Testen.

Im Grunde genommen bedeutet das Testen einer Anwendung, dass Sie versuchen, zwei Dinge sicherzustellen:

  • Das Programm tut, was es tun soll.

  • Das Programm tut nicht, was es nicht tun soll.

Das ist die Grundeinstellung, die ich vertrete. Darauf aufbauend gehe ich die Dinge handlungsorientiert an und versuche, sie zu überprüfen:

  1. Eine erwartete Handlung mit erwarteten Vorbedingungen führt zu einer erwarteten Wirkung.
  2. Eine erwartete Aktion mit unerwarteten Vorbedingungen hat keine Wirkung oder wird angemessen behandelt.
  3. Eine unerwartete Aktion hat keine Auswirkungen oder wird angemessen behandelt.
  4. Es treten keine unerwarteten Wirkungen auf.

Punkt 1 stammt direkt aus der Spezifikation: Sie stellen sicher, dass das Programm tut, was es tun soll.

Bei den Punkten 2 und 3 kommt die Kunst des Testens ins Spiel. Welche unerwarteten Aktionen und Vorbedingungen kann ich durchführen? Ich könnte versuchen, ein falsches Passwort einzugeben. Ich könnte versuchen, die URL einer vermeintlich sicheren Seite direkt einzugeben. Ich könnte versuchen, seltsame Unicode-Zeichen in ein Textfeld einzufügen. Ich könnte versuchen, SQL- oder Javascript-Code in ein Textfeld einzugeben.

Punkt 4 ist das unendliche Niemandsland der Prüfung, der Teil, der eine vollständige Prüfung unmöglich macht. (2 und 3 sind ebenfalls unendlich, aber nicht so deprimierend.) Das bedeutet nicht, dass Sie es ignorieren. Sie halten immer ein Auge auf alles Ungewöhnliche. Manchmal hat man auch eine Eingebung und überlegt, wie man einen unerwarteten Effekt hervorrufen kann: "Was passiert, wenn ich mich am dritten Dienstag des Monats zwischen 23:59:59PM und 12:00:00AM einlogge? Oh, sieh mal, ich bin jetzt Administrator." Technisches Wissen und ein Blick in die Blackbox helfen dabei, sich solche Szenarien auszudenken.

Es gäbe noch viel mehr über die Prüfung zu sagen, aber das ist das Mindeste, was mir einfällt: Die technischen Anforderungen und die Herangehensweise an das Problem.

1voto

b.roth Punkte 9147

Im Idealfall müssen Sie dem Prüfer etwas geben:

  • Ausbildung um sicherzustellen, dass er das zu prüfende Produkt kennt.
  • Dokumentation was die erwarteten Ergebnisse sind.
  • Testpläne - was und wie getestet werden muss
  • a Testverfolgungssystem um zu verfolgen, was getestet wird, was die Tests bestanden hat, was korrigiert werden muss, usw. Dieses System muss nicht allzu ausgeklügelt sein, je nach Größe des Projekts kann auch eine Excel-Tabelle ausreichen.

0voto

Steen Punkte 6037

In ihrem podcast #64 besprechen Jeff und Joel (unter anderem), welche Fähigkeiten ein guter Tester haben sollte. Abschrift auch verfügbar (etwa in der Mitte der Seite)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X