Drachen raus! - Kari Kakkonen - E-Book

Drachen raus! E-Book

Kari Kakkonen

0,0

Beschreibung

Lernen Sie Softwaretesten auf unterhaltsame Weise, verpackt in Geschichten über Drachen und Ritter. Das Buch ist ein spannender Lesestoff für Kinder, entweder allein oder zusammen mit einem Erwachsenen oder als zusätzliche Lektüre in der Schule. Die Geschichten sind perfekt für alle, die wissen wollen, was Softwaretests sind ohne die trockene Fachliteratur studieren zu müssen. Das Buch handelt von den Abenteuern zweier Kinder, Laura und Tom, die sich gegen Drachen behaupten müssen, welche ihre Dörfer und Schlösser bedrohen. Die Kinder lernen verschiedene Arten von Drachen kennen und erfahren, wie man sie mit Hilfe von Rittern besiegen kann. Sie werden zu besonders geschickten Drachenexperten. Die Geschichten erschließen Begriffe und Ideen aus der Informatik und dem Testen von Software. Der Drache steht zum Beispiel für den Fehler in der Software und die Ritter für die Tester und Entwickler. Durch das Lesen der Abenteuer kann man diese Konzepte einfach verstehen und lernen. In diesem Buch verbindet Kari Kakkonen seine Leidenschaft für Fantasie und Softwaretests auf eine neue und faszinierende Weise und schafft so ein unterhaltsames Erlebnis für seine Leser. Der Stoff ist für jede Altersgruppe von 10 bis 99 Jahren geeignet, obwohl das Buch mit Blick auf Kinder geschrieben wurde. "Ich liebe die Idee, Testen und Drachen zu verbinden. Das Softwaretesten auf diese Weise zu erklären, eignet sich hervorragend, um neuen Testern einen Überblick über die Tiefe des Testens zu geben. Die Geschichten sind auch für sich eine spannende Unterhaltung für Kinder, können sie aber auch dazu anregen, darüber nachzudenken, wie sie die von ihnen genutzten Apps testen könnten." Janet Gregory, DragonFire Inc, Mitautorin von drei Büchern über agiles Testen.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 253

Veröffentlichungsjahr: 2025

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Illustriert von Adrienn Széll

Übersetzung von Thomas Meißner

INHALT

VORWORT

DANKSAGUNG

WIE MAN DIESES BUCH LIEST

WAS IST SOFTWARETESTEN?

DRACHEN

DIE KARTE

1. LÄSTIGER ROTER DRACHE

(Memory-Leak)

2. RÄUBERISCHER GRAUER DRACHE

(größerer Funktionsfehler)

3. KLEINER GRÜNER DRACHE

(kleiner Fehler)

4. FIESER SCHWARZER DRACHE

(Sicherheitslücke)

5. SCHNELLER PURPUR DRACHE

(Leistungsmangel)

6. SCHWIERIGER GRÜNER DRACHE

(Bedienbarkeitsmangel)

7. BEEINDRUCKENDER GRÜNER DRACHE

(sichtbarer aber harmloser Fehler)

8. BRAUNER HÖHLEN-DRACHE

(Hardware-Defekt)

9. VERSTOHLENER GRAUER DRACHE UND GUTER GRÜNER DRACHE

(Fehlerhafter Test und ein absichtlich erzeugter Defekt

)

10. WIDERSPENSTIGER GRÜNER DRACHE

(Fehler in der Versionskontrolle)

11. KLUGER GRÜNER DRACHE

(kleiner, aber schwieriger Funktionsfehler)

12. VERWIRRTER GRÜNER DRACHE

(Dokumentationsfehler)

13. ZWEIKÖPFIGER GRAUER DRACHE

(ein wirklich schlimmer Fehler)

NÄCHSTE SCHRITTE

GLOSSAR

VORWORT

Kari’s Buch ist voller Drachen

Ein Kinderbuch, liebe Eltern, also keine Sorge nun

Ihre Schrecken können mir Angst machen

Aber was hat das mit Softwaretesten zu tun?

Das Buch handelt von Mythen und modernen Quests

Drachen lauern und Kinder sind die Helden meist

In dem legendären Land des Softwaretests

Dunkle, fehlerhafte Orte, die niemand bereist.

Drachen sind gut und auch böse

Die beste Geschichte beides verbindet

Ein Fehler beim Nutzer macht immer Getöse

Aber freut den Tester, der ihn vorher findet.

Was bedeutet Testen, vergisst man zu fragen meist

Nicht nur eine lehrreiche Entdeckungsreise

Eine schwierige Aufgabe für einen kritischen Geist

Der schwierigste Job im Software-Entwickler-Kreise.

Vor dir hältst du ein Buch aus zwei Teilen

Zwei Geschichten erzählen wir hier unseren Gästen

Am Ende hast du viel mehr von diesen Zeilen

Drachen besiegen und Software zu testen.

Genieß dieses Buch, dass es was bringt

Und dich am Ende kein Drache verschlingt.

Paul Gerrard

Vorstand, Gerrard Consulting,

angehender Dichter, Macclesfield UK

DANKSAGUNG

Ich möchte meiner Frau Taina und meinem Sohn Nooa danken, die mir die Zeit schenkten dieses Buch zu schreiben, während unseres Sabbaticals und danach.

