Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie haltet Ihr es mit dem Fuzz-Testing? (https://www.delphipraxis.net/213481-wie-haltet-ihr-es-mit-dem-fuzz-testing.html)

Sherlock 4. Aug 2023 10:52

Wie haltet Ihr es mit dem Fuzz-Testing?
 
Wenn man sich bei der Entwicklung an bestimmte Normen oder auch Gesetze halten muß, kommt man zwangsläufig zu dem Punkt, an dem Cybersecurity auf der Agenda steht und da fallen dann Begriffe wie Penetration Testing oder auch Fuzz Testing. Während ich mir unter PenTests noch einiges vorstellen kann wird es beim Fuzzing sehr schwammig (für mich).
Grundsätzlich ist ja Fuzz Testing ein Vorgang, bei dem man mehr oder weniger unsinnige dafür sehr zahlreiche Eingaben simuliert - was den älteren Begriff des Monkey Testings erklärt. Geht damit also auf den ersten Blick in Richtung UnitTests, nur eben halt am fertigen Produkt - und über die GUI oder wenn man Glück hat über eine (Web-)API. Letzteres ist dann schon wieder trivial, darauf will ich nicht eingehen - ist aber spannenderweise genau das was die allermeisten Tools anbieten. Mich interessiert das GUI Fuzzing.

Was ich so gefunden habe sind alte Stories wie diese https://www.delphitools.info/2016/03...ing-in-delphi/ ohne wirklichen Inhalt. Wenn ich die Delphi Brille ausziehe, dann stoße ich auf WinAFL bzw WINNIE. WINNIE ist "nur" ein Fork von WinAFL, weshalb ich beide mal Synonym verwende, auch wenn ich damit vermutlich WINNIE unrecht tue. Was die machen ist verkürzt und vereinfacht gesagt, festzustellen, wo bzw. wie Eingaben getätigt werden und dann diese Eingaben nicht über die GUI zu schicken, sondern an die darunter liegenden DLLs, die die Eingaben verarbeiten sollen. Delphi Brille auf! DLLs? Delphi? Ja, das machen wohl viele so. Aber ich liebe monolithische Applikationen. Der WinAFL Ansatz ist damit erledigt. Wenn man dann noch FMX in den Topf wirft, wird es wohl noch etwas "lustiger" sind ja keine Standardcontrols mehr, sondern selbst gezeichnetes "Zeugs". Was nun?

TL/DR: Wie betreibt Ihr Fuzzing Eurer Delphi (FMX) Applikationen?

Sherlock

Union 4. Aug 2023 11:08

AW: Wie haltet Ihr es mit dem Fuzz-Testing?
 
Bisher fieserweise mit DUnit(X) und Formularzugriff.

himitsu 4. Aug 2023 11:31

AW: Wie haltet Ihr es mit dem Fuzz-Testing?
 
Für FMX gibt es auch API-Erweiterungen bezüglich ScreenReader (für Blinde und Dergleichen),
womit das System quasi zusätzlich gesagt bekommt "da gibt es / dort ist ein Edit mit dem Inhalt", selbst wenn es das nicht direkt (für Windows) gibt.
https://docwiki.embarcadero.com/RADS...bility_Package

PS: Selbes Problem hast du z.B. auch bei Grids.

Für TestComplete gibt es da z.B. eine DevExpress-Erweiterung, welche von außen über die DebugInfos geht, um auf Rows, Columns oder Zellen zuzugreifen.
Solche Grids malen sich ja auch selber und nur dort, wo der Editor aktiv ist, hast du für dieses eine Zelle z.B. ein echtes Edit.
Und andere gehen auch über die RTTI.

Sherlock 4. Aug 2023 11:44

AW: Wie haltet Ihr es mit dem Fuzz-Testing?
 
Zitat:

Zitat von Union (Beitrag 1525280)
Bisher fieserweise mit DUnit(X) und Formularzugriff.

Daran habe ich noch gar nicht gedacht. Hmmm. Ich war halt immer von der Exe als Blackbox ausgegangen...

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz