qualitativ hochwertiger Programmcode...
-
Ach ja,
kann mir vielleicht jemand ein gutes (Open-Source-) Tool zum Durchführen von Lasttest empfehlen?
Meint - ich suche ein Tool, bei dem ich den gleichzeitigen Zugriff von sehr vielen unterschiedlichen Clients auf eine Web-Applikation simulieren kann!Und wie überprüfe ich überhaupt eine GUI? Ich habe noch nichts in dieser Richtung gefunden und kann mir auch nicht recht vorstellen, wie es funktionieren soll! Kennt jemand dafür ein gutes (Open-Source-) Tool?
Vielen Dank!
Ciao
shoat
-
shoat schrieb:
Hier - in meinem Betrieb - gibt es zahllose J2EE-Anwendungen (für verteilte Systeme).
meine argumente galte für c++ oder ähnliche sprachen.
shoat schrieb:
Die Anwendungen sind dabei grundsätzlich immer sehr ähnlich aufgebaut. Per Definition ist es dabei wichtig, dass einige Funktionen / Klassen sehr klein (effizient) bleiben müssen (und auch fast immer können).
Da es aber ständig unzahlige neue Anwendungen mit noch viel mehr genau solcher Funktionen gibt, möchte er über Metriken (wahrscheinlich reichen hier sogar schon die LOCs) automatisch schnell herausfinden können, ob die diese (o. g.)Funktionen / Klassen bei der entsprechenden J2EE-Anwendung in einem bestimmten Toleranzbereich liegen. Alle die nicht in dem Bereich liegen müssen, werden dann noch mal separat kontrolliert und evtl. verbessert.
das müssen aber sehr, sehr viele sein, daß er nicht auch so sichten kann. nachdem er zwhn davon genauer gelesen hat, kann er doch 11 bis 100 in weniger als einer minute checken und 101 bis 1000 in sekunden.
shoat schrieb:
Er möchte also nicht den Code an sich (oder gar den Programmierer) komplett bewerten, sondern nur mögliche Schwachpunkte in Systemen finden. Die gefundenen Stellen werden dann auch nicht sofort als Fehler angesehen, sondern zuerst einmal genauer unter die Lupe genommen.
wortspalterei.
ich sage voraus, daß die ergebnisse (also rauswürfe durch programm) mit den wunschergebnissen (also rauswürfe durch mensch) einfach nicht korrelieren.
später wird dann gelernt, an welchen metriken man schrauben muß, um in der tat ne positive korrelation hinzukriegen. die wird aber wie üblich nur ne gemeinsame kausalverantwortliche variable anzeigen, keinen kausalen zusammenhang zwischen metrik und codequali. zum beispiel würde man in c++ die minderverwendung von templates und const als anzeiger nehmen für schlechte kommentare. mit ersterem findet man raus, wer nube ist, und der macht auch letzteres. in einem wort: "computermystik".
-
@Volkrad: könntest du bitte noch auf meine letzte Frage antworten? Interessiert micht wirklich.
-
Helium schrieb:
@Volkrad: könntest du bitte noch auf meine letzte Frage antworten? Interessiert micht wirklich.
meinste damit echt
Unit-Test vs. Post-Kondition?
?
-
volkard schrieb:
meine argumente galte für c++ oder ähnliche sprachen.
Ok. Danke für den Hinweis. Allerdings fällt mir im Moment nicht ein, was an einem generischen Ansatz wie Metriken in Java (J2EE = "Java 2 Enterprise Edition") unterschiedlich zu C++ sein soll.
volkard schrieb:
das müssen aber sehr, sehr viele sein, daß er nicht auch so sichten kann.
Ich habe nur einen sehr geringen Einblick (bin relativ neu), aber es sind wirklich sehr, sehr viele verschiedenen Anwendungen (Beans).
Es ist definitiv ein zu großer Aufwand, alle potentiellen Funktionen aller Anwendungen nochmal durch einen Dritten zu kontrollieren. Dafür ist sind es einfach zu viele. Nicht, dass man es nicht gerne machen würde, aber man bräuchte dafür einen eigenen Tester oder sogar eine Testabteilung. Dies wird aber von den Kunden nicht bezahlt, also fehlt einfach das Geld dazu. Also sucht man einen anderen Weg trotzdem so viel wie möglich zu kontrollieren / testen.
volkard schrieb:
nachdem er zehn davon genauer gelesen hat, kann er doch 11 bis 100 in weniger als einer minute checken und 101 bis 1000 in sekunden.
So wurde es ja bisher gemacht. Er ist alle sequentiell durchgegangen und hat dabei festgestellt, dass im Großen und Ganzen die allerallermeisten ok sind. Bei den anderen wurde einfach zuviel auf einmal bzw. sogar unnötig gemacht, damit wurde es zu langsam.
Mittlerweile sind es allerdings zu viele neue (und die alten werden auch ständig geändert), um wirklich noch alle kontrollieren zu können. Jetzt sucht er (was ich grundsätzlich ganz legitim finde) nach einen einfachen Weg, nicht mehr alle in die Hand nehmen zu müssen, sondern eben wesentlich weniger. Er will es mit Metriken versuchen. Oder gibt es einen besseren Ansatz?
shoat schrieb:
wortspalterei. ... keinen kausalen zusammenhang zwischen metrik und codequali.
Hier ist (nach Aussage meines Chefs) kein Tool zur Bewertung der allgemeinen Code-Qualität gesucht, sondern ein Möglichkeit um gezielt Fehler zu suchen, um ihm so seine Arbeit zu erleichtern.
Ob und wie man an der Metrik schrauben muss, um die tatsächlichen Fehler zu finden ist dann doch eigentlich egal, solange sie dann auch gefunden werden. Eigentlich spricht doch auch nichts dagegen, die Fehlersuche zu automatisieren, wenn es möglich ist. Und ob es möglich ist, soll ich auch erst herausfinden.
Also nochmal, nach Aussage meines Chefs sind Metriken dumm wie Brot. Deswegen möchte er sie nur in bestimmten Zusammenhängen einsetzen, wie der gezielten Fehlersuche, wenn es denn möglich ist. Alles andere ist ihm vollkommen Banane!
So ok? Oder was soll ich im sonst sagen? Abbringen wird er sich sowieso nicht mehr lassen, denn er hat sich schon festgelegt.
Ciao
shoat
-
ok. so klingts fein für mich.
-
meinste damit echt
Zitat:
Unit-Test vs. Post-Kondition??
Der Algorithmus sieht doch wohl so aus:
w[n+1] = (w[n] + radiant / w[n]) / 2;
noch ne nette Schleife drum, vorher w[0] initialisieren und fertig. Warum ist dann der Test ergebnis * ergebnis = radiant eine Umformulierung?Und in deiner Antwort kam es für mich so rüber, als seien Postkonditionen blödsinn und Unit-Tests das einzig wahre. Ist das deine Meinung oder ein Missverständniss meinerseits?
-
Hallo Marc++us!
Eben habe ich mir nochmal alle Beiträge in diesem Thread durchgelesen. Dabei bin ich über eine Kleinigkeit gestolpert, die ich nicht verstehe. Du schreist:
Marc++us schrieb:
unter Wartbarkeit verstehe ich gutes OO-Design ... geringe Kohäsion
Wenn ich es richtig verstanden habe, dann sind Kohäsion und Kopplung die charakteristischen Maße zur Bewertung der Güte einer Modularisierung. Kohäsion ist dabei die Stärke des inneren Zusammenhangs eines Moduls. Und je stärker die Köhasion, desto besser ist auch die Modularisierung.
Wenn Du gutes OO-Design als Kriterium für gute Wartbarkeit heranziehst, dann müßte Dein Ziel doch auch hohe und nicht geringe Kohäsion sein! Oder habe ich etwas falsch verstanden?
Viele Grüße!
Ciao
shoat
-
"Adhäsion"
Falsches Wort, sorry. Ich wollte auf "geringe Kopplung der Objekte" hinaus.
-
tja, das kommt eben davon wenn immer zwanghaft versucht so tollklingende fremdwörter zu benutzen.....dabei gibt es doch hier wirklich ein passendes deutsches wort: "bindung"!!
und dann kann man sichs doch auch viele einfacher merken.....denn was gewünscht ist, ist einfach nur eine starke bindung innerhalb der module und eine schwache kopplung zwischen den modulen!!