Vielen Dank an all die Testleser. Ihr wundervollen Kinder - euer Feedback ermutigte mich immer wieder das Buch fortzusetzen. Meine Tester Kollegen - mit eurer Hilfe verbesserten sich die Softwaretestinhalte und die Konsistenz des Textes. Meine Freunde mit vielen anderen Berufen, zum Beispiel Lehrer - durch euch ist es mir gelungen dieses Buch für viele verschiedene Leser zugänglich zu machen. Besonders hervorheben möchte ich Marko Rytkönen, Minna Aalto, und Debra Friedenberg.

Ein besonderes Dankeschön an meine Illustratorin Adri, die mich auf der Reise begleitete und mit ihrer unglaublichen Kreativität eine Welt voller Drachen erschuf. Lieben Dank auch an meinen Freund Artsi, der mir wertvolle Ratschläge für die Entwicklung des Konzepts geben konnte und mich immer wieder ermutigte.

Vielen Dank an alle, die sich an der Indiegogo-Crowdfunding-Kampagne beteiligten und diese Information auch mit anderen Menschen, Gemeinschaften und Zeitschriften geteilt haben. Mit Ihrer Hilfe hat das Buch eine neue Qualitätsstufe erreicht. Jede Schrift braucht eine Finanzierung, und es ist großartig, die Nachricht von einer guten Sache zu verbreiten.

Danke an meinen Arbeitgeber Knowit, dank dessen Flexibilität ich die Möglichkeit hatte, dieses Buch zu schreiben. Vielen Dank an meine Gemeinschaften FiSTB und ISTQB, die mich auf diesem Weg unterstützt haben. Alle Beteiligten haben sich entschlossen, die Herausforderung anzunehmen, die Botschaft des Testens an Kinder und Schulen zu bringen, indem sie dieses Buch unterstützten und kauften. Es war eine großartige Erfahrung, dass sie diese wichtige Sache unterstützt haben.

Vielen Dank an Thomas Meißner für die wunderbare Übersetzung ins Deutsche und die ganze Hilfe.

Ich möchte meinem Verleger, BoD, dafür danken, diese Reise mit mir unternommen zu haben.

Danke an alle, die mir Mut machten. Ihr seid so viele, dass ich zweifellos noch jemanden vergessen habe. Ich danke euch allen!

Kari Kakkonen

Helsinki

WIE MAN DIESES BUCH LIEST

Dieses Buch besteht aus zwei Ebenen. Die erste Ebene besteht aus Geschichten über Drachen und Ritter. Die zweite Ebene sind die erklärenden Abschnitte, in denen es um Softwaretests geht, wobei immer ein Vergleich mit der Drachengeschichte gezogen wird. Der erklärende Teil folgt immer auf die Geschichte. Man kann das Buch sehr gut lesen, indem man die Fantasieteile durchgeht, die Geschichten von Begegnungen zwischen Drachen und Rittern, in denen Kinder die Hauptrolle spielen. Die tiefere Ebene des Buches liegt im Erlernen und Verstehen des Softwaretestens und wird erreicht, indem man auch die begleitenden erklärenden Abschnitte liest. Doch auch die erklärenden Abschnitte vereinfachen die Realität zum Zwecke des Verständnisses. Bei vielen Themen zumindest, es mag Ausnahmen und besondere Umstände geben, aber ich spreche nicht von allen.

Ich habe die Details der Drachengeschichten so gewählt, dass sie eine Entsprechung in der Welt des Softwaretestens haben. Wenn man zum Beispiel die Diskussion zwischen einem jungen Hirten und einem tapferen Ritter versteht, kann man auch etwas über die Interaktion zwischen einem Softwarebenutzer und einem Softwaretester verstehen. Die Drachengeschichten sind voll von Bedeutungen, die Analogien zur Realität des Softwaretestens darstellen.

Am Ende des Buches gibt es einen Glossar, in dem alle Begriffe des Softwaretestens vorgestellt werden. So kannst du beispielsweise herausfinden, was Software ist oder was eine Testmethode bedeutet. Der Glossar ist nützlich, um ihn neben dem erklärenden Teil zu lesen, wenn du dich über die Bedeutung eines neuen Wortes wunderst.

Am Ende eines jeden Kapitels gibt es Übungen. (Bitte benutze für die Bearbeitung der Übungen ein separates Blatt Papier). Einige davon sind leichter, andere etwas schwieriger. Es ist gut, die Beispielantworten zu lesen, auch wenn die Übung selbst zu schwierig erscheint. Die Übungen und Beispielantworten vertiefen den Teil des Buches, in dem das Testen erklärt wird. In der letzten Übung jedes Kapitels kannst du dich austoben, entweder durch Zeichnen oder durch Spiele!

Bevor die Geschichte beginnt, gibt es eine kurze Beschreibung des Softwaretestens, die nützlich sein könnte, bevor du dich an die eigentliche Geschichte machst. Aber wenn du Lust hast, kannst du gleich loslegen.

