Ich darf euch ein bisschen was über Testen heute erzählen.
Kurzer Disclaimer, es gibt eine Veranstaltung, Testen von Softwaresystemen an der Uni, die
behandelt das Ganze nochmal um einiges tiefer.
Kann ich auch persönlich sehr empfehlen.
Also wenn euch das Thema interessiert, könnt ihr gerne mal bei der Veranstaltung vorbeischauen.
Genau, erstmal, was ist eigentlich das Problem?
Na ja, Software ist halt überall in unserem Leben und Software wird aber von Menschen
geschrieben und der Mensch macht halt nur mal Fehler und diese Fehler, die können Auswirkungen
haben und die will man natürlich so einschränken wie möglich.
Beispiel 1 hier, 1999 ist eine Mars-Sonde abgestürzt.
Warum?
Weil einerseits beteiligte Ingenieure Maßeinheit Meter benutzt haben und die anderen Inches.
Das sind Sachen, die kann man vermeiden, wenn man testet.
Auf der rechten Seite, was euch vielleicht persönlich betreffen könnte, bei den BAföG-Sätzen,
da wurden die richtigen Sätze nicht eingepflegt.
Dementsprechend kam dann das Geld nicht bei den Studenten an.
Da geht es teilweise auch um Existenzen.
Ist das nicht eigentlich kein Beispiel für Testen?
Die Änderung hat ja noch kein Test gehabt, oder?
Ja genau, aber hätte die Änderung vielleicht einen Test gehabt, dann wäre es wieder aufgefallen.
Wir werden gleich sehen, Testen ist nicht unbedingt Programmcode schreiben.
Da kommen wir gleich drauf.
Also Gründe fürs Testen.
Ich will Fehler finden.
Ich will verhindern, dass die in eine Produktivversion reinkommen.
Ich will aber auch testen, ob mein System sich so verhält, wie ich es eigentlich möchte,
wie ich es in meinen Anforderungen spezifiziere.
Ich möchte Risiko managen damit.
Ich will aber auch Vertrauen in mein System gewinnen.
Das ist immer ein Aspekt, der ist sehr wichtig, dass die Entwickler selber das Gefühl haben,
ich habe ein System, das ich jetzt weitergeben kann.
Es gibt aber auch noch rechtliche Gründe, zum Beispiel bei Medizinprodukten.
Da ist man gezwungen zu testen.
Da muss man gewisse Auflagen erfüllen, um eine gewisse Qualität sicherstellen zu können.
Das ist der Entwicklerkreislauf, den ihr auch in dieser Vorlesung kennenlernen werdet.
Da ist eben Testen ein Bestandteil der Tätigkeiten, die der Entwickler durchführt.
In der Regel ändert er Code, kompiliert den, bildet den, meistens sind das die gleichen Schritte.
Dann testet er den noch und dann commitet er und pusht es auf sein Repository.
Aber Testen ist eigentlich viel mehr.
Gerade in größeren Projekten gibt es da einen kompletten Prozess dazu.
Das fängt an mit, ich muss planen, für was brauche ich überhaupt Tests?
Da gibt es dann Manager, die Risikomanagement machen und schauen, was ist überhaupt wichtig zu testen.
Manche Teile sind vielleicht nicht so kritisch wie andere.
Ich muss analysieren, wann kann ich aufhören zu testen.
Ich muss die Testergebnisse auch irgendwo festhalten, will die vielleicht für die Nachwelt festhalten
und will natürlich auch im Laufe dieses Prozesses lernen.
Dazu ist die Folie da, ihr sollt mitnehmen, Testen ist nur mehr als das, was wir uns hier anschauen.
Statisches und dynamisches Testen.
Das, was ihr wahrscheinlich unter Testen versteht, ist dieses dynamische Testen.
Das heißt, ich teste meine Software zur Laufzeit.
Presenters
M. Sc. Georg Schwarz
Zugänglich über
Offener Zugang
Dauer
00:19:27 Min
Aufnahmedatum
2019-10-28
Hochgeladen am
2019-10-28 21:22:44
Sprache
de-DE