Wie definiere ich ein Test-Exit-Kriterium?

Wie kann ein Projektmanager eine Testaufgaben-Leistungsbeschreibung für einen Festpreis-Auftragnehmer spezifizieren?

Ich beauftrage einen Auftragnehmer mit der Durchführung von Tests in meinem Projekt. Alle anderen Arbeiten wie Design, Architektur, Programmierung, Analyse werden im eigenen Haus durchgeführt. Alle Testaktivitäten müssen vom Auftragnehmer durchgeführt werden, einschließlich (falls erforderlich) Testplanung, Testskripte, Testfälle usw.

Wollen Sie damit sagen, dass Sie einen Auftragnehmer mit der Durchführung eines Tests beauftragen und der Vertrag abgeschlossen ist, wenn er wie erwartet geschrieben und ausgeführt wurde?
Ich habe meine Fragen geändert. Der Vertrag muss die gesamten Tests im Projekt durchführen.
Wer schreibt die Testszenarien? Wer erstellt Testdaten/Testfälle?
@Stephan die Frage wird aktualisiert. Alles sollte vom Auftragnehmer durchgeführt werden.

Antworten (3)

Das Problem bei Festpreisen für diese Art von Arbeit besteht darin, festzulegen, wo der Auftragnehmer aufhört: Sie können nicht schreiben „bis alle Tests bestanden sind“, da die Systemqualität außerhalb seiner Verantwortung liegt.

Ein Lastenheft enthält in der Regel den Fokus auf die zu erledigende Arbeit, in diesem Fall müssen Sie es präzisieren

* Test Planning
* Test Development
* Test Execution
* Follow-Up

und allgemeinere Dinge wie Planung, Übergabe, Ort, Ressourcen mit Namen, Zahlungsplan usw.

Testplanung. Kann der Auftragnehmer von einer Liste funktionaler und nicht funktionaler Anforderungen ausgehen? Oder muss er eine Reihe von Testanforderungen erstellen? „Was getestet werden soll“ sollte so klar wie möglich sein, z. B. funktionale Korrektheit, Sicherheit, Benutzerfreundlichkeit, Leistung, Portabilität, Dokumentation … Ebenfalls wichtig ist hier die Abdeckung des Testdesigns : Es mag trivial aussehen, dass dies 100 % ist, aber vielleicht der Kern Prozesse/Funktionen Ihres Systems erfordern mehr Aufmerksamkeit (lesen Sie die Anzahl der Tests, die gegen sie geschrieben wurden) als die einfachen Verwaltungsfunktionen für, ich weiß nicht, das Erstellen von Parametern oder so. Wenn es weniger wichtig ist, können Sie angeben, dass diese Funktionen für diese Testaufgabe nicht berücksichtigt werden.

Testentwicklung. Wie werden die Testszenarien dokumentiert: Haben Sie ein Tool zur Verfügung oder handelt es sich um ein Tabellenkalkulations- oder Textverarbeitungsprogramm? Wenn Sie bereits eine Vorlage zur Verfügung haben (oder der Auftragnehmer), dann fügen Sie sie der SOW hinzu. Wenn der Auftragnehmer einen erstellen muss, sollte ein Überprüfungs- und Abnahmeprozess beschrieben werden. Für alle Tests gilt dasselbe: Wer prüft sie und wie werden sie akzeptiert? Entscheiden Sie über den Detaillierungsgrad: Sollen die Tests auf hohem Niveau sein, sodass eine sachkundige Person die Tests durchführen muss, oder benötigen Sie detaillierte Testverfahren, damit jeder ohne Vorkenntnisse diese Tests durchführen kann?

Wenn automatisiertes Testen erforderlich ist, sollten auch hier die Details der Technik und des Überprüfungsprozesses von Testskripten beschrieben und vereinbart werden.

Schließlich müssen Ihre Leute für das Sammeln von Testdaten diese in irgendeiner Form bereitstellen, damit der Auftragnehmer spezifische Testfälle erstellen kann: Wer steht Ihnen zur Verfügung: Business, Functional Analysts ...

Test Ausführung. Wie viele Testläufe müssen durchgeführt werden? Ein Durchlauf führt jeden Test einmal durch, unabhängig vom Ergebnis. Was passiert, wenn Blockierungsfehler die Durchführung der Tests verhindern? Was darf der Auftragnehmer von der Auflösung erwarten, damit er die Testdurchführung fortsetzen kann (er sollte nicht untätig herumsitzen). Wie werden Fehler gemeldet (ein Tool, ein Fehlerprotokoll in einer Tabelle, ...), welche Informationen müssen in einem Fehlerticket bereitgestellt werden und wie werden sie den technischen Mitarbeitern mitgeteilt? Wenn Sie Scrum betreiben, werden Tests normalerweise als Teil des Sprints entwickelt und (erneut) ausgeführt. In diesem Fall muss die Anzahl der Sprints bestimmt werden.

Nachverfolgen. Berichterstattung wie Testdurchführungsabdeckung, bestandenes Produkt, etc. Vielleicht auch Fehlerstatusberichte, # Fehler pro Anwendungsbereich, ... Teilnahme an wöchentlichen Statusmeetings oder täglichem Stand-up.

Zum Schluss noch etwas anderes:

Planung. Nennen Sie die relevanten Meilensteine ​​des Projekts und wie dieser Auftragnehmer seine Arbeit daran ausrichten sollte. Oder ergänzen Sie die konkreten Meilensteine ​​zur Qualitätssicherung.

Übergabe . Wissenstransfer zwischen Berater und Auftraggeber, damit Sie weitermachen können, wenn der Auftragnehmer gegangen ist.

Menschen. Wer sind die Ressourcen des Auftragnehmers, die die Arbeit erledigen werden? Manchmal senden spezialisierte Testberater ein Senior-Profil für die Testplanung und -entwicklung, aber Junior-Profile (= oft billiger) für die Testdurchführung.

Hoffe, das war nützlich

Schreiben Sie es genau so, wie Sie begonnen haben, die Frage in Ihrem zweiten Absatz detaillierter zu formulieren. Stellen Sie sicher, dass Sie die Iterationen angeben, die das Testen von der ersten Meldung eines Fehlers über die Behebung bis zum erneuten Testen usw. dauert, und geben Sie an, wie Fehler gemeldet werden sollen und welche Informationen der Fehlerbericht enthalten soll.

Sehr gute Kommentare von anderen.

2 Punkte zur Ergänzung:

1) Sie müssen aufpassen, wenn dieselbe Person den Test plant und durchführt. Wenn es um Zeit und Material geht, planen sie möglicherweise zu viele Tests ein. Fixkosten zu wenig.

2) Die Tester können die Qualität des Codes nicht kontrollieren, sodass Sie möglicherweise eine Gebühr pro Zyklus oder pro Fall benötigen. Andernfalls erreichen Sie möglicherweise die Anzahl der vereinbarten Tests, haben aber noch mehr Arbeit vor sich.

2.5) Mittelfristig sollten Sie in Betracht ziehen, eine Testdefinition zu besitzen, wenn nicht sogar die Ausführung. Kurzfristig ist dies möglicherweise nicht machbar.