Du kannst das Buch so lesen, wie es dir gefällt. Menschen unterschiedlichen Alters werden es auf ihre eigene Weise lesen. Du kannst immer wieder zu dem Buch zurückkehren, wenn du mehr Jahre auf dem Buckel hast. Ich hoffe, dass das Buch sowohl aus der Sicht der Fantasie als auch aus der Sicht des Softwaretestens eine gute Erfahrung ist. Ich mag beides sehr, und ich hoffe, dieser Funke springt auf die Leser über.

Zusätzlicher Inhalt ist auf www.dragonsout.com zu finden: Testreferenzen, Leserzeichnungen und eine unterstützende PowerPoint-Präsentation für Lehrer.

WAS IST SOFTWARETESTEN?

In diesem Buch geht es nicht nur um Drachen, sondern auch um Softwaretesten. Deshalb gibt es hier eine kurze Einführung in das Thema, um die erklärenden Abschnitte der Fantasy-Geschichten zu verstehen.

Wir sind von technologischen Wundern umgeben. Nimm zum Beispiel ein Mobiltelefon. Wir benutzen dieses Gerät, um zu telefonieren oder z. B. YouTube oder Netflix anzusehen. Die Computertechnologie besteht normalerweise aus zwei Teilen: dem Gerät selbst und der Software, die darauf läuft. Heutzutage haben sogar Dinge, die früher ohne Software funktionierten, eine Software. Zum Beispiel war die Türklingel früher nur ein Gerät, das eine kleine Glocke läutete, wenn man einen Knopf drückte. Heutzutage kann die Türklingel mit einer einfachen Software ausgestattet sein, mit der man den Ton der Türklingel auswählen kann. Manchmal ist die Computertechnologie schwer zu erkennen. Wenn man zum Beispiel ein Auto anhält, kommt eine Menge Software zum Einsatz. Wenn man das Bremspedal betätigt, wird es mit einem Computer verbunden, der Anweisungen an die Bremsen gibt und so das Auto zum Abbremsen bringt.

Wenn Software mehr macht, als nur ein Gerät zu steuern, spricht man von Informationssystemen oder nur Systemen. Diese Art von Software befindet sich teilweise an einem anderen Ort als der eigentliche Benutzer des Informationssystems. Normalerweise spielt der Ort für den Benutzer keine Rolle. Das Informationssystem funktioniert unabhängig davon, wo es sich befindet. In der Praxis ist das Informationssystem auf einem Computer-Server in einem sicheren Datenzentrum installiert, oft tief unter der Erde. Die Benutzer sind über ihre eigenen Geräte, z.B. Mobiltelefone oder Laptops, mit den Informationssystemen verbunden. Die Verbindung wird über ein Netzwerk hergestellt. Ein gutes Beispiel ist der Online-Shop eines Lebensmittelunternehmens. Du kannst Lebensmittel sowohl online als auch im Laden kaufen. Der Benutzer stellt mit seinem Mobiltelefon eine Verbindung zum Online-Shop her, kauft die Lebensmittel und wählt den Ort, an dem er die Bestellung abholen kann.

Wie entsteht eine Software oder ein Informationssystem? Jemand muss sie entwickeln. Diese Softwareentwicklung umfasst das Entwerfen der Software (wie soll sie funktionieren?), das Programmieren der Software (das eigentliche Schreiben des Software-Codes mit einer geeigneten Programmiersprache) und das Testen der Software (funktioniert die Software richtig, gibt es Fehler?). Die Software ist also das, was die gewünschten Dinge auf dem Computer geschehen lässt. Für die Entwicklung der Software brauchen wir eine geeignete Gruppe von Personen, die zusammen die Fähigkeiten haben, alle notwendigen Aufgaben zu erledigen. Softwaretesten ist eine dieser Aufgaben, die für die Softwareentwicklung unerlässlich sind. Sie erfordert eine Vielzahl von Fähigkeiten. Natürlich gibt es Leute, die sich nur auf das Testen von Software spezialisiert haben. Allerdings sind alle Mitarbeiter des Softwareentwicklungsteams an den Softwaretests beteiligt. Es kann nicht sein, dass alle Tests von einer Person allein durchgeführt werden.

Beim Testen von Software wird das Verhalten der Software aus vielen verschiedenen Blickwinkeln betrachtet. Macht die Software das, wofür sie entwickelt wurde? Macht sie etwas, was sie nicht tun sollte? Oder macht sie etwas falsch oder ist sie zu langsam? Ist die Software schwer oder leicht zu bedienen? Wenn ein Tester feststellt, dass etwas falsch ist, hat er einen Fehler gefunden. Beim Softwaretesten wird nach Fehlern in der Software gesucht. Das Auffinden von Fehlern während der Softwareentwicklung ist eine gute Sache. Die Fehler können dann behoben werden, bevor die Software den Benutzern zur Verfügung steht. Beim Testen werden nicht immer Fehler gefunden, stattdessen könnte man auch feststellen, dass die Software so funktioniert, wie sie sollte. Das ist die beste Situation. Wenn es jedoch Mängel gibt, müssen sie gefunden werden. Wenn das Softwareentwicklungsteam den Fehler nicht sieht, wird er höchstwahrscheinlich später vom Benutzer entdeckt, der dann vielleicht denkt, dass die Software von schlechter Qualität ist und auf etwas anderes umsteigt. Außerdem ist es viel schwieriger und teurer, einen Fehler so spät im Prozess zu beheben. Man muss also schon während der Entwicklung der Software viel testen.

