10 nach 10 Podcast

SDE: Software Testing

April 02, 2021 Sigrid Schefer-Wenzl and Igor Miladinovic
10 nach 10 Podcast
SDE: Software Testing
Show Notes Transcript

In unserem Masterstudium haben wir im 2. Semester die Lehrveranstaltung Software Testing. Diese Lehrveranstaltung fokussiert auf wichtige Aspekte des Software Testens für Software Engineers und deckt auch die Inhalte der führenden Zertifizierung im Bereich Software Testen ISTQB ab. In dieser Folge stellen wir Ihnen gemeinsam mit dem Vortragenden diese Lehrveranstaltung vor.


00:00:05
 Intro Speaker: Wissenswertes und Wissen. News aus den Studiengängen der Technik an der FH Campus Wien.

00:00:23
 Sigrid Schefer-Wenzl: Die Qualität von Software wird maßgeblich durch die jeweilige Test Strategie mitbestimmt. Es wird überprüft, in welchem Ausmaß eine Software die spezifizierten Anforderungen erfüllt. Je später man einen Fehler entdeckt, desto aufwendiger seine Behebung. Software testen begleitet daher den gesamten Software Entwicklungsprozess.

00:00:45
 Igor Miladinovic: In unserem Masterstudium Software Design and Engineering haben wir im zweiten Semester die Lehrveranstaltung Software Testing. Dieser Lehrveranstaltung fokussiert auf wichtige Aspekte des Softwaretestens für Software Engineers und deckt auch die Inhalte der führenden Zertifizierung im Bereich Software testen ISTQB ab. In dieser Folge stellen wir Ihnen gemeinsam mit den Vortragenden diese Lehrveranstaltung vor.

00:01:16
 Igor Miladinovic: Die Entwicklung der Informatik und digitalen Kommunikation war nie so schnell wie heute

00:01:22
 Sigrid Schefer-Wenzl: und sie wird nie so langsam sein wie Heute.

00:01:28
 Igor Miladinovic: In diesen Podcast stellen wir wichtige Themen rund um unsere Informatik Studiengänge der FH Campus Wien vor,

00:01:36
 Sigrid Schefer-Wenzl: die Sie optimal für diese Entwicklung vorbereiten werden.

00:01:43
 Igor Miladinovic: Willkommen zu dieser Folge von unserem Podcast 10 nach 10. Mein Name ist Igor Miladinovic und ich bin der Leiter von den Studiengängen Computer Science and Digital Communikations und Software Design and Engineering.

00:01:56
 Sigrid Schefer-Wenzl: Willkommen auch von meiner Seite. Mein Name ist Sigrid Schefer-Wenzl und ich unterrichte in diesen beiden Studiengängen.

00:02:02
 Igor Miladinovic: Heute reden wir über die Lehrveranstaltung Software Testing. Die ist im zweiten Semester von unserem Masterstudiengang Software Design and Engineering. Und wir reden mit dem Vortragenden, mit Bernhard Rauter. Und am Anfang würde ich Bernhard bitten, sich kurz vorzustellen.

