10 Stimmen

C eingebettet automatische Generierung von Einheitstests

Gibt es eine SW zur Erstellung von Unit-Tests in C und eingebetteten Anwendungen? Der Grund, warum ich frage, ist, dass mein Chef mir sagte, er habe von jemandem gehört, dass "Sie brauchen ein Tool, um den Code zu analysieren und 80% aller relevanten Testfälle automatisch zu erstellen, die restlichen 20% verwenden Sie Ihre ganze Zeit und konzentrieren sich auf", sonst würde es "zu viel Zeit".

Ich stehe dieser Aussage sehr skeptisch gegenüber und kann nicht klar erkennen, welche Art von Tests automatisch generiert werden könnten und ob sie überhaupt etwas taugen würden.

Ich kann mir jedoch vorstellen, dass es möglich wäre, automatisch Schnittstellentests für die APIs zu erstellen.

Kann mich jemand über dieses Problem aufklären?

0voto

XAder Punkte 656

Wir verwenden IBM RTRT

http://www-01.ibm.com/software/awdtools/test/realtime/index.html

In unserem Anwendungsfall verwenden wir es zwar nicht, um die Tests zu generieren, aber ich habe einige Möglichkeiten gesehen, um zumindest ein Skelett zu erstellen.

0voto

Trevor Punkte 5439

Gibt es eine SW zur Erstellung von Unit-Tests in C und eingebetteten Anwendungen?

Ja. Rational Test Realtime von IBM wird eine gute Wahl sein.

ein Tool, das den Code analysiert und 80 % aller relevanten Testfälle automatisch erstellt

Nein. Es gibt kein Werkzeug, das diese Arbeit für alle Arten von C-Quellcode erledigen kann.

In einigen Fällen jedoch schon. In meinem Fall habe ich zum Beispiel eine große Menge an C-Quellcodes, die vom Kunden getestet werden müssen. Da aber alle Quelldateien ziemlich ähnlich sind, haben wir ein kleines Tool entwickelt, das jede Datei liest und Testfälle generiert (in der Skriptsprache des Unit Testing Tools), die dann vom Unit Testing Tool ausgeführt werden. Und ja, in diesem Fall spart es 80% Aufwand.

Sie könnten also in Erwägung ziehen, dies zu tun, die ähnlichen Quellcodes herauszufinden und Ihr eigenes Tool zu erstellen, das Testfälle für die ähnlichen generieren kann.

0voto

Eyal Gerber Punkte 461
  1. Ich habe Parasoft C++Test . Es ist ziemlich teuer, aber es erledigt die Arbeit schnell. Erzeugt alle Unit-Tests und Mock-Funktionen für C und C++ und sorgt für eine 100%ige Codeabdeckung. Es kommt auch mit seinem eigenen Unit-Tests-Framework und Mocking-Framework, so dass, wenn Sie Ihre eigenen Unit-Tests schreiben wollen, können Sie es auch tun.
  2. Ein weiteres Instrument ist Tessy was auch nicht billig ist. Es generiert auch Unit-Tests und Mock-Funktionen für Ihren gesamten Code. Tessy unterstützt C und C++, aber aus meiner kurzen Erfahrung mit ihm, ist es freundlicher für C-Code. Im Falle von C++ müssen Sie möglicherweise Anpassungen vornehmen, damit die Testgenerierung richtig funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X