Zusätzlicher Inhalt ist auf www.dragonsout.com zu finden: Testreferenzen, Leserzeichnungen und eine unterstützende PowerPoint-Präsentation für Lehrer.

DRACHEN

Es gibt viele Arten von Drachen. Es gibt die vielfarbigen, großen Riesen. Es gibt kleine feuerspeiende Knallfrösche. Es gibt die schnellen, hinterhältigen Kreaturen, die scheinbar überall hinkommen. Sie quälen friedliche Dörfer und große Städte. Tapfere Ritter kämpfen gegen Drachen. Mit ihrer Rüstung sind sie sicher, die Drachen entweder durch Kraft oder Gerissenheit zu bekämpfen. Von Zeit zu Zeit kommt es sogar vor, dass ein Drache dabei hilft, einen anderen Drachen zu fangen. In der Welt der Software gibt es Fehler, die die Software quälen, ähnlich wie Drachen die Dörfer quälen. Man lernt, Fehler zu finden. Man muss nur üben. Diese fehlerjagenden Ritter sind die Tester und Entwickler dieser Welt. Dieses Buch erzählt von Drachen und Rittern, um die Geheimnisse des Testens zu ergründen. Das Buch ist leichter zu verstehen, wenn du etwas über Computer und Programmierung weißt. Ich habe jedoch versucht, die Dinge für alle Leserinnen und Leser, für Kinder, Jugendliche und Erwachsene verständlich zu beschreiben. Willkommen beim spielerischen Erlernen des Testens von Software!

1

Lästiger roter Drache

(MEMORY LEAK)

Es war einmal ein ruhiges kleines Dorf namens Schafstal, in dem die Menschen friedlich inmitten eines wunderschönen Bergtals lebten. Die Tage waren langsam und ruhig. Morgens wachten die Menschen mit dem Sonnenaufgang auf und frühstückten ausgiebig. Die Tage vergingen mit dem Hüten von Schafen und Rindern auf den nahe gelegenen Wiesen, die als Weideland genutzt wurden. Abends trafen sich die Dorfbewohner im Haupthaus, um den Abend bei einem guten Essen gemeinsam zu verbringen. Man erzählte einander Geschichten von fernen Ländern und Abenteuern.

In der Welt der Computertechnologie ist dieses Dorf die Software, zum Beispiel ein Spiel auf einem Mobiltelefon oder einem Computer. Die Software kann auch ein Programm genannt werden. Der Computer behält das Spiel in seinem Speicher. Die Schafe in der Geschichte stellen den Speicher des Computers dar.

An einem sonnigen Tag geschah etwas Ungewöhnliches. Ein Mädchen, Laura, hütete Schafe auf der am weitesten entfernten Wiese. Am Abend kam sie zurück ins Dorf und erklärte, dass sie eines der Schafe nicht finden konnte. Früher waren die Schafe immer zur Hirtin zurückgekehrt, wenn sie laut gepfiffen hatte. Jetzt war das nicht mehr der Fall. Am Morgen hatte sie die Schafe gezählt. Und am Abend noch einmal. Eines fehlte. Laura hatte alle Waldstücke rund um die Wiesen abgesucht, aber kein Schaf war zu sehen. Schließlich, als die Sonne unterging, kehrte sie mit dem Rest der Herde ins Dorf zurück. Die Leute im Haupthaus dachten, dass das Schaf in dem felsigen Gelände gestolpert und in eine Schlucht gefallen war. Laura dachte, dass Schafe normalerweise nicht in Schluchten fielen. Sie waren ziemlich trittsicher. Aber vielleicht war es ja dieses Mal passiert.

In den folgenden Tagen kehrte Laura mit beunruhigenden Nachrichten ins Dorf zurück. Zwei Tage später war ein weiteres Schaf verschwunden. Und ein weiteres am Tag darauf. Und ein weiteres zwei Tage später. Laura begann zu vermuten, dass etwas Gefährlicheres als Schluchten die Schafe bedrohte. Der Rest des Dorfes machte sich nun auch langsam Sorgen. Karl, ein freundlicher Bauer, lieh dem Mädchen seinen Schäferhund Buddy, um die Herde zusammenzuhalten. Wenn dieser erfahrene, langhaarige Freund die Schafe doch nur vor den Gefahren der Schluchten bewahren würde.

Laura hat ihre Schafe dann nicht mehr verloren. Sie und der Hund wurden gute Freunde. Sie fragte Karl, ob sie den Hund behalten dürfe. Es war so schön, ihn hinter den Ohren zu kraulen und sein langes, weiches Haar zu streicheln. Buddy war eine große Hilfe beim Hüten. Zu zweit war die Arbeit viel angenehmer. Der Hund leckte Lauras Hand jedes Mal, wenn er neben sie kam oder sie ihn streichelte, auf die angenehmste Art und Weise ab. Der Bauer war einverstanden, weil er viele Hunde hatte.

