2013-04-11 12 views
6

Ich bin etwas verwirrt über den wirklichen Unterschied zwischen Systemtests und Akzeptanztests. Wenn ich dieses Thema durchsuche, unterscheiden sich die Antworten und ich sehe nicht, wie die Testfälle sehr unterschiedlich sein können.Systemtest vs Akzeptanztest - Unterschied in Testfällen

Fakten Ich habe entdeckt:

Systemtests auf dem gesamten System durchgeführt und wird vom Lieferanten durchgeführt. Systemtests sind End-to-End-Tests, bei denen Sie komplette Abläufe im System (von der Anmeldung bis zur Abmeldung) basierend auf den Anforderungsspezifikationen (sowohl funktional als auch nicht funktional) testen.

Die Abnahmeprüfung wird vom Kunden durchgeführt, um sicherzustellen, dass die Kundenanforderungen erfüllt werden. Dies ist auch ein kompletter Ablauf und basiert auf der Anforderungsspezifikation. JEDOCH wurde das System, das gebaut wurde, basierend auf der Anforderungsspezifikation entworfen und die Erscheinung/Verwendbarkeit wird üblicherweise bereits in den früheren Phasen des Entwicklungszyklus akzeptiert. Wenn das System die Anforderungsspezifikation abdeckt, sollte es dem Kunden nicht möglich sein zu sagen: "Dies ist nicht das, was wir wollten, wiederholen dies und das", es sei denn, der Vertrag erlaubt dies und der Kunde zahlt pro Stunde.

Also meine Frage ist im Grunde, wie würden die Testfälle für diese beiden Testphasen abweichen? Beide sind End-to-End-Tests und konzentrieren sich darauf, dass es sich um ein funktionales System handelt und es die Spezifikation erfüllt, was in gewissem Maße auch die Geschäftsanforderungen ist (da es das ist, was sie bestellt haben). Es scheint so, als könnten die Testfälle aus dem Systemtest in Akzeptanztests wiederverwendet werden, da beide komplette Flüsse abdecken?

Antwort

3

Akzeptanztests durch den Kunden sollten keine formellen Testfälle haben. Es geht darum, dass der Kunde das System so verwendet, wie es geplant war und zu sehen, wo sein Verständnis davon, wie es funktionieren würde, zu dem passt, was es tatsächlich tut. Testfälle beschränken die Akzeptanzprüfung, da typischerweise die daraus hervorgegangenen Dinge wie "X ist großartig, aber können Sie auch Y hinzufügen" und "Wir sagten, Feld Z sollte eine Ganzzahl sein, aber tatsächlich müssen wir Text dort auch einfügen".

+5

Ich stimme nicht zu. Akzeptanztests sollten auf jeden Fall einen formalen Testfall haben, ansonsten geben Sie dem Kunden eine Karte "Raus aus dem Schreiben dumme Anforderungen frei". –

+0

Ich denke, dass die Basis jedes Vertrags zwischen einem Kunden und einem Lieferanten die Anforderungsspezifikation ist. Wenn der Kunde eine Ad-hoc-Akzeptanzprüfung durchführt und das System, das diese Spezifikation verwendet, nicht als Basis testet und das System annimmt, hat er keine gesetzliche Forderung, danach zu kommen und zu sagen, hey, Sie haben dies verpasst. Sowohl der Kunde als auch der Lieferant sollten überprüfen, ob die Anforderungen erfüllt sind. –

+0

Es stimmt, es kann nicht schaden, den Kunden zu bitten, die Spezifikation zu überprüfen. Es klingt ein wenig wie "wir denken, dass es das ist, was Sie wollten, bitte bestätigen Sie, dass wir es implementiert haben" und nicht ein offeneres "tut das System, was Sie wollten?" –

7

Die kurze Antwort lautet:

Systemtests Aufgeführt von Entwicklern und/oder QS, um sicherzustellen, dass das System tut, was es entworfen wurde, zu tun. Dies kann automatisch geschehen, indem man beispielsweise Selenium (für eine Web-App) verwendet. Der Zweck dafür ist Qualitätssicherung, und viele Organisationen kümmern sich nicht darum.

Akzeptanztest Wird von Kunden und/oder Managern durchgeführt, um sicherzustellen, dass das System das tut, was es sollte. Es gilt allgemein als das Ende der vertraglichen Verpflichtung des Entwicklers, die Software zu reparieren.

Der Unterschied ist, dass ein Systemtest in der Regel Dinge testet, die der Kunde nicht wirklich interessiert, Dinge wie "Sind Datenbankverbindungen in der richtigen Reihenfolge festgeschrieben". Akzeptanztests konzentrieren sich normalerweise auf Dinge wie "Wie ist das subjektive Benutzererlebnis".

2

Beide Arten von Tests werden für das gesamte System/Anwendung ausgeführt. Es ist sehr gut möglich, dass sich viele der Tests überschneiden.

Ein Systemtest wird häufig von einem unabhängigen QA-Team in einer produktionsähnlichen Umgebung ausgeführt. Dies ist möglicherweise das erste Mal, dass alle Komponenten zusammen getestet werden.

Akzeptanztests werden häufig entweder in derselben Umgebung oder in einer ähnlichen (auch produktionsähnlichen) Umgebung ausgeführt, aber die Zusammensetzung des Teams besteht oft aus einer Teilmenge der tatsächlichen Benutzer des Systems. Eine Überzeugung ist, dass Benutzer Szenarien, Defekte und Verhaltensweisen erkennen, die ein normaler Tester übersehen würde. Außerdem kann dies den Benutzern ein gewisses Maß an Komfort bieten, bevor sie in der Produktion bereitgestellt werden.

Wenn Sie mit einem V-Modell arbeiten, entspricht der Systemtest dem Design auf Systemebene, und die Akzeptanztests entsprechen den Geschäftsanforderungen.