Test Und Abnahme Im IT-Projektmanagement
Test Und Abnahme Im IT-Projektmanagement
Matthias Höschel
25. Januar 2016
1
Inhaltsverzeichnis
1 Motivation 4
2 Einordnung 4
4 Test 9
4.1 Testfall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Testdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3 Testumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5 Abnahme 11
5.1 Abnahme im Sinne des § 640 BGB . . . . . . . . . . . . . . . . . 11
5.2 der Abnahmeprozess . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.3 Rechtliche Folgen . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6 Zusammenfassung 14
7 Literatur 15
2
Zusammenfassung
In dieser wissenschaftlichen Arbeit werden die Teilaspekte Test und
Abnahme innerhalb des IT-Projektmanagements vorgestellt und analy-
siert. Dabei soll sowohl auf die fachlichen Anforderungen der Informatik
als auch auf die juristischen Aspekte eingegangen werden. Die Arbeit ist
wie folgt aufgebaut. Zunächst soll im Abschnitt der Motivation aufgezeigt
werden, warum es notwendig ist, eine Abnahme sowie Tests im allge-
meinen Sinne durchzuführen. Darauf aufbauend wird erläutert, wo Tests
zeitlich bei Projekten einzuordnen sind und wann ein Abnahmetest nor-
malerweise erfolgt. Damit man sowohl beim Testen als auch später bei
der Abnahmeprüfung eine Bewertungsgrundlage hat, soll der gleichnami-
ge Abschnitt wesentliche Aspekte und Begriffe erklären und definieren.
Das Kapitel Test dient dazu ein genaueres Verständnis über den Test-
prozess als solches zu bekommen aber auch die Tragweite für Qualität
und Auseinandersetzungen zwischen Auftraggeber und Auftragnehmer zu
verstehen. Im Anschluss daran wird der eigentliche Abnahmetest und die
dazugehörigen Vorgänge vorgestellt. Konsequenterweise baut der nachfol-
gende Abschnitt darauf auf indem die rechtlichen Auswirkungen dargelegt
werden. Zu guter letzt wird im letzten Kapitel die Thematik diskutiert und
zusammengefasst.
3
1 Motivation
IT-Projekte sind in der Regel sehr komplex und aufwendig [15]. Es arbeiten
daran viele Mitarbeiter und es können bis zu einige Millionen Zeilen Code
für ein System geschrieben werden [16]. Insgesamt ist es selten möglich selbst
bei Anwendung von modernsten Modellierungstechniken sowie automatisierten
Testverfahren, technische Fehler zu vermeiden. Hinzukommt, dass die Ver-
tragsparteien, in der Regel Auftraggeber und Auftragnehmer, selten exakt
die gleichen Vorstellungen haben was die Lösung eines Projekts betrifft [15].
Das es am Ende zu eventuellen Streitigkeiten bezüglich Leistungsversprechen
und Einhaltung gewisser Anforderungen kommen kann, ist unumgänglich.
Aus diesem Grund ist es zwingend notwendig, Richtlinien zu erstellen, die
beiden Seiten dabei helfen, mit etwaigen Problemen fertig zu werden und die
Kommunikation zu vereinfachen. Im engeren Sinne bedeutet dass, festzulegen,
wann eine Leistung vom Auftraggeber akzeptiert werden kann und wann nicht.
Hierfür hat sich der sogenannte Abnahmeprozess etabliert, der schlussendlich
anhand einiger Kriterien dazu dient, das fertige Produkt zu bewerten und
zu akzeptieren. Im Werkvertragsrecht handelt es sich dabei um die Abnahme
[1]. An dieser Stelle soll aber gesagt sein, dass man Fehler und Streitigkeiten
bei IT-Projekten nie ganz vermeiden kann, jedoch durch einen geordnete
Projektentwicklungsstruktur sowie einen von beiden Seiten präparierten
Abnahmeprozess erheblich eindämmen kann [15].
2 Einordnung
Generell sind Test und Abnahme elementare Aspekte innerhalb des IT- Projekt-
managements [8,9]. Der Test des Systems beziehungsweise von Teilkomponenten
ist notwendig, um die ”Korrektheit”des Systems zu prüfen. Wobei Korrektheit
hier nicht im allumfänglichen Sinne gemeint ist sondern auf bestimmte Anforde-
rungen bezogen, die es zu erfüllen gilt. Zudem zieht sich der gesamte Testprozess
meistens durch das gesamte Projekt und spielt sowohl beim Auftragnehmer als
auch beim Auftraggeber eine erhebliche Rolle[9]. Wobei man dennoch zwischen
beiden Testarten unterscheiden muss. Der Test auf Auftragnehmerseite dient
dazu, das System in Teilschritten auf die Funktionalität zu prüfen. Hingegen
bedeutet der Test oder auch Abnahmetest auf Auftraggeberseite, dass nicht nur
die Funktionalität des Systems allgemein überprüft wird, sondern auch dass aus
der Abnahme an sich rechtliche Konsequenzen gebunden sind und die Verant-
wortlichkeiten von einer zu anderen Seite übergehen [1,4]. Zudem findet der
Abnahmetest nur von der Auftraggeberseite statt und ist unter Umständen
endgültig während Testprozesse auf Auftragnehmerseite meistens mehreren Ite-
rationen unterliegen [8,9]. Es ist jedoch grundsätzlich nicht ausgeschlossen, dass
auch die Abnahme selbst mehreren Schritten unterliegt [4]. Ein weiterer wichti-
ger Fakt ist, dass der Test im allgemeinen nicht gesetzlich reglementiert ist, die
Abnahme als solches hingegen schon.
4
Abbildung 1: Eine Darstellung des V-Modells XT [6]
In 1 lässt sich die zeitliche Einordnung von Test und Abnahmetest sehr
gut nachvollziehen. Wie bereits oben erwähnt finden generell System- und
Subsystemtests während der gesamten Projektphase in N Iterationen statt. Die
Abnahme erfolgt kurz vor Beendigung des Projekts und ist auch prinzipiell als n-
stellige Iteration modelliert. Man könnte sich hier z.B. Teilabnahmen vorstellen.
• Sollbeschaffenheit,
eingegangen. Die Aufzählung sollte aber nicht als vollständig angesehen werden,
da es noch mehr Aspekte gibt, mit denen man Produkten nach ihrer Qualität
bewerten kann. Die folgenden Unterkapitel stellen nun die eben genannten
Konzepte genauer vor.
3.1 Sollbeschaffenheit
Die Sollbeschaffenheit definiert ein Produkt danach, ob es ein vom Kunden defi-
niertes erwartetes Ziel erfüllt oder aber allgemein ein Ergebnis das zu erwarten
wäre, wenn keine genauen Angaben gemacht wurden [12]. Die ideale Fall in
Streitfällen ist natürlich der, wenn im Vertrag selbst definiert ist, was zu erwar-
ten sein soll. Meistens ist sich aber der Auftragsgeber zumindest zum Anfang
noch nicht umfänglich im klaren darüber. Deshalb bietet die Sollbeschaffenheit
5
gerade bezüglich eines nicht definierten zu erwartenden Ergebnisses viel Inter-
pretationsspielraum - vor allem dann, wenn sich beide Parteien streiten. Im
rechtlichen Sinne bezieht man sich dabei auf die Definition des Sachmangels im
Allgemeinen in § 434 des BGB [12].
– 1. wenn sie sich für die nach dem Vertrag vorausgesetzte Verwendung
eignet, sonst
– 2. wenn sie sich für die gewöhnliche Verwendung eignet und eine
Beschaffenheit aufweist, die bei Sachen der gleichen Art üblich ist
und die der Käufer nach der Art der Sache erwarten kann.
3.3 Fehler
Ein Fehler innerhalb von IT-Projekten ist genauer bezeichnet meistens ein
Softwarefehler oder eine Anomalie (auch Bug genannt) [7]. Es geht hier ins-
besondere darum, dass die Software nicht die vom Auftraggeber gewünschten
Eigenschaften besitzt und dementsprechend Fehler produziert. Zudem muss
man zwischen tatsächlichen Fehlern und vom Benutzer produzierten unterschei-
den. Beispielsweise kann ein Fehler dadurch entstehen, dass der Programmiere
die Anforderungen nicht richtig umsetzt. Andererseits ist ein Fehler auch dann
gegeben, wenn der Anwender durch unvorsichtige Benutzung beziehungsweise
nicht sachgemäße Benutzung das Programm zum Absturz oder zu Fehlver-
halten jeglicher Art bringt. Oft wird hier auch der Begriff der Fehlerwirkung
6
verwendet, der zum Ausdruck bringen soll, inwieweit das erwartete Ergebnis
eines Programms von dem tatsächlichem abweicht [8].
3.4 Mangel
Der Begriff des Mangels beschreibt im eigentlichen Sinne auch einen Fehler, ist
jedoch die korrekte juristische Bezeichnung die für rechtliche Fragen benutzt
wird. Im folgenden wird die korrekte Definition laut BGB aufgeführt.
Bei IT- Projekten kann man zumeist davon ausgehen, dass Fehler auch
Mängel sind. Deshalb sollten sich die Vertragsparteien schon im Vorfeld
beziehungsweise bei Vertragsbeginn darauf einigen, was genau ein Mangel im
jeweiligen Kontext ist. Hilfreich ist dabei auch, Mängel nach einem bestimmten
Rang beziehungsweise nach Schwere einzustufen. Je genauer diese Einstufung
passiert, desto weniger Unklarheiten entstehen am Ende bei der Übergabe
eines z.B. Softwaresystems. Im nächsten Abschnitt wird exemplarisch solch
eine Kategorisierung aufgezeigt.
3.6 Mangelkategorie
In 2 lässt sich exemplarisch nachvollziehen, was mit einer Kategorisierung von
Mängeln gemeint ist. Es geht vor allem darum, unterscheiden zu können, welche
Mängel kritisch beziehungsweise abnahmeverhindernd sind und welche unkri-
tisch sind. So ist z.B. Mängel A ein kritischer Fehler der das System quasi un-
brauchbar macht,. während B und C unter Umständen nur kleinere Fehlere sind.
Es gibt dabei prinzipiell keine Grenzen für den Detailgrad der Unterscheidung.
Damit aber genauer nachvollziehen kann, was solch eine Kategorie ausmacht,
7
Abbildung 2: Eine Möglichkeit der Kategorisierung von Mängeln
8
4 Test
Ein Test dient in der Regel dazu, ein System oder eine Teilkomponente da-
von nach bestimmten Kriterien zu prüfen [2]. Grundsätzlich ist der Testprozess
innerhalb von IT-Projekten ein elementarer Bestandteil, der sich durch das ge-
samte Projekt zieht. Auch wenn hiermit nicht der eigentliche Abnahmeprozess
gemeint ist, soll hier auf die wesentlichen Aspekte eingegangen werden. Folgende
Phasen innerhalb des Testprozesses sind regelmäßig anzufinden:
• Testplanung,
• Testspezifikation,
• Testdurchführung,
• Testprotokollierung,
• Testauswertung,
• Testende [9].
Da die Testphasen in der Gänze sehr komplex sind und damit den Rahmen dieser
Arbeit sprengen würden, soll im folgenden Unterkapiteln nur auf wesentliche
Elemente eingegangen werden [8]. Dadurch soll der Sachverhalt des Testens
im Allgemeinen und hinsichtlich des Abnahmetests im Speziellen verständlich
gemacht werden.
4.1 Testfall
Wenn man ein System oder eine Komponente davon bezüglich seiner Funktio-
nalität testen möchte, muss man sich ein Szenario überlegen, dass diesen Fall
abdeckt. Man spricht dann auch von einem Testfall [2]. Abbildung 4 zeigt z.B.
eine Tabelle in der zwei Testfälle näher beschrieben sind. Mit solch einer Tabelle
arbeiten dann sowohl die Produzenten eines Produktes während der Projekt-
phase aber insbesondere auch der Auftraggeber bei der Abnahme später.
4.2 Testdaten
Nachdem man sich Testszenarien überlegt hat, ist es notwendig Vorbereitungs-
maßnahmen für den konkreten Testdurchlauf vorzunehmen [9]. Hierfür sind
sogenannte Testdaten die konkreten Werte mit der man Komponenten bzw.
das System prüft. Hier kann man sich z.B. vorstellen, wie ein Internetanbieter
Kundendaten in eine Datenbank einpflegt und das System auf die korrekte
Verarbeitungsweise prüft.
9
Abbildung 4: Eine Darstellung des V-Modells XT [6]
4.3 Testumgebung
Zu guter Letzt muss die Software mit den Testdaten auf einer Testumgebung
getestet werden. Eine Testumgebung kann sowohl der exakten Hardware und
Software im Realeinsatz entsprechen, es gibt aber auch die Möglichkeit das sie
virtuell vorgenommen wird - sprich durch Virtualisierung der Realumgebung.
Das Problem beim Abweichen von der im Realeinsatz verwendeten Hardwa-
re und Software ist, dass das bestellte Systems im Realbetrieb nicht fehlerfrei
läuft[8]. Hier sollten beide Vertragspartner am besten schon im Vorfeld klären,
welche Anforderungen an Tests gestellt werden.
Allgemein ist der Testprozess ein wesentlicher Bestandteil der Softwareentwick-
lung und trägt immens zur Güte bzw. Qualität des Endprodukts bei. Wie wich-
tig der Abnahmeprozess im besonderen ist, soll im nächsten Kapitel erläutert
werden.
10
5 Abnahme
Die Abnahme ist der abschließende Test des Auftraggebers, ob das bestellte
Werk den Anforderungen genügt. Im juristischen Sinne wird auch der Begriff
tatsächliche Übernahme aber auch die Erfüllungstauglichkeit einer Sache ver-
wendet. Weiterhin ist die Abnahme auch eine Erklärung des Auftragsgebers,
das Werk des Auftragsnehmers zu akzeptieren und zu übernehmen und damit
auch bestimmte rechtliche Konsequenzen zu tragen. Des Weiteren ist es auch
möglich, wie bereits in Kapitel 2 erwähnt, die Abnahme in Teileinheiten, sprich
Teilabnahmen zu untergliedern. Bevor die Verfahrensweise der Abnahme und
ein Beispiel genauer erklärt wird, soll jedoch zuerst die formale Definition laut
BGB erklärt werden.
Punkt eins des Gesetzestextes besagt, dass ein Auftraggeber die Abnahme we-
gen kleiner Mängel in der Regel nicht verweigern darf. Da die Art und Größe des
Mangels aber vom Kontext des Projektes und dessen Zielvorstellungen abhängig
ist, unterliegt dies einem gewissem Interpretationsspielraum. Was in einem Pro-
jekt ein kleiner Fehler sein kann, könnte unter Umständen in einem anderen
gravierende Folgen haben. Deshalb ist es meistens sinnvoll am Anfang des Pro-
jekts zu klären, welche Mängel kritisch sind und welche nicht. In Abschnitt 3
wurde auf diesen Sachverhalt genauer eingegangen. Weiterhin kann aber die Ab-
nahme verweigert werden, wenn die Beschaffenheit des Werkes eben erhebliche
Mängel aufweist. Sollte ein Auftraggeber die Abnahme ohne Gründe verweigern
oder aber diese ewig hinauszögern, so ist dies nicht zulässig. In diesem Fall kann
der Auftragnehmer z.B. eine angemessene Frist zur Abnahme ansetzen. Wenn
der Auftraggeber diese Frist nicht einhält so gilt die Annahme als fiktiv.
Der zweite Aspekt besagt, dass ein Auftraggeber Forderungen bezüglich
Mängeln nur dann stellen kann, wenn er eben diese bei der Abnahme erwähnt
und sich diesbezüglich Rechte vorbehält und dies ausdrücklich erklärt. Das be-
deutet im Umkehrschluss, dass wenn der Auftraggeber aus welchem Grund auch
immer bestimmte Mängel nicht erkennt, dann kann er auch vorerst keine Rechte
diesbezüglich einfordern. Das liegt daran, dass mit der Abnahme mehr oder we-
11
Abbildung 5: Dies ist ein Abnahmeprozess der sich in Teilabnahmen unterglie-
dert [13]
niger dem Ergebnis des Werkes zugestimmt wird und somit als Hinnahme eben
möglicher Fehler, die nicht erkannt wurden.
In 5 ist z.B. die Abnahme für ein Netzwerkprojekt dargestellt. Es ist hier eindeu-
tig erkennbar, dass die Abnahme in Teilabnahmen aufgeteilt wurde. Die erste
Teilabnahme erfolgt für Systemkomponenten, die durch den Hersteller geliefert
werden und dann vom Kunden getestet werden. Sollten die Komponenten den
Tests standhalten so wird das Systems installiert. Nun prüft der Auftraggeber
wiederum, ob das System die gewünschten Eigenschaften aufweist. Sollte der
Test wieder erfolgreich sein, so wird beginnt die Endabnahme, das System kom-
plett im Netzwerk testet. Erst wenn diese Prüfung abgeschlossen ist, ist die
Abnahme komplett. Welche Folgen eine solche Abnahme hat, soll im folgenden
Abschnitt erklärt werden.
12
5.3 Rechtliche Folgen
Die Abnahme im Sinne des § 640 BGB ist nur für Werkverträge gültig und
hat für beide Vertragsseiten nicht unerhebliche rechtliche Konsequenzen [1].
Die nachgehende Auflistung stellt die hauptsächlichen Merkmale einer Abnah-
me und den Verantwortungswechsel zwischen Auftraggeber und Auftragnehmer
beziehungsweise Produzent und Besteller dar [4].
Punkt 1 besagt, dass mit der Abnahme, sofern noch fällig, die Vergütung statt-
findet und der Auftraggeber das Werk zu bezahlen bzw. zu verzinsen hat [1,4].
Es sei an dieser Stelle erwähnt, dass es auch die stillschweigende Abnahme gibt,
die praktisch mit der vollständigen Bezahlung des Werkes einher geht [4]. Punkt
2 besagt, dass der Besteller ab der Abnahme für das Werk verantwortlich ist
[1,4]. Sollte z.B. der Besteller einen seiner Mitarbeiter an der Software des Wer-
kes arbeiten lassen, so trägt dieser die Verantwortung an der Verschlechterung
des Produkts und nicht der Hersteller [4]. In Punkt 3 geht es darum, dass bei
der Abnahme explizit die Mängel und die Vorbehalte diesbezüglich vom Kunden
schriftlich dokumentiert werden müssen. Um Umkehrschluss und in Bezug auf
Kapitel 5 verliert er jegliche Ansprüche an Mängel, die er zwar zum Zeitpunkt
der Abnahme kannte, aber nicht schriftlich dokumentiert hat [4,5]. Generell ist
es so, dass wenn der Kunde nach der Abnahme Fehler bzw. Mängel findet,
die Beweislast nun auf seiner Seite liegt, nachzuweisen, dass diese schon vorher
vorhanden waren. Dieser Aspekt wird durch Punkt 4 abgedeckt [1,4]. Punkt
5 sagt nur aus, dass ab dem Zeitpunkt der Abnahme, die Verjährungsfrist für
Mängelansprüche zu laufen beginnt. In Punkt 6 wird verdeutlicht, dass zudem
jegliche Ansprüche auf vorher ausgesprochene und durch den Produzenten ver-
wirkten Vertragsstrafen erlöschen [2,4,5]. Sollte also innerhalb der Abnahme
kein Vermerk diesbezüglich gemacht worden sein, so verliert der Auftraggeber
jegliche Ansprüche. Als letztes besagt Punkt 7 lediglich, dass im nach der Ab-
nahme der Vertrag nicht mehr kündbar ist. Im Vorfeld ist das unter Einhaltung
der Leistungen noch möglich.
Alles in allem lässt sich sagen, dass sich die einzelnen Aspekte je nach Pro-
jekt unterschiedlich schwierig und problematisch gestalten. Wie sich das auf
IT-Projekte generell auswirkt, soll im nächsten Abschnitt subsumiert werden.
13
6 Zusammenfassung
Aufgrund der Komplexität von IT-Projekten, der Organisationsaufwand und die
unterschiedlichen Ansichten der Mitarbeiter innerhalb des Projektes aber auch
der Vertragsseiten werden Projekte vermutlich nie fehlerfrei ablaufen. Deshalb
ist ganz besonders wichtig, dem Test des Systems und dem Abnahmetest be-
sondere Aufmerksamkeit zu schenken. Es ist insbesondere für den Auftraggeber
(Kunden) wichtig, schon zu Projektbeginn so klar wie möglich die Zielvorstel-
lungen niederzuschreiben und dem Auftragnehmer alle wichtigen Details zu of-
fenbaren [1,5]. Darüber hinaus ist es aber auch Aufgabe des Auftragnehmers sein
eigenen Fragen, Ansichten und vor allem sein Verständnis von der Problematik
dem Kunden deutlich darzulegen. Konsequenterweise hängt der Projekterfolg
auch insgesamt von permanenter Kommunikation, Korrespondenz sowie Feed-
back beider Seiten ab. Die rechtlichen Definitionen laut § 640 BGB und die des
Sachmangels § 434 BGB können dabei helfen, Unklarheiten zu minimieren und
sich auf eine gemeinsame Bewertungsbasis zu einigen. Zusätzlich dazu lassen
sich Zielvorstellungen und Mängel vertraglich noch genauer formulieren, was in
beiderseitigem Interesse zu mehr Erfolg führen kann. Nichts desto trotz wird es
abhängig von der Wichtigkeit des Projekts und natürlich der finanziellen Be-
lastung immer zu Streitigkeiten kommen können und auch die wohl definierten
Regelungen im BGB unterliegen Interpretationsspielräumen [15]. Zusammenge-
fasst lassen sich daher die folgenden Daumenregeln festhalten, die beiden Ver-
tragsparteien helfen [15]:
• Je klarer die Zielvorstellungen -¿ desto weniger Missverständnisse,
• Je mehr Tests das Systems durchläuft -¿ desto besser wird die Qualität
des Endprodukts,
• Je größer ein Projekt ist -¿ desto mehr Teilabnahmen sollten erfolgen.
Diese Hinweise sollten aber nicht als Allheilmittel verstanden werden sondern
nur als Hilfe zur Bewerkstelligung eines Projekts. Abschließend lässt sich sagen,
dass die aktuelle Fassungen zur Abnahme im BGB sinnvoll und notwendig sind
und ohne diese Streitigkeiten sicherlich noch schlimmer ausfallen würden, als sie
es sowieso schon tun.
14
7 Literatur
[1] BGB Kommentar, Äbnahme”, http://bgb.kommentar.de/Buch-
2/Abschnitt-8/Titel-9/Untertitel-1/Abnahme, 24.1.2016.
[6] MSDN Library, Ïntegrierte ALM Unterstützung für V-Modell Projekte auf
Basis des Microsoft Team Foundation Servers”, https://msdn.microsoft.com/de-
de/library/cc431190.aspx, 24.1.2016.
15
[15] Computerwoche, ”Gescheiterte IT-Projekte”,
http://www.computerwoche.de/a/gescheiterte-it-projekte,2546218, 25.1.2016.
[16] t3n, ”Von Windows bis Facebook: So viele Codezeilen stecken in bekannten
Software-Projekten [Infografik]”, http://t3n.de/news/codezeilen-facebook-
windows-software-546933/, 25.1.2016.
16