Wenn der Code des Spiels ein Memory-Leak hat, beginnt das Spiel allmählich immer mehr Speicher zu verbrauchen, bis der gesamte Speicher aufgebraucht ist, und das Mobiltelefon beginnt sich seltsam zu verhalten. Alles geht langsamer. Das Spiel kann für einen Moment einfrieren. Schließlich kann sich das gesamte Handy ausschalten. In der Geschichte beginnen Schafe ohne Erklärung zu verschwinden, genau wie bei fehlerhafter Software scheint der Speicher ohne Grund zu verschwinden.

In der darauffolgenden Woche kehrte ein Junge, Jonathan, der die Herde auf der anderen Seite des Dorfes gehütet hatte, mit alarmierenden Nachrichten zurück. Er konnte eines seiner Schafe nicht finden, so sehr er sich auch bemühte. In den folgenden Tagen verlor er mehrere andere. Als Laura von Jonathans Notlage erfuhr, schlug sie vor, dass Jonathan auch einen Schäferhund einsetzen sollte. Das Verschwinden der Schafe hörte auf.

Am Abend gab es im Haupthaus des Dorfes viele hitzige Diskussionen. Die Leute stritten sich darüber, warum das Verschwinden der Schafe geschah. Schließlich können so viele Schafe nicht in Schluchten fallen. Sie sind ziemlich trittsicher. Sollte man sich aus dem Nachbardorf weitere Hunde ausleihen, damit für jede Weide genug da sind? Was könnten sie noch tun? Sollte das ganze Dorf hinausgehen, um die Schafe zu hüten? Laura war der Meinung, jeder müsse sich einen Hund anschaffen. Es gab keine Probleme, wenn ein Hund dabei war.

In den folgenden Wochen verschwanden die Schafe von immer mehr Weiden. Zunächst nur von den Weiden, auf denen kein Hund beim Schäfer war. Dann verschwanden die Schafe auch von Weiden, die einen vierbeinigen Schwanzwedler hatten, der die Schafe zusammenhielt. Gelegentlich ging ein Schaf in den Wald, in der Hoffnung auf schmackhafteres Gras. Einige Hirten erzählten Horrorgeschichten über ein großes Tier, das gesehen wurde, als ein Schaf in den Wald ging. Und dann war dieses Schaf verschwunden. Sie begannen, das Tier als schwarz, rot und glänzend zu beschreiben. Einer behauptete, das Tier habe große Flügel gehabt, obwohl es nicht geflogen sei. Laura hatte kein großes Tier gesehen, als ihre Schafe verschwanden. Sie dachte jedoch, dass ein großes Tier die Schafe wahrscheinlich gefressen hatte. Sie waren nicht in eine Schlucht gestolpert. Außerdem fand man in den Schluchten keine verirrten Schafe.

Ein Memory-Leak äußert sich zunächst durch seltsame Symptome, die sich nach und nach verschlimmern. Ein Fehler im Code verursacht in der Regel ein Memory-Leak. Der Speicher wird für die Nutzung der Software reserviert, aber nach der Nutzung nicht wieder freigegeben. Wenn der verwendete Speicher nicht wieder freigegeben wird, füllt sich der Speicher des Geräts, bis das Gerät nichts mehr tun kann und sich abschaltet. Einige Programmiersprachen sind für dieses Problem anfälliger als andere.

Die Geschichten wurden immer wilder. Am Ende sprach der alte Abe laut aus, was viele bereits dachten. Es ist ein Drache! Er frisst unsere Schafe. Könnte es nicht so sein? Die Leute erinnerten sich auch daran, dass in den Märchen tapfere Ritter gegen Drachen kämpften. Könnte ein tapferer Ritter aus der nahen Bergstadt helfen, dieses Problem zu lösen? Die Dorfbewohner beschlossen, die Dorfälteste, Amanda, zu schicken, um den Ritter um Hilfe zu bitten.

Der rote Drache in der Geschichte ist ein Fehler, der die Ursache für das Memory-Leak ist. Das Memory-Leak ist also ein Fehler im Verhalten der Software. Der Fehler im Code verursacht das Fehlverhalten (Fehlerwirkung). Der Entwickler hat einen Fehler in seinem Code gemacht und damit die Fehlerwirkung verursacht. Der Entwickler kann den Fehler beseitigen, indem er den Code verbessert. Dementsprechend kann der Drache getötet oder besiegt werden. Solche Fehler oder Defekte werden manchmal auch Bugs genannt.

Amanda brach am nächsten Morgen früh mit einigen Männern als Wache auf. Sie war eine ehrwürdige alte Dame, die seit zehn Jahren den geschätzten Titel einer Dorfältesten trug. Als sie in der Burg von Bergstadt ankam, bat sie ohne zu zögern um ein Gespräch mit Graf Walter und äußerte ihre Zweifel bezüglich des Drachens und der Schafe. Walter sagte, dass seine Ritter von Zeit zu Zeit gegen Drachen gekämpft hätten. Die Drachen waren also leider sehr real und beunruhigend. Manchmal sogar beängstigend. Er verstand die Sorgen der Dorfbewohner um ihre verlorenen Schafe sehr gut. Walter versprach, seinen tapfersten Ritter, Dotterbart, zu schicken, um den Dorfbewohnern zu helfen.

