Pas encore inscrit ? Creez un Overblog!

Créer mon blog

Code Coverage Tools - Einsatzmöglichkeiten und Erfahrungsberichte

Code Coverage Tools - Einsatzmöglichkeiten und Erfahrungsberichte Als Senior Software Controller hört man unter den Kollegen oft falsche Aussagen über Code Coverage. Diese soll nun folgendes Kompendium aufdecken, damit andere Programmierer nicht wieder dem selben Irrtum aufsitzen.

Mit Code Coverage nicht immer 100 Prozent Abdeckung

So kann man etwa nicht immer 100 Prozent Abdeckung erreichen, bedingt durch den mangelnden Durchlauf des Case in der Switch-Anweisung.
Dieser Zweig besteht immer, egal ob er explizit programmiert wurde oder nicht. Ein weiterer Irrglaube besteht darin, dass der Name immer dasselbe Coverage-Maß anführt. Insbesondere wenn Codes wie C0 oder C1+ verwendet werden, ist Sorgfalt angesagt. Aufpassen sollte man auch bei der Messung, denn es nicht deutlich, wie Coverage gemessen wird. So besteht berechtigter Zweifel, wenn als Messergebnis das Modul Tessy angeführt ist. Beispielsweise wenn zwei Zweige berechnet werden, charakterisieren die Label „case 0“, „case 1“ und „case 2“ ein und denselben Zweig, was damit argumentiert werden könnte, dass ja alle drei desselben Befehl ausführen.
Falls jedes Label als eigener Zweig nummeriert wird, gibt es ja schon vier Zweige. Anzeige Die Verschiedenheit wird somit erst klar und eindeutig, wenn ein Testfall mit (i==1) erledigt wird. Ergeben sich dadurch 25 Prozent Zweigüberdeckung?
Die Switch-Anweisung besteht aus vier Zweigen; somit 25 Prozent Zweigüberdeckung. Nicht richtig ist weiters, wie der Code verfasst ist.
Ein Code in derselben Programmiersprache kann zur Erzielung eines bestimmten Coverage-Maßes eine unterschiedliche Anzahl von Testfällen erfordern.
Man kann einfach aus dem Code Testfälle folgern, mit denen man eine 100 prozentige Code-Coverage erreicht. Tools vernichten dies automatisch. Allerdings muss man sich dabei Folgende bewusst sein: Durch aus dem Code konsequenter Testfälle kann man keine Auslassungen im Code aufspüren!
Wurde etwa „verschwitzt“, eine Abfrage einzubauen, kann natürlich aus dem Code auch kein Testfall angenommen werden, der diese Abfrage prüft. Das Resultat von automatisch abgeleiteten Testfällen sollte explizit kontrolliert werden.
Versäumt man dies, werden bei ihrer Ausführung nur gravierende Probleme des Testobjekts, beispielsweise Bugs mit Total-Abstürzen, erfasst. Die Ableitung der Testergebnisse aus dem Code begrenzt die Testaussage ziemlich, denn dabei wird der Code als richtig und passend angenommen.

Fazit

Seien Sie sich immer sicher, dass Ihr Gesprächsteilnehmer unter einem Begriff aFazit uch dasselbe begreift und denkt wie Sie selbst. Wenn Sie ein Hilfsmittel zur Messung der Code-Coverage starten, testen Sie, wie dieses die obigen Zweifelsfälle behandelt. Seien Sie sich nie ganz entspannt, nur weil Sie 100 Prozent Code-Coverage erzielt haben!
Diese Ratschläge sollten Sie beim Umgang mit Code-Coverage auf alle Fälle beherzigen! Code-Coverage Tools für Java sind somit etwa Clover oder EMMA.

Articles de la même catégorie Computer

XML Parser in C - Empfehlungen und Erfahrungsberichte

XML Parser in C - Empfehlungen und Erfahrungsberichte

XML oder extensible Markup ist eine Programmiersprache, in der es möglich ist, persönliche Programmiervorgänge in HTML zu realisieren. Sie können somit eigene Informationen auf Ihrer Website nach eigenen Vorstellungen generieren. Die XML-Codes ersetzen eine große Datenbank. Anschließend werden die Daten auf der Website meistens in PHP dargestellt. Dieser Artikel zeigt Empfehlungen und Erfahrungsberichte zum XML Parser in C auf.
T-Shirt selbst bedrucken - so gehts!

T-Shirt selbst bedrucken - so gehts!

Erfahre wo und wie du tolle T-Shirts bedrucken kannst. Heutzutage ist dies kein weltbewegender Aufwand mehr.
PC ohne neue Hardware schneller machen - Geht das?

PC ohne neue Hardware schneller machen - Geht das?

Wer seinen PC schneller machen möchte, muss hierfür nicht unbedingt neue Hardware kaufen. Vielmehr kann man mit ein paar einfachen technischen Tricks für Schnelligkeit sorgen. Wie das genau funktioniert erfahren Sie bei uns.
Linux Spiele: Wie groß ist die Auswahl?

Linux Spiele: Wie groß ist die Auswahl?

Linux kennt man vor allem aus dem Serverbereich. Doch langsam hält das Betriebssystem auch auf dem Desktop Einzug. Aber auch unter Linux will man gelegentlich die Zeit tot schlagen und ein Spielchen wagen. Hier sind einige Beispiel für gute Spieleunterhaltung.