Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 13. Nov 2018 23:10

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Test-Methodik in Treiber-SW?
BeitragVerfasst: 12. Okt 2007 23:18 
Offline

Registriert: 25. Jun 2007 15:16
Beiträge: 18
Moin!

Weiss jemand, was für Methoden grundsätzlich verbreitet sind, um Treiber-Level Software gründlich auf Fehler und Schwachstellen zu untersuchen?

Wird da auch viel mit Unit-Tests gearbeitet? Oft ist es ja gar nicht mal so einfach, an die Funktionen ranzukommen, bzw eine geeignete Test-Umgebung zu erstellen, in der die jeweilige Funktion die benötigten Rahmenbedingungen (vorhandene device files etc) vorfindet.

Könnte mir die bedingte Kompilierung vorstellen, obwohl ich dies eher vermeiden möchte, weil der Code dadurch stark in mitleidenschaft gezogen wird.

Gibt es da irgendwelche "best practices"?

Gruß
Hank


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Okt 2007 10:57 
Offline

Registriert: 26. Aug 2006 13:07
Beiträge: 38
Wohnort: Zürich
Hallo

Für Unit Testing eignen sich dafür sogenannte 'Mock'-Objekte. Es handelt sich dabei um Objekte, welche eine Umgebung simulieren und bereitstellen, in welcher die zu testende Unit läuft. Das benötigt meist etwas Aufwand, lohnt sich aber.

Im weiteren lohnt sich für LowLevel Treibertesting auch eine virualisierte Umgebung. Damit hat man die Vorteile, schnell in einen Zustand zu wechseln, der unberührt von Veränderungen ist. Eine Open-Source Lösung, die dir ermöglicht, vollständig die Kontrolle über einen Treiber im Gast OS zu erhalten kann hier ergänzend eingesetzt werden (bsp VirtualBox - aber ärgere dich nicht über den Code ;-) ).

Dann auch Kernel Debugging, wobei ich hier mal noch ausprobieren muss wie sich dies in einer virtualisierten Umgebung verhält (würde sich anbieten).

hth
Marco Gerber


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 13. Okt 2007 11:23 
Offline

Registriert: 25. Jun 2007 15:16
Beiträge: 18
Hallo

Danke für die Vorschläge!

Virtuelle Umgebungen sind sicherlich nicht schlecht. Allerdings handelt es sich nicht um die x86-Architektur und Linux als Ziel-Plattform, sondern um ein eingebettetes System mit einem Sparc-Prozessor und einem Echtzeitbetriebssystem, dafür sind die meisten virtuellen Maschinen wohl nicht ausgelegt.

Ich vermute mal, dass ich invididuell mir den Code anschauen werde, teile davon vielleicht mit Ausgaben debuggen werde, oder halt Funktionstests und Integrations-tests einbaue, wo es sinnvoll ist.

Ich bin nur noch nicht lange in dem Bereich in der Praxis, sodass ich mir die Vorgehensweise dabei noch teilweise aneignen muss. ;-) Fuzz-Testing klingt auch sehr interessant, aber ich hab auch nur einen theoretischen Artikel darüber in einer Zeitschrift gelesen und es nicht ausprobiert.

Gruß
Hank


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 3 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de