Einige Tage später kam Dotterbart in Schafstal an und bat die Hirten, ihm zu zeigen, wo die Schafe verschwunden waren. Laura war die erste, die Dotterbart zeigte, wo ihre Schafe verschwunden waren. Dotterbart durchstreifte die nahegelegenen Wälder und fand einige Stellen mit verkohlten Steinen und Schafsknochen. Er zeigte Laura diese Stellen. Dotterbart war ein erfahrener Mann auf einer Drachenjagd. Es schien, als würde der Drache Schafe als Nahrung fressen. Die verkohlten Felsen ohne die Überreste eines Lagerfeuers waren für ihn ein eindeutiges Zeichen für einen feuerspeienden Drachen.

Der Ritter kam auf Einladung der Dorfbewohner in das Dorf. In ähnlicher Weise wird ein Entwickler alarmiert, um zu helfen, wenn es Probleme mit der von ihm programmierten Software gibt. Nur dass in dem Fall ein anderer Entwickler diesen Code geschrieben hat. Er ist jedoch dafür bekannt, dass er solche Probleme beheben kann, also ist er gut genug. Der Entwickler behebt dann den Fehler. Oder, in der Geschichte, der Ritter besiegt den Drachen. Der Ritter wohnt nicht im Dorf, sondern in einer nahegelegenen Burg. In ähnlicher Weise arbeiten Entwickler normalerweise nicht dort, wo die Menschen die Software benutzen. Das Unternehmen, in dem der Entwickler arbeitet, verkauft die Software, damit andere Menschen oder Unternehmen sie nutzen können. Wenn die Benutzer die Software benutzen, können sie einen Fehler finden. Insbesondere ein Fehler, der sich hinter einem Memory-Leak verbirgt, findet oft unentdeckt seinen Weg zu den Benutzern der Software. Diese Art von Defekt ist schwer zu finden, und deshalb findet das Entwicklungsteam ihn auch nicht immer bei den Tests, die während der Softwareentwicklung durchgeführt werden.

Dotterbart zeichnete eine Karte der nahegelegenen Weiden, um zu verstehen, wo der Drache gewesen war und wo nicht. Am nächsten Tag machte er sich mit dem Hirten Bubba auf den Weg zu einer Wiese, auf der der Drache noch nicht gewesen war, die aber nahe genug an der Stelle lag, an der ihn einige Hirten gesehen hatten. Hier konnte er den Drachen mit seinen eigenen Augen sehen. Dotterbart legte seine Rüstung an und nahm ein Schwert und einen langen, scharfen Speer mit. Er ging an den Rand des Waldes und wartete unter einem großen Baum.

Der Entwickler kann das Vorhandensein eines Memory-Leaks testen, indem er die Menge des verwendeten Speichers misst, während er die Software benutzt. Wenn die Menge des belegten Speichers immer größer wird, liegt wahrscheinlich ein Memory-Leak vor. Wenn man dann die Software eine Codezeile nach der anderen ausführt und genauer untersucht, welche Codezeile den Speicher reserviert, ihn aber später nicht freigibt, hat man den Fehler gefunden, den man beheben kann.

Am ersten Tag sah Dotterbart den Drachen nicht, aber am zweiten Tag hatte er Erfolg. Bei Sonnenuntergang sah er eine verdächtige Bewegung im Wald. Es war an der gleichen Stelle, an der sich gerade ein einsames Schaf verirrt hatte. Er ging vorsichtig näher heran und sah mit eigenen Augen, wie ein Drache das Schaf einfing! Der Drache war so groß wie eine Kuh, aber er fing das Schaf schnell ein. Mit seinen schwarzen Flügeln und roten Flanken sah er ziemlich furchterregend aus. Sein Maul war voll mit furchterregend aussehenden Zähnen.

Dotterbart beobachtete den Drachen einen Moment lang und ging vorsichtig näher heran. Als der Drache ihn bemerkte, erhob er sich auf seine Hinterbeine und brüllte. Der Ritter trat ohne zu zögern vor den Drachen. Er stieß seinen langen Speer an der Stelle in die Seite des Drachens, von der er annahm, dass sie die dünnste Haut hatte. Der Speer sank tief ein, und der Drache fiel zu Boden. Eine winzige Flamme kam aus seinem Maul, aber sie erschreckte den tapferen Ritter nicht. Dann war es aus mit dem Drachen.

Der Entwickler findet ein Memory-Leak, als er die Software mit einem geeigneten Speicher-Analyseprogramm testet (Zeichnen der Karte, in der Geschichte) und den Fehler lokalisiert (Beobachtung des Drachens, in der Geschichte). Dann kann er die fehlerhafte Codezeile korrigieren und so den Drachen töten. Er kann die Korrektur auf viele Arten vornehmen. In dieser Geschichte war es am einfachsten, den Drachen mit einem langen Speer zu besiegen. Das Auffinden eines Fehlverhaltens (Fehlerwirkung) wird als Testen bezeichnet, das Auffinden und Beheben eines Fehlers im Code (Fehlerzustand) als Debugging. Normalerweise ist es der Entwickler selbst, der dieses Testen und Debuggen durchführt. In der Geschichte reichte ein einziger Ritter aus, um den Drachen zu bezwingen.

Im Dorf erzählte Dotterbart seine Geschichte, wie er den Drachen fand und tötete. Laura war begeistert. Der Drache war auch auf ihrer Weide gewesen, und nun hatte der Ritter den Drachen getötet! Am Abend feierte das ganze Dorf den tapferen Ritter. Die Schafe würden nicht mehr auf mysteriöse Weise verschwinden. Der große Kummer, den die Dorfbewohner empfunden hatten, war vorbei! Amanda hielt eine Dankesrede für Dotterbart. Laura, Jonathan, Bubba und die anderen Kinder jubelten mit großem Eifer. Wenn der Drache größer geworden wäre, hätte er mehr Schaden angerichtet. Er hätte alle Schafe und Rinder des Dorfes fressen können!

ÜBUNGEN

ÜBUNG 1.1 WELCHER FEHLER?

Welche der folgenden Probleme können durch ein Memory-Leak verursacht werden?

Ein Computer wird langsamer.

YouTube lässt sich auf einem Handy überhaupt nicht öffnen.

Die Bankensoftware zahlt dir den falschen Geldbetrag aus.

Ein Handy wird langsamer und friert schließlich ein.

ÜBUNG 1.2 WIE WÜRDEST DU ES TESTEN?

Du bist Softwareentwickler. Du programmierst ein Spiel für ein Mobiltelefon. Es funktioniert genau so, wie du es geplant hast. Nach einer Stunde des Testens funktioniert jedoch alles viel langsamer. Dann reagiert das Mobiltelefon nicht mehr. Was machst du nun?

ÜBUNG 1.3 WIE GEHT DIE GESCHICHTE WEITER?

Du bist der Ritter Dotterbart und jagst Drachen. Du hast eine Karte, die dir hilft. Ein roter Drache rennt aus dem Wald auf dich zu. Dann dreht sich der Drache um, rennt erstaunlich schnell wieder außer Reichweite und verschwindet im Wald.

Was könnte in der Geschichte als nächstes passieren? Was würde das in der Welt der Softwaretests bedeuten?

ÜBUNG 1.4 LASS UNS WAS MALEN!

Nimm Papier und Stifte zur Hand. Überlege, was für ein Tester du sein würdest? Mutig? Einfallsreich? Schreib ein paar Gedanken auf. Überlege als nächstes, wie du in dieser Geschichte aussehen würdest. Wärst du ein Kind oder ein Erwachsener? Würdest du vielleicht einen Stock, ein Schwert oder einen Speer tragen? Zeichne deine Figur auf dasselbe Blatt Papier. Wenn du sehen willst, welche Art von Figuren die anderen Leser dieses Buches haben, kannst du dir die Bilder auf www.dragonsout.com ansehen. Wenn du möchtest, kannst du deine Zeichnung anhand der Anweisungen auf der Website einsenden. Die besten und kreativsten Bilder werden für alle Leser sichtbar gemacht!

ANTWORTEN ZU DEN ÜBUNGEN

ÜBUNG 1.1 WELCHER FEHLER? - ANTWORTEN

Das liegt nicht an einem Memory-Leak. Es ist wahrscheinlicher, dass die Leistung des Computers mit der Zeit und der Nutzung schlechter wird, da die verschiedenen Programme nie wirklich gelöscht werden.

Dies wird nicht durch ein Memory-Leak im YouTube-Programm verursacht. Wahrscheinlich ist bei der Installation der Software ein Fehler aufgetreten, und man sollte das Programm neu installieren. Es könnte aber auch sein, dass ein anderes Programm den gesamten Speicher des Mobiltelefons belegt hat und YouTube deshalb nicht geöffnet werden kann.

Nicht durch ein Memory-Leak verursacht. Die Geldauszahlungsfunktion ist fehlerhaft und funktioniert falsch.

Verursacht durch ein Memory-Leak. Eines der Programme auf dem Mobiltelefon füllt den Speicher allmählich auf. Schließlich ist der gesamte Speicher belegt, und das Mobiltelefon funktioniert nicht mehr.

ÜBUNG 1.2 WIE WÜRDEST DU ES TESTEN? – BEISPIELANTWORT

Aufgrund der Symptome scheint das Problem ein Memory-Leak zu sein. Du öffnest ein Speicheranalyse- oder Messprogramm. Du startest das Mobiltelefon neu. Du prüfst, wie viel Speicher das Programm zu diesem Zeitpunkt verbraucht. Du spielst 15 Minuten lang. Du misst erneut, wie viel Speicher des Programms verbraucht. Wenn das Programm mehr Speicher verbraucht als bei der letzten Überprüfung, handelt es sich bei dem Fehler wahrscheinlich um ein Memory-Leak. Als Nächstes versuchst du herauszufinden, in welcher Codezeile der Fehler auftritt. Du startest eine Memory-Leak-Erkennungssoftware oder ein Debugging-Programm, das dir ständig sagt, welche Codezeile das Spiel ausführt. Du verfolgst die Menge des verwendeten Speichers. Du spielst das Spiel. Wenn die Menge des belegten Speichers beim nächsten Mal ansteigt, hast du wahrscheinlich die Stelle im Code gefunden, an der Memory-Leaks auftreten. Jetzt kannst du versuchen, sie zu beheben.

