Artwork

Inhalt bereitgestellt von Wolfgang Gassler, Andy Grunwald, Wolfgang Gassler, and Andy Grunwald. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Wolfgang Gassler, Andy Grunwald, Wolfgang Gassler, and Andy Grunwald oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Player FM - Podcast-App
Gehen Sie mit der App Player FM offline!

#189 Fuzzing: Wenn der Zufall dein bester Tester ist mit Prof. Andreas Zeller

1:19:38
 
Teilen
 

Manage episode 474508686 series 3432292
Inhalt bereitgestellt von Wolfgang Gassler, Andy Grunwald, Wolfgang Gassler, and Andy Grunwald. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Wolfgang Gassler, Andy Grunwald, Wolfgang Gassler, and Andy Grunwald oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.

Fuzzing: Software-Stabilität durch Zufalls-generierte Eingabedaten

Testen, besonders automatisiertes Testen der eigenen Software, gilt als Best Practice in der Softwareentwicklung. Egal, ob wir dabei von Unit-Testing, Integration Testing, Funktions- oder Akzeptanztesting sprechen. Die Idee dabei ist, dass wir die Fehler in der Software gering halten. Auch wenn deine Tests zu einer 100%igen Code Coverage führen, heißt es nicht, dass dein Programm keine Bugs hat. Denn ein Problem gibt es bei all diesen Test-Arten: Die Input-Parameter sind i.d.R. nach einer gewissen Struktur erstellt worden. Und dies heißt noch lange nicht, dass diese Input-Parameter alle möglichen Fälle abdecken.

Und genau da kommt das Thema Fuzzing bzw. Fuzz-Testing ins Spiel. Das Testen deiner Software mit zufällig generierten Input-Parametern. Das klingt erstmal wild, kann aber ganz neue Probleme in deiner Software aufdecken. Und das ist das Thema in dieser Episode.

Zu Gast ist Prof. Dr. Andreas Zeller, Forscher im Bereich Softwaretesting und Autor des Fuzzing Books. Mit ihm klären wir, was Fuzzing eigentlich ist, woher es kommt und wie es sich gegenüber anderen Teststrategien, wie Unit-Testing, verhält. Er gibt uns einen Einblick in die Unterschiede von Search-Based Fuzzing, Grammar-Fuzzing, Symbolic Fuzzing sowie spezifikationsbasierten Fuzzern, wie komplexe Systeme mittels metamorphes Testen verbessert werden können, was das Orakel-Problem ist, wie z.B. Datenbanken gefuzzed werden können, aber auch wie das Ganze in der Praxis angewendet werden kann und wie du einfach mit Fuzzing starten kannst.

Bonus: Was ein Orakel mit Testing zu tun hat.

Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners

Das schnelle Feedback zur Episode:

👍 (top) 👎 (geht so)

Anregungen, Gedanken, Themen und Wünsche

Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle …

Unterstütze den Engineering Kiosk

Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer

Links

Sprungmarken

(00:00:00) Intro

(00:01:37) Fuzzing mit Prof. Dr. Andreas Zeller

(00:07:55) Info/Werbung

(00:08:55) Was ist Fuzzing?

(00:12:37) Fuzzing im Kontext von anderen Test-Strategien

(00:14:45) Woher stammt Fuzzing?

(00:18:41) Eingabe-Parameter beim Testing

(00:22:43) Unterschiedliche Arten von Fuzzing

(00:31:37) Feedback vom Fuzzer erneut in den Testprozess integrieren

(00:40:23) Search-Based-, Grammar-, Symbolic- und spezifikationsbasiertes Fuzzen

(00:45:04) Fuzzing: Wissenschaft vs. Praxis

(00:50:32) Fuzzing von hochkomplexen Systemen wie z.B. Datenbanken

(01:03:04) LLMs vs. Fuzzing

(01:09:16) Mit dem Fuzzing starten

(01:15:58) Testabdeckung bei elektronischen Rechnungen

Hosts

Community

Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter https://engineeringkiosk.dev/join-discord

  continue reading

216 Episoden

