Testumgebungen und code sanitiizer

Gast #5768530
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
Gast #5768888
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...
#5769109
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.