Wie kann man jemanden zum Testen bringen?

8

OK. Unser Produkt funktioniert. Betatester bekommen ihre Sachen tatsächlich erledigt. Zeit für die nächste Iteration. Aber wie sichert man Qualität? Wir brauchen einen Tester!

Wie bekomme ich jemanden frisch von der Straße in den Test gestartet? Ich habe keine Ahnung, wie ich es selbst machen soll (ich bin ein Entwickler, kein Tester)!

Wir sind ein kleines Team:

  • 2 Architekten (wie in Gebäuden, nicht Software, sie sind die Domänenexperten hier) herauszufinden, was zu bauen
  • ich baue es
  • und ein neuer Typ, der ein paar Tests macht, bevor wir Releases veröffentlichen

Keiner von uns weiß, wie man das professionell macht. Bisher haben wir:

  • eine Reihe virtueller Maschinen, die die Konfigurationen überspannen, die wir testen möchten
    • verschiedene Versionen von Windows
    • Deutsch und Englisch, die beiden Sprachen werden wahrscheinlich von unseren Kunden verwendet
    • die Hostsoftware, für die wir schreiben (Autodesk Revit Architecture 2010, wir erstellen ein Plugin für Energieberechnungen)
  • ein Textdokument, das einige Tests beschreibt, die ich gemacht habe (installierte Version xyz, tat dies, tat das, etc.)
  • ein Bug-Tracking-System der Tester kann alle Fehler hinzufügen, die er findet

Ich erwarte, dass wir ein Testskript brauchen. Aber wie? Wer? Was? Wann?

    
Daren Thomas 03.02.2010, 10:15
quelle

5 Antworten

6

Warum suchst du "jemanden von der Straße"? Für mich hört es sich so an, als würde ich fragen: "Ich möchte einen neuen Programmierer einstellen, wie bringe ich jemanden von der Straße und erhalte ihn dazu, meine Software zu programmieren?". Warum sollten Sie das tun, indem Sie jemanden einstellen, der bereits Programmierer ist?

In Ihrer Situation, in der Sie nicht viel über das Testen wissen, würde ich definitiv darüber nachdenken, jemanden mit Erfahrung in diesem Bereich einzustellen.

Genauer würde ich wahrscheinlich suchen:

  1. Jemand mit etwas Erfahrung bei der Durchführung von Tests (da Sie wollen, dass er tatsächlich Tests macht).
  2. Jemand mit etwas Erfahrung beim Schreiben von Testplänen / etc.
  3. Jemand mit Erfahrung in der Leitung eines QA-Teams.

Der letzte Punkt ist optional, aber hoffentlich wird Ihr Team wachsen, wenn Ihre Software wächst. Es kann also sinnvoll sein, jemanden zu finden, der auch in der Rolle wachsen kann (ganz zu schweigen von der Erfahrung, die Ihnen bei der Entscheidung hilft) wie man das QA-Team wachsen lässt).

    
Edan Maor 03.02.2010, 10:22
quelle
2

Nun, wollen Sie Ihr Team mit einem Tester erweitern? Haben Sie darüber nachgedacht, einen Testspezialisten von einem Beratungsunternehmen zu beauftragen?

    
Makach 03.02.2010 10:21
quelle
2

Bevor Sie jemanden zum Testen anfordern, stellen Sie sicher, dass Sie die Testanforderungen erfüllen. Zumindest brauchen Sie:

Eine Spezifikation: Eine autorisierende Quelle zu dem, was die Anwendung tun soll. Dies könnte ein Experte sein, der alle Fragen zu genau dem beantworten kann, was die App tun soll, aber je mehr das aufgeschrieben wird und je formeller definiert, desto besser.

Zeit: Testen braucht Zeit. Sie können eine Anwendung nicht 30 Minuten vor dem eigentlichen Start an den Tester übergeben und erwarten, dass sich wertvolle Ergebnisse ergeben. Wenn Sie eine Wasserfallentwicklung durchführen, wird das Testen am Ende viel Zeit erfordern. Viele andere Entwicklungsmodelle lassen das Testen parallel zur Entwicklung ablaufen, was viel Zeit spart. Unabhängig vom verwendeten Modell wird das Testen jedoch mehr Zeit in Anspruch nehmen als das Testen.

Wenn Sie diese beiden Dinge nicht haben, ist Qualitätssicherung nur ein Wunschtraum.

Wenn Sie sich jetzt treffen und versuchen, jemanden zum Testen zu schulen, hier ist mein Crash-Kurs zum Testen.

Grundsätzlich 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 verwende. Darauf aufbauend gehe ich auf Aktionen ein und versuche zu überprüfen:

  1. Eine erwartete Aktion mit erwarteten Vorbedingungen erzeugt einen erwarteten Effekt.
  2. Eine erwartete Aktion mit unerwarteten Vorbedingungen erzeugt keine Wirkung oder wird entsprechend behandelt.
  3. Eine unerwartete Aktion erzeugt keine Wirkung oder wird entsprechend behandelt.
  4. Es treten keine unerwarteten Effekte auf.

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

In den Punkten 2 und 3 kommt die Kunst des Testens ins Spiel. Welche unerwarteten Aktionen und Voraussetzungen kann ich ausführen? Ich könnte versuchen, das falsche Passwort einzugeben. Ich könnte versuchen, die URL einer angeblich gesicherten Seite direkt einzugeben. Ich könnte versuchen, ungerade Unicode-Zeichen in ein Textfeld einzufügen. Ich könnte versuchen, SQL- oder Javascript-Code in ein Textfeld zu schreiben.

Punkt 4 ist das unendliche Niemandsland des Testens, der Teil, der vollständige Tests unmöglich macht. (2 und 3 sind ebenfalls unendlich, aber nicht so deprimierend, um darüber nachzudenken.) Das bedeutet nicht, dass Sie es ignorieren. Sie halten immer nach etwas Ungewöhnlichem Ausschau. Manchmal kommt es auch zur Inspiration und Sie denken an einen möglichen unerwarteten Effekt: "Was passiert, wenn ich mich am dritten Dienstag des Monats zwischen 23:59:59 Uhr und 12:00 Uhr morgens melde? ich ein Administrator. " Technisches Wissen und ein Blick in die Blackbox helfen dabei, solche Szenarien zu entwickeln.

Es gibt eine ganze Menge mehr zu testen, aber das ist das absolute Minimum, das ich mir vorstellen kann: Die technischen Anforderungen und die Herangehensweise an das Problem.

    
JamesH 03.02.2010 20:23
quelle
1

Idealerweise müssen Sie dem Tester Folgendes geben:

  • Training um sicherzustellen, dass er das zu testende Produkt kennt.
  • Dokumentation zu den erwarteten Ergebnissen.
  • Testpläne - was getestet werden muss und wie
  • ein Test-Tracking-System , um zu verfolgen, was getestet wird, was die Tests bestanden hat, was zu beheben ist usw. Dieses System muss nicht zu hoch entwickelt sein, abhängig von der Größe des Systems Projekt kann eine Excel-Tabelle genügen.
b.roth 03.02.2010 10:25
quelle
0

In ihrem Podcast # 64 diskutieren Jeff und Joel (unter anderem), welche Fähigkeiten a guter Tester sollte besitzen. Abschrift auch verfügbar (etwa auf halber Seite)

    
Steen 03.02.2010 11:16
quelle