00:02:22
 Bernhard Rauter: Ja, herzlich willkommen auch von mir. Mein Name ist Bernhard Rauter. Ich bin Wirtschaftsinformatiker, habe eine wirtschaftliche Grundausbildung bis zur Handelsakademie Matura, hab dann berufsbegleitend Informatik Ausbildung absolviert. Hab ein HTL Abendkolleg an der HTL Spengergasse besucht, daneben dann in England den Bachelor studiert und etwas später den Master in IT-Management nachgeholt. Ich hab das Studienwesen sozusagen immer parallel zu meiner beruflichen Laufbahn gesehen. Habe 22 Jahre jetzt knapp Erfahrung in Projekten für unterschiedlichste Unternehmen und unterschiedlichste Branchen gesammelt. Und da war der Kern meiner beruflichen Tätigkeit immer das, dass ich sicherstell, dass nix explodiert in der Softwareentwicklung, als Anforderungsnalytiker begonnen. Bin dann über sprichwörtlich ein Wochenende in den Software Test ab geschlittert. Hab dann in vielen Projekten die Rolle des Softwaretesters innegehabt und mit der Zeit dann mit der Erfahrung die ich gemacht hat, bin ich dann auch in eher verantwortlichere Rollen gekommen. Hab mich dem Testmanagement angenommen, Projekte gemanagt das aus testsicht und bin heute Testerstratege, wen man so will, Testberater und ja seit 2017 in der Lektoren Rolle. Hab 2017 begonnen an den Fachhochschulen zu unterrichten. Meine Motivation war damals berufsbedingt. Ich hab in meiner Firma auch das Recruiting für den Test Bereich verantwortet und hab da festgestellt bei den Bewerbungsgesprächen das viele Bewerber an den Fachhochschulen aber auch Universitäten zum Thema Software Testing sehr wenig mit bringen und hab das auch zum Thema meiner Masterarbeit selbst gemacht. Hab mir angeschaut wie den das Studienangebot für Software Testing an den tertiären Bildungseinrichtungen gestaltet ist und hab da festgestellt, dass da was zu tun ist. Und das war dann für mich so bissel die Motivation, die Nähe zu Fachhochschulen zu suchen und dann hat sich die Chance ergeben. Und heute unterrichte eben auch an der Fachhochschule Campus Wien. Freu mich da sehr drüber und unterrichtete jetzte das Thema Software Testing.

00:04:47
 Sigrid Schefer-Wenzl: Kannst du uns kurz die Inhalte deiner Lehrveranstaltung vorstellen?

00:04:51
 Bernhard Rauter: Ja, also bei den Inhalten orientiere mich grundsätzlich am Lehrplan des ISTQB. Das ist das International Software Testing Qualification Board, das aus vielen Standards zum Thema Software Testing einen Lehrplan gestaltet hat und das Gute an dem Lehrplan ist, dass dieser Lehrplan Sprache und Methodik standardisiert. Und das ist mir wichtig. Und deswegen orientiere ich mich an diesem Lehrplan und dadurch quasi auch der Inhalt der Lehrveranstaltung strukturiert, nach diesem Lehrplan beginnt damit mit der Motivation für das Thema Software Testing Grundlagen des Software Testens. Warum das Thema wichtig ist, gerade heute so wichtig ist. Definitionen Grundprinzipien durch den Studenten dabei psychologische aspekte. Dann im zweiten Teil geht es darum, wie bringe ich das testen in den Software Entwicklungs Lebenszyklus. Was wichtig ist, sind die wesentlichen Aufgaben im Test zu überlegen, welche typischen Rollen sind da ausgeprägt wie bette ich das Testen in typische Vorgehensmodelle traditionelle oder agile Vorgehensmodelle, dann kämen auch wesentliche Begriffsdefinitionen was sind Test Stufen was sind Testarten, das ist wichtig und dann draußen in der Berufswelt auch, eben diese einheitliche Sprache dann zu haben und damit Fuß fassen zu können. Der dritte Teil ist würde ich sagen, so der wesentliche und die Essenz wo wir uns um die Testentwurfs Methoden, die Testmethoden vertiefen. Das Grunddilemma im Test ist ja immer, dass sie nur wenig Aufwand oft zur Verfügung hab, um etwas zu tun, was eigentlich sehr sehr viel Aufwand braucht. Das Testen, es ist etwas, was theoretisch unendlich viel Aufwand verursacht. Das ist aber nicht sinnvoll und darum geht's bei diesen Testentwurfs Methoden darum, sich zu überlegen, die kann ich denn das reduzieren, wie kann ich Komplexität reduzieren und die Wahrscheinlichkeit, dass ich mit meinen Test Fehler finde, wie kann ich die erhöhen oder maximieren? Das sind diese Test Entwurfs Methoden die sind mir persönlich sehr wichtig und die bilden einen großen Teil dieser auch praktischen Einheit. Im vierten Teil schauen wir uns statische Testverfahren an. Es gibt nicht nur dynamisches Testen, sondern es gibt auch statisches Testen. Also da reden wir über Reviews, über Inspektionen und wir schauen uns an, wie funktionieren statische Analysen, die keine Werkzeuge einsetzen und diese statischen Prüfungen für mich zu übernehmen. Der fünfte Teil, da werden wir dann so einen kleinen Blick in die wesentlichen Managementaufgaben im Test werfen. Wir beschäftigen uns kurz mit Planung und Schätzung der Testaufgaben schon so bis ins Controlling und Reporting. Und wir lernen die wichtigsten Teilprozesse im Test kennen: Fehlermanagement, Konfigurationsmanagement und Risikomanagement. Dann werfen wir einen Blick in das Kapitel der Testwerkzeuge. Testen wird heute sehr zentral und sehr massiv mit Werkzeug Unterstützung betrieben. Stichwort Testautomatisierung ein ganz ganz großes wichtiges Thema und da so die wesentlichen Werkzeuge im Überblick zu kennen, ist Teil dieses Kapitels und zum Abschluss geht's dann so ein wenig im Exkurs in die ganz aktuelle Situation in den Projekten draußen. Stichwort Continuous Testing, da gehe ich mit den Studenten so in die Themen Agile Softwaretesten, testen in eine DevOps Organisationen und da schauen wir nur etwas in die detailierte Erfordernisse für das Testen. Stichwort Automatisieren. Stichwort Test Infrastructure as a code. Ja und quasi das Ganze abgerundet wird dann mit Übungen und praktischen Einheiten.

