Forum: Mikrocontroller und Digitale Elektronik Testumgebungen und code sanitiizer


von Klaus (Gast)


Lesenswert?

Hi
ich soll Testtools einführen für mein Ethernet Stm32 
Project(FreeRtos/LWIP/ Motorsteuerung). Bisher (Demo/Prototype/nur 
Teilfunktionalitäten) habe ich nur über python paar UDP packete hin und 
her geschickt und einzelne funktionalitäten überprüft

Was konnt ihr mir empfehlen für:

- Unit tests:
1. tessy von Hitex
2.

- statische tests:
1. Misra
2. Absinth

- Testumgebungen basiernd auf formale Methoden
1.

Was gibt es da sonst noch wenn es um Inetgrationstests geht?
Danke

von c-hater (Gast)


Lesenswert?

Klaus schrieb:

> ich soll Testtools einführen

Ich würde eher empfehlen: Programmieren richtig lernen (vor allem auch 
die völlig sprachunbhängigen Grundlagen der Sache).

Dazu solide Kenntnisse über das, was man in der Software abbilden will, 
incl. des mathematischen Background.

Dann braucht man keine "Testtools", sondern schreibt sich die Tests 
einfach selber. Und zwar genau die, die TATSÄCHLICH sinnvoll sind. 
Leider: Man erwischt auch dann meist nicht alles. Das Problem mit der 
Komplexität schlägt leider bei den Test ganz genauso zu wie bei der 
eigentlich zu testenden Software. Sprich: Das Problem wird dadurch 
niemals aus der Welt geschafft werden können. Es hilft nur gegen die 
schlimmsten Auswirkungen von nachträglichen Änderungen durch volldumme 
Programmierer ohne Überblick über die Struktur des Gesamtwerks. Das ist 
alles, was solche Tests wirklich leisten können. Und auch das nur, wenn 
es keine Erweiterung der Funktion gibt. Denn dann wären auch wieder die 
Tests zu erweitern und zwar sukzessive über das Gesamtwerk.

Also praktisch ist diese ganze Testerei überwiegend nur nutzloser 
Mehraufwand. Die hier investierte Zeit fehlt beim eigentlichen Code. Im 
Prinzip wurde die Sache erfunden, um billige, dumme, austauschbare 
Programmierer haben zu können. Klappt nur leider nicht wirklich, das 
müssen die "Entscheider" aber immer erst auf die harte Tour lernen...

von Vn N. (wefwef_s)


Lesenswert?

Och Nö, c-Hauer, bist du irgendwann in den Siebzigern hängen geblieben? 
Damals hat man nämlich schon festgestellt,  dass Unit- und 
Integrationstests sinnvoll sind. Und ja, natürlich muss man die selbst 
schreiben, aber sinnvollerweise lässt man sich das rundherum von einem 
Framework abnehmen.
Irgendwann in 70ern hat man halt gemerkt, dass Menschen nicht unfehlbar 
sind, aber davon hast du noch nix gehört,  dementsprechend auch nicht 
von testgetriebener Entwicklung.

Topic:
Für Unittests gäbe es z.B. noch cpputest (auch für c geeignet), cmocka, 
Unity (evtl mit ceedling), etc. pp.
Welches Framework man nimmt ist im Endeffekt Geschmackssache, bzw. eine 
Frage der benötigten Features. Nicht jedes läuft gleich einfach auf der 
Zielhardware.
Stativ Analyzer und MISRA-Checker gibts ja mittlerweile wie Sand am 
Meer, kann man also ruhig mehrere gleichzeitig verwenden (nicht jeder 
findet das gleiche). Beispiele wären cppcheck, lint, Codesonar. Bis 
auflibt frei verfügbar, und lint kostet auch nicht die Welt. Codesonar 
kann sogar schöne bunte Grafiken fürs Management generieren, freut den 
Chef dann dass er im nächsten Meeting was zum herzeigen hat.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.