Artwork
iconTeilen
 
Manage episode 474508686 series 3432292
Inhalt bereitgestellt von Wolfgang Gassler, Andy Grunwald, Wolfgang Gassler, and Andy Grunwald. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Wolfgang Gassler, Andy Grunwald, Wolfgang Gassler, and Andy Grunwald oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.

Fuzzing: Software-Stabilität durch Zufalls-generierte Eingabedaten

Testen, besonders automatisiertes Testen der eigenen Software, gilt als Best Practice in der Softwareentwicklung. Egal, ob wir dabei von Unit-Testing, Integration Testing, Funktions- oder Akzeptanztesting sprechen. Die Idee dabei ist, dass wir die Fehler in der Software gering halten. Auch wenn deine Tests zu einer 100%igen Code Coverage führen, heißt es nicht, dass dein Programm keine Bugs hat. Denn ein Problem gibt es bei all diesen Test-Arten: Die Input-Parameter sind i.d.R. nach einer gewissen Struktur erstellt worden. Und dies heißt noch lange nicht, dass diese Input-Parameter alle möglichen Fälle abdecken.

Und genau da kommt das Thema Fuzzing bzw. Fuzz-Testing ins Spiel. Das Testen deiner Software mit zufällig generierten Input-Parametern. Das klingt erstmal wild, kann aber ganz neue Probleme in deiner Software aufdecken. Und das ist das Thema in dieser Episode.

Zu Gast ist Prof. Dr. Andreas Zeller, Forscher im Bereich Softwaretesting und Autor des Fuzzing Books. Mit ihm klären wir, was Fuzzing eigentlich ist, woher es kommt und wie es sich gegenüber anderen Teststrategien, wie Unit-Testing, verhält. Er gibt uns einen Einblick in die Unterschiede von Search-Based Fuzzing, Grammar-Fuzzing, Symbolic Fuzzing sowie spezifikationsbasierten Fuzzern, wie komplexe Systeme mittels metamorphes Testen verbessert werden können, was das Orakel-Problem ist, wie z.B. Datenbanken gefuzzed werden können, aber auch wie das Ganze in der Praxis angewendet werden kann und wie du einfach mit Fuzzing starten kannst.

Bonus: Was ein Orakel mit Testing zu tun hat.

Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners

Das schnelle Feedback zur Episode:

👍 (top) 👎 (geht so)

Anregungen, Gedanken, Themen und Wünsche

Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle …

Unterstütze den Engineering Kiosk

Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer

Links

Sprungmarken

(00:00:00) Intro

(00:01:37) Fuzzing mit Prof. Dr. Andreas Zeller

(00:07:55) Info/Werbung

(00:08:55) Was ist Fuzzing?

(00:12:37) Fuzzing im Kontext von anderen Test-Strategien

(00:14:45) Woher stammt Fuzzing?

(00:18:41) Eingabe-Parameter beim Testing

(00:22:43) Unterschiedliche Arten von Fuzzing

(00:31:37) Feedback vom Fuzzer erneut in den Testprozess integrieren

(00:40:23) Search-Based-, Grammar-, Symbolic- und spezifikationsbasiertes Fuzzen

(00:45:04) Fuzzing: Wissenschaft vs. Praxis

(00:50:32) Fuzzing von hochkomplexen Systemen wie z.B. Datenbanken

(01:03:04) LLMs vs. Fuzzing

(01:09:16) Mit dem Fuzzing starten

(01:15:58) Testabdeckung bei elektronischen Rechnungen

Hosts

Community

Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter https://engineeringkiosk.dev/join-discord

  continue reading

216 Episoden

Semua episod

×
 
Loading …

Willkommen auf Player FM!

Player FM scannt gerade das Web nach Podcasts mit hoher Qualität, die du genießen kannst. Es ist die beste Podcast-App und funktioniert auf Android, iPhone und im Web. Melde dich an, um Abos geräteübergreifend zu synchronisieren.

 

Kurzanleitung

Hören Sie sich diese Show an, während Sie die Gegend erkunden
Abspielen