ÜBUNG 1.3 WIE GEHT DIE GESCHICHTE WEITER? - BEISPIELANTWORT

Der Drache kann dir leicht ausweichen. Du musst die Karte des Gebietes noch einmal studieren. Du überlegst, wo du den Drachen fangen könntest. Du musst mehrere andere Gebiete besuchen, bevor du den Drachen wiedersiehst. Du rekrutierst einige Dorfbewohner mit Speeren, die dir helfen. Wenn der Drache auftaucht, können die Dorfbewohner ihn mit ihren Speeren zu dir treiben. Dann kannst du den Drachen erledigen.

In der Welt des Testens muss man das Programm zur Speichermessung viel öfter einsetzen, bevor man den Fehler finden kann. Auch wenn die Identifizierung eines Memory-Leaks relativ einfach sein kann, ist die Lokalisierung des Fehlers nicht immer einfach. Du musst viele Teile der Software untersuchen.

STECKBRIEF

DRACHE

LÄSTIGER ROTER

FarbeRotGrößeMittelgroßWie schwer zu finden?SchwerWie schwer zu besiegen?EinfachFliegt?NeinFlügelKleinSpuckt Feuer?JaLieblingsbeschäftigungLämmer essen

FEHLER

MEMORY-LEAK

FehlertypMemory-LeakSchweregradMittelSichtbarkeitMittelFehleranzeichenDer Computer wird langsamer, bis er überhaupt nicht mehr funktioniert, und dann schaltet er sich ab.FehlerursacheDer Speicher wird für die Nutzung der Software reserviert, aber nach der Nutzung nicht wieder freigegeben.GrundursacheDer Entwickler ist beim Freigeben des Speichers nicht vorsichtig. Möglicherweise weiß er nicht, wie es richtig geht, oder er erinnert sich nicht daran.TestMan misst den verbrauchten Speicher, während man die Software verwendet. Wenn die Menge des verwendeten Speichers ständig steigt, handelt es sich wahrscheinlich um ein Memory-Leak.ReparaturMan führt die Software Codezeile für Codezeile aus, bis man eine Stelle findet, die man beheben kann. Man gibt den Speicher mit einem geeigneten Stück Code frei.

2

Räuberischer grauer Drache

(GRÖßERER FUNKTIONSFEHLER)

Auf dem Fest im Schafstal erinnerte sich Ritter Dotterbart an das letzte Mal, als er einem Drachen begegnet war. Und die Dorfbewohner baten ihn, diese Drachengeschichte zu erzählen. Laura und die anderen Kinder aus dem Schafstal hörten ihm aufmerksam zu.

Dotterbart hatte zusammen mit zehn anderen Rittern den Bau einer neuen Holzpalisade, eines langen Holzzauns mit Wachtürmen hier und da, um die abgelegene Waldburg beaufsichtigt. Diese Burg war nur ein großes Blockhaus, umgeben von etwa zwanzig kleineren Häusern, und das war das ganze Dorf. Die Palisade umgab die Häusergruppe. Außerhalb des Zauns befand sich eine Reihe großer angespitzter Baumstämme, die in den Boden eingelassen waren. Die Dorfbewohner hatten diese Palisade seit zwanzig Jahren nicht mehr erneuert, was man am Zustand der alten Stämme erkennen konnte. Einige der Stämme waren verrottet und im Laufe der Zeit einfach abgenutzt. Da die Menschen einige der Stämme mehrmals repariert hatten, sah die Palisade sehr brüchig aus. Nun half eine Gruppe von zehn Rittern den Dorfbewohnern beim Auswechseln der Stämme.

Das Dorf in der Geschichte könnte ein Online-Geschäft in der Welt der Computertechnologie sein. Gemeinsam kann das Softwareentwicklungsteam (Programmierer und Tester) die Software erstellen und Fehler finden, lokalisieren und beseitigen.

Es gab auch einen kleinen Jungen, Tom. Er war nach Waldburg gekommen, um den Sommer mit seiner Tante Rachel zu verbringen. Seine Eltern waren in diesem Sommer sehr beschäftigt, so dass Toms Mutter ihre Schwester überredet hatte, sich in den Sommermonaten um ihn zu kümmern. Tom verbrachte seine Zeit damit, mit anderen Kindern an der Palisade zu spielen. Die Baumstämme bildeten ein wunderbares Labyrinth, in dem man Fangen oder Verstecken spielen konnte. Hier und da gab es Löcher, durch die sich ein kleines Kind zwängen konnte. Tolle Geheimtüren im Labyrinth! Als Tom jedoch die Ritter kommen sah, interessierte ihn etwas Neues. Die glänzenden Rüstungen und die scharfen Waffen der Ritter waren wunderschön anzuschauen. Tom begann, seine Tage in der Nähe der Ritter zu verbringen.

Dotterbart und zwei weitere Ritter hatten die Form der Palisade auf einem großen Stück Pergament aufgemalt. Ritterin Swanhilde und zwei weitere Ritter halfen den Dorfbewohnern, die Stämme fest in den Boden zu stecken und mit Seilen zusammenzubinden. Die Palisade sollte so stabil wie möglich gebaut werden. Swanhilde hatte auch die Aufgabe, etwaige Drachen in Schach zu halten.