00:08:42
 Sigrid Schefer-Wenzl: ISTQB ist ja die Zertifizierung im Test Bereich, in vielen Stellenausschreibungen wird die auch zumindest gewünscht, wenn man im Software Testing Bereich etwas machen möchte. Wie siehst du das mit der Zertifizierungsprüfung? Empfiehlst du die deinen Studierenden? Oder meinst du es reicht doch, wenn man die Inhalte, die man in deiner Lehrveranstaltung lernt, beherrscht?

00:09:10
 Bernhard Rauter: Also grundsätzlich empfehle ich Studenten schon dieses Zertifikat zu erwerben, wenn sie vorhaben, in im Berufsfeld der Softwaretests Fuß zu fassen. Das stimmt, die Beobachtung stimmt, wenn man im Jobmarkt auf Jobportalen, aber auch bei Ausschreibungen wenn man immer aktuelle Ausschreibungen hernimmt zum Softwaretest wenn man da schaut, Zertifikate sind heute eine Grunderforderniss. Ohne Zertifikat kommt man da eigentlich fast garnicht mehr zum Zug. Also insofern ich empfehle Ihnen so sie den Schritt in das Berufsfeld der Software Testes machen wollen. Da empfehle ich Ihnen, dieses Zertifikat zu erwerben. Wenn Sie in der Softwareentwicklung bleiben wollen, dann wird das Zertifikat nicht notwendig sein.

00:09:54
 Igor Miladinovic: Vielen Dank Bernhard und eine ISTQB Zertifizierung hat auch einen anderen Vorteil. Dank dieser Zertifizierung haben wir uns auch kennengelernt. Damals wollten wir für das ganze Team so eine Schulung für die Zertifizierung organisieren und so haben wir uns kennengelernt. Und es hat sehr gut funktioniert. Wir sind jetzt alle im Team ISTQB zertifiziert. So, meine nächste Frage ist über die Organisation dieser Lehrveranstaltung. Es ist eine integrierte Lehrveranstaltung, das heißt, da gibt's Übungsteile und Vorlesungteile, wie ist sie genau organisiert?

00:10:31
 Bernhard Rauter: Genau richtig. Es ist eine integrierte Lehrveranstaltung. Die Inhalte, die ich euch vorhin aufgezählt habe, die fließen ein in Form von kurzer Vorlesungeinheiten. Ich Versuch, aber da immer möglichst viel Interaktion mit Beispielen, mit Forschungsaufträge, mit individuellen oder Gruppenübungen einzustreuen. Es gibt dann rund um diese Test Entwurfs Methoden den Übungsteil. Da gibt's viele viele Möglichkeiten, diese unterschiedlichen Textentwurf Methoden wirklich praktisch anzuwenden. Und zusätzlich habe ich ein Veranstaltungsbegleitendes Fallbeispiel an dem wir, quasi in Gruppen in Gruppenarbeit parallel zur Lehrveranstaltung eine Testautomatisierungslösung entwickeln so ein kleines Framework für ein fiktives Projekt gemeinsam entwickeln, und quasi das rundet diese integrierte Lehrveranstaltung dann ab.

