Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.java > #12985

Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle

Path csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From "Christian H. Kuhn" <qno-news@qno.de>
Newsgroups de.comp.lang.java
Subject Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle
Date Mon, 11 Jul 2016 00:40:08 +0200
Lines 66
Message-ID <dug173Fd960U1@mid.individual.net> (permalink)
References <du7ob7Fecu7U1@mid.individual.net> <du9qajFt4ctU1@mid.individual.net> <nlp7qu$j5a$1@newsreader4.netcologne.de>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace individual.net xBZ1WZQU0tldKqPlAb0RZwkPxD+7CdW8t7ZrQbpDLxoy/670w=
Cancel-Lock sha1:8rhUhNpBY3Oi8xpP7rtT/5BzxCA=
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0
In-Reply-To <nlp7qu$j5a$1@newsreader4.netcologne.de>
Xref csiph.com de.comp.lang.java:12985

Show key headers only | View raw


Am 09.07.2016 um 00:01 schrieb Patrick Roemer:
> Trotzdem wäre ein zusätzlicher default-Branch legal und damit eben ein
> weiterer Codepfad.

Nachdem ich darüber meditiert habe, habe ich im gegebenen Fall eine der
legalen Varianten nicht explizit, sondern als default implementiert. Mit
Bauchweh; der Tag mag kommen, an dem ich mich für diese Entscheidung
hassen werde. Ich hab es aber im Quellcode sauber dokumentiert :-)

>> Sourcen ändern, um bei
>> gleicher Funktionalität Tests zu erfüllen, ist wohl kein guter Gedanke.
> 
> Unter Umständen schon, das nennt sich Refactoring und Test-Driven-Design. :)
> 
> Hier geht es aber nur darum, ein automatisiertes Tool glücklich zu
> machen, das den Codefluss nicht versteht. 

Ich habe mich da etwas ... suboptimal ausgedrückt. Zum Glück hast du
mich richtig verstanden :-)

>> Den Branch-Schwellenwert, der für einen grünen Build erreicht werden
>> muss, abzusenken kann auch keine Lösung sein, denn der erträgliche Wert
>> hängt zu sehr von der Anzahl der switch- zu sonstigen Verzweigungen ab.
> Was soll denn ein solcher Schwellenwert bringen? Bei 80% Abdeckung ist
> mein Code ok, bei 79.9% Mist? Boiling Frogs...

100% Abdeckung classes, lines und methods macht schon Sinn. Wenn es
weniger wird, hat man wohl irgendwo irgendwas übersehen. Branches und
Complexity hingegen ... ich neige dazu, die ersten drei bei Jenkins für
den Status auszuwerten, die letzten beiden dagegen nur für Gesundheit.

Ich bin auch im Moment noch in dem Stadium, in dem mir eine
nicht-100%-Abdeckung von was auch immer ein paar interessante Einblicke
in die Funktionsweise von Java vermittelt. Kann durchaus sein, dass
Testabdeckung in nem Jahr nicht mehr die Bedeutung für mich hat, die sie
heute hat.

>> Bleibt ein anderes Tool.
> Oder die Erkenntnis, dass die Dinger einfach nicht perfekt sein können.

Um das herauszufinden, spiele ich gerade mit den Dingern. Für die
statische Analyse hatte ich bislang nur Checkstyle, inzwischen habe ich
mir auch PDM und FindBugs angeschaut. PDM habe ich fast komplett in den
Build integriert, mit wenigen Anpassungen im ruleset.xml. Wenn mal was
ist (die von Eclipse generierten equals(Object)-Methoden überschreiten
fast immer den Schwellenwert irgendeines Komplexizitätsmaßes), schreibe
ich eine Annotation in den Quellcode, und wenn mal jemand (der Jemand
kann ich auch selbst mit ein paar Monaten Abstand sein) den Code sieht,
weiß er, dass das was war, und kann dann entscheiden, ob meine
Entscheidungen für ihn vernünftig sind. FindBugs hingegen ... Die
Warnungen, die da nach Compiler, Checkstyle und PDM übrigbleiben, haben
zuviele false positives, als dass ich das im automatischen Build haben
möchte. Zur händischen Kontrolle ist das aber auch ganz nützlich.

Ansonsten lese ich. Beck liest sich gut, ich hab aber wenig Zeit.
Mezsaros wird noch ein wenig länger dauern, ich habe aber den Eindruck,
dass der mir auch als Nachschlagewerk gute Dienste leisten könnte.
Representation Model ... dass ich bislang mit Swing kein „sauberes“ MVC
gemacht habe, war mir klar, es ist im View doch manches vom Controller
enthalten. Damit bin ich immerhin schon über Autonomous View
hinausgewesen :-) Die Folien machen Sinn, ich bemühe mich gerade um
weitere Literatur. Martin Fowler hat da unter dem für mich nicht
intuitiven Stichwort EAA dev einiges auf seiner Webseite.

mfg
QNo

Back to de.comp.lang.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-07 21:19 +0200
  Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Peter <peter@localhost.com> - 2016-07-07 22:37 +0200
    Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Michael Paap <feunews@mpaap.de> - 2016-07-07 23:21 +0200
      Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-08 14:09 +0200
    Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Wanja Gayk <brixomatic@yahoo.com> - 2016-07-08 22:10 +0200
      Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Patrick Roemer <sangamon@netcologne.de> - 2016-07-09 00:17 +0200
        Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Wanja Gayk <brixomatic@yahoo.com> - 2016-07-18 00:33 +0200
          Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-18 01:01 +0200
          Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Patrick Roemer <sangamon@netcologne.de> - 2016-07-19 10:58 +0200
            Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Wanja Gayk <brixomatic@yahoo.com> - 2016-07-21 00:07 +0200
          Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-19 14:09 +0200
  Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Patrick Roemer <sangamon@netcologne.de> - 2016-07-08 00:28 +0200
    Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-08 14:13 +0200
  Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-08 16:05 +0200
    Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Wanja Gayk <brixomatic@yahoo.com> - 2016-07-08 22:35 +0200
    Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Patrick Roemer <sangamon@netcologne.de> - 2016-07-09 00:01 +0200
      Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-11 00:40 +0200
        Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 23:25 +0200
    Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-15 00:12 +0200
  Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle Wanja Gayk <brixomatic@yahoo.com> - 2016-07-08 21:57 +0200
  Re: Unit-Tests von Einheiten ohne öffentliche Leseschnittstelle "Christian H. Kuhn" <qno-news@qno.de> - 2016-07-11 01:13 +0200

csiph-web