00:11:30
 Sigrid Schefer-Wenzl: Dankeschön. Kannst du uns vielleicht jetzt noch ein bisschen etwas über das Berufsbild des Softwaretesters oder auch über andere Berufe, wo Software testen relevant ist, erzählen? Und eventuell auch wie sich dieses Bild des Softwaretesters, Softwaretestens verändert hat, über die letzten 20 Jahre.

00:11:50
 Bernhard Rauter: Dieses Bild hat sich dramatisch verändert. Ich kann mich an meinen Einstieg erinnern damals im Software Test in dem Projekt, in dem ich da begonnen habe, in dieser Rolle mich parallel versucht einmal zu informieren. Was muss ich denn da eigentlich machen? Hab Literatur gesucht und war da fast schon verzweifelt, weil es eigentlich bis auf den englischsprachigen Raum nicht wirklich was Vernünftiges gegeben hat. Bücher hat's gegeben, aber darüber hinaus in unserem Raum war ganz, ganz wenig da. Das hat sie aber wirklich über diese letzten 20 Jahre ganz, ganz deutlich und und massiv verändert. Und wir haben heute dank, ISTQB, die da wirklich Grundstein gelegt hat und viele, viele unterschiedliche Lehrpläne mittlerweile bietet. Und dank auch der Fachhochschulen sowie wie Eure, die das Thema aufgegriffen haben und einfließen lassen in ihren Lehrveranstaltungen. Bis heute ist der Beruf des Softwaretestens, ist das ja wirklich ein sehr entwickelter und auch nachgefragter und attraktiver. Wenn man heute in Karrierebörsen im Jobplattformen reinschaut und sucht nach dem Begriff Software Test findet man wirklich laufend über dreißig, vierzig, fünfzig aktuelle Inserate. Da ist eine immense Nachfrage nach diesem Beruf und der ist auch leicht erklärt. Also wir digitalisieren ja massiv draußen, wir haben so viele Software Entwicklungsprojekte und wir müssen die Dinge halt auch testen und deswegen suchen die Firmen so verzweifelt nach Software Testern. Und weil du gefragt hast wegen den unterschiedlichen Berufsbildern, also im Kern, mit dieser Lehrveranstaltung dressiere ich die Rolle des Softwaretesters. Also das ist die Rolle, die in Software Entwicklungsprojekten in der Lage ist, Anforderungen zu analysieren, auf Risiken zu betrachten, die Testfälle entwickelt und dann kreativ testet, die erforscht das Testobjekt, wir sagen Testobjekt, die Software erforscht und auf Fehler überprüft und das Ganze heute eingebettet in agile Software Entwicklungsteams. Das ist so die, die eine wesentliche Rolle, auf die auch diese Lehrveranstaltungen vorbereitet. Die zweite und die, denke ich, ist grad für Studenten des Software Engineering noch vielleicht eine Spur interessanter ist die der Testautomatisierung und des Tests automatisierens. Wo es darum geht quasi Software Entwicklungs Methodik anzuwenden, um Tests, die man sonst manuell durchführen muss, automatisiert und wiederholbar durchführbar macht. Also das ist eine Implementierungsaufgabe und da es braucht eben diese Software Engineering Kompetenz um da wirklich nachhaltige gute Testfälle zu programmieren. Die dritte Rolle oder das dritte Berufsbild würde mir überschreiben mit verantwortungsbewußter Software Engineer. Und das ist es, was ich den Studenten in der und der Vorlesung auch immer mitgeben und ans Herz lege, dass sie die Software testen, nicht als Verantwortung eben der Tester oder dedizierte Tester sehen, sondern dass sie sich selbst ihrer Verantwortung für die Qualität dieser Software, die sie schreiben, bewußtwerden Es ist heute so, da gehen mir hoffentlich die Softwareentwicklungskollegen, Lektorenkollegen recht, dass die die moderne Softwareentwicklung Testgetrieben ist. Das heißt, dass die Softwareentwickler sich selbst schon vorher, bevor sie überhaupt beginnen zu entwickeln, überlegen: wie teste ich das, was ich dann entwickeln muss und dass sie so viel gezielter und besser Software entwickeln. Also darum auch diese Rolle, weil sie mit dieser Lehrveranstaltung ein bisserl mit adressiert: der verantwortungsbewußte Software Engineer, Softwareentwickler.

00:15:50
 Igor Miladinovic: Vielen Dank! Ja, das haben wir alle beobachten können, so ein Mind Shift bei den Firmen, wo die Rolle von Software testen immer wichtiger wird. Die Firmen sind draufgekommen, dass dieses sogenannte Cost of no Quality sehr hoch sind und die kann man nur oder unter anderem auch durch das ausführlichere Testen reduzieren. Gut, das ist jetzt eine Lernveranstaltung von uns mit zwei SWS läuft 18 Wochen lang ein ganzes Semester. Wenn man jetzt so am Ende vom Semester steht: Was wären die drei Sachen, die du dir wünschst, dass sich die Studierenden aus deiner Lehrveranstaltung mitnehmen?

00:16:34
 Bernhard Rauter: Also das eine knüpft an dem jetzt zuletzt Gesagten an. Mir wäre wichtig, dass eben die Software Engineers, die Jungen, die rauskommen, dass sie die in ihrer Verantwortung für qualitätsvolle Softwareentwicklung bewusst sind, dass sie verstehen ihren Beitrag und dass sie verstehen, dass das Test getriebene Qualitäts getriebene Arbeiten einfach ein Muss ist und das eben auch auf ihr Wirken dann in ihren Firmen, in ihren Projekten zurückfließen lassen. Das war ein so ein Punkt. Also diese moderne Softwareentwicklung ist Test getrieben, was ich vorhin gesagt habe. Darum, das ist das zweite dieser wichtigsten Sachen, unser Leben ist heute durchdrungen mit IT und ich möchte das sie das verstehen, dass wir uns immer abhängiger machen von IT-Systemen, von Software und von Hardware im Zusammenwirken. Und dass wir aber durch dieses Abhängigsein anfälliger sind für Fehler und für Versagen dieser Systeme. Dass das uns eben alle betrifft. Und dass wir alle in der Softwareentwicklung und nicht nur die Tester die jetzt dediziert diese Aufgabe der Überprüfung übernommen haben, dass die verantwortlich sind, sondern dass wir alle verantwortlich sind. Und in der Agilen Softwareentwicklung gibt's dieses Prinzip all hands. Alle Hände greifen an und fühlen sich am Ende für ihr Produkt, für Ihr Baby verantwortlich. Und da wäre mir wichtig, dass Studierende, die durch meine Veranstaltung gegangen sein, rauskommen und sagen Ich fühle mich da auch verantwortlich und nicht sagen: Das ist eher Job der Software Tester. Das ist das zweite und das dritte, was ich mir wünschen würde. Und was ich aber auch sehe ist, dass die Studierenden mitnehmen, das Testen viel mehr ist als nur Ausprobieren, sondern da gibts wirklich eine mittlerweile etablierte erforschte Methodik. Da gibt's eine Systematik. Das hat was mit Ingenieurhaften Vorgehen zu tun. Das ist nicht mehr nur Experimentieren und Herumprobieren, sondern das ist wirklich etwas professionelles. Es ist ein eigenes Berufsfeld heute mit wirklich, wirklich, wirklich tollen Karrieremöglichkeiten. Und ich kann das tatsächlich aus eigener Erfahrung sagen. Ich habe meine komplette berufliche Laufbahn bisher in diesem Themenfeld das so bunt und vielfältig ist zugebracht. Und ich erlebte es, dass es heute eine boomende Branche für Studierende ist, sich auf viele, viele Jahre, viele Jahrzehnte einen wirklich gut bezahlten Job zu suchen und zu finden, der wirklich Spaß macht und das eben mitnehmen. Dass das Forschen und dieses Fehler finden, diese knifflige Detektivhafte erforschen und das Finden der Dinge, die dann zum Explodieren von unseren Systemen führen, dass das sehr belohnend sein kann und es wirklich, wirklich ein toller Job ist, der auch tatsächlich Spaß machen kann.

00:19:45
 Sigrid Schefer-Wenzl: Vielen Dank! Zum Schluss haben wir für unseren Podcast Gäste immer so drei Fragen, die etwas persönlicher sind und wo wir dich jetzt auch bitten würden, dass du dreimal ganz spontan einfach antwortest, was dir einfällt. Erste Frage von mir wäre: Kannst du dich vielleicht an ein prägendes Erlebnis aus deiner Studienzeit erinnern, dass du mit uns teilen möchtest?

00:20:10
 Intro Speaker: Eines das mir noch einfällt ist, ich kann mich an meiner ersten Vorlesungen an der Fachhochschule erinnern, lebhaft, wo wie alle warten haben müssen, dass der Lektor die Lehrveranstaltung startet, er hat Verspätung gehabt, und wie er dann ja aufgetreten ist, wie er in den Raum gekommen ist und da plötzlich ja mit seiner Persönlichkeit und mit seiner Art und Weise uns von der ersten Minute an begeistert hat. Das war so ein positiver, sehr auf die Studierenden reflektierender Lektor, der mich sehr geprägt hat von seiner Art und Weise und das habe ich heute noch im Kopf, kann mich sogar erinnern an den Raum, indem wir dort gesessen sind und dann die ganze Lehrveranstaltung. Das hat mich sehr in meiner Lektoren Rolle wahrscheinlich ein bisserl mit beeinflusst würde ich sagen. Bei dem ist der Spaß auch nie zu kurz gekommen.

00:21:02
 Igor Miladinovic: Danke. So von mir bekommst du eine einfache Frage Was bedeutet eine Note für dich?

00:21:08
 Bernhard Rauter: Also ein Note für mich ist eine Notwendigkeit am Ende einer Lehrveranstaltung einen Lernerfolg zu attestieren, bin aber eigentlich kein großer Fan von Noten, vielleicht weil ich früh selbst nicht immer die besten Noten hatte, aber trotzdem glaube ich aus meinem Leben was gemacht hab. Insofern, ist mir das Erlebnis der Lehrveranstaltung wichtig, dass die Studierenden auch gut unterhalten sind. Durchaus, dass sie am Ende sagen Das war keine verschwendete Zeit. Ich habe was gelernt. Ich habe ein Reibebau gehabt mit dem Lektor und es hat mir echt was gebracht. Die Note ist dann in aller Regel etwas was, wenn diese ersten Dinge da waren, sich von selbst irgendwie ergibt und meistens für die Studierenden dann sehr zufriedenstellend ist.

00:21:59
 Igor Miladinovic: Es ist auch so eine Lernveranstaltung sollte auch Spaß machen. Man sollte sich aus dieser Lernveranstaltung etwas mitnehmen und das, was man sich daraus mitnimmt, sollte nicht oder nicht nur die Note sein. Die Note ist auch für mich sicher nicht das Wichtigste, was man sich da mitnimmt.

00:22:17
 Sigrid Schefer-Wenzl: Was ist für dich ein idealer Studierender, eine ideale Studierendem also wie ist ein guter Student eine gute Studentin für dich?

00:22:27
 Bernhard Rauter: Ein guter Studierender, gute Studierende ist für mich präsent in der Veranstaltung, challanged mich auch, fordert mich heraus. Stellt mir Fragen, diskutiert, bringt sie auch ein, bringt vielleicht Fragen mit, Beispiele aus dem beruflichen Umfeld und bringt sich so in die Lehrveranstaltung mit ein. Das finde ich immer sehr, sehr bereichernd für mich, weil es mich persönlich auch weiterentwickelt und habe schon in den letzten Semestern wirklich ganz, ganz tolle Leute kennengelernt, mit denen ich heute noch in Kontakt bin. Und es ist für mich, sage ich mal ein Merkmal, etwas, was mir unter Studierenden gefällt und was ich sehr wertschätze.

00:23:17
 Igor Miladinovic: Vielen Dank. So kommen wir auch zum Ende dieser Folge. Ich hoffe, dass wir Ihnen eine neue Perspektive auf das Thema Software testen geben konnten. Vielen Dank, Bernhard, für diese Offenheit, für sehr offene Antworten, für inspirierende Antworten. Und wie hören uns wieder in der nächsten Folge.

00:23:37
 Sigrid Schefer-Wenzl: Bis zum nächsten Mal.

00:23:39
 Igor Miladinovic: Bis zum nächsten Mal.