Prüfung der Qualität einer Programmierung

Liebe Expertinnen und Experten,

wie kann ich einen Nachweis über die Qualität einer Programmierung erbringen?

Vielen Dank im Voraus!

Hubert Brand

Auch hallo.

wie kann ich einen Nachweis über die Qualität einer
Programmierung erbringen?

Eigentlich ganz einfach: man setzt jemand völlig Unbedarftes auf die
Bedienung des Programms an. Dieser tätigt dann irgendwelche Eingaben.
Wenn das Programm Hilfen bei der Eingabe anbietet, bei falschen Eingaben nicht abstürzt und ansonsten zuverlässig arbeitet, ist es gut :smile:
Es sei denn, man verwendet noch Mittel wie Metriken, UML, OOD, …

HTH
mfg M.L.

Hallo

wie kann ich einen Nachweis über die Qualität einer
Programmierung erbringen?

In dem Du einen unabhängigen Experten die Projekt-
unterlagen zum Design und zur Implementierung jedes
Schrittes zur Entstehung des Programms/Projektes
studieren lässt und ihn die korrekte
Realisierung/Übereinstimmung in/mit dem
tatsächlichen Code belegen lässt.

Wie denn sonst?

Grüße

CMБ

Hallo,

korrekte Realisierung/Übereinstimmung in/mit dem
tatsächlichen Code belegen lässt.

Der Nachweis soll vor der Projektvergabe, sprich ohne realisierten Code, im Angebot erfolgen!?

Gruss,

Hubert

Hallo

korrekte Realisierung/Übereinstimmung in/mit dem
tatsächlichen Code belegen lässt.

Der Nachweis soll vor der Projektvergabe, sprich ohne
realisierten Code, im Angebot erfolgen!?

Dann musst Du nachweisen, dass Du
Dich an „zertifizierte Methoden“ für
Dein Aufgabenspektrum hältst und die
Anwendung dieser im Angebot mit festschreiben.

zb. sowas: http://www.cmmagazin.de/Zope/cmmagazin/main/data/art…

Aber ehrlich gesagt arbeite ich nicht in
zertifizierten Umgebungen - da müssten
andere mehr dazu sagen können.

Grüße

CMБ

NEIN, NEIN, NEIN, NEIN

so macht man das nicht.

Sorry für die Deutlichkeit, aber Testen ist eine anspruchsvolle Aufgabe und weit von einfach mal alles anklicken entfernt.

Am Besten macht das ein externes Testlabor. Die sind erfahren und unabhängig. Die entwerfen Testfälle, die reproduzierbar und meist auch automatisiert ablaufen können.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

NEIN, NEIN, NEIN, NEIN

so macht man das nicht.

Sorry für die Deutlichkeit, aber Testen ist eine
anspruchsvolle Aufgabe und weit von einfach mal alles
anklicken entfernt.

Am Besten macht das ein externes Testlabor. Die sind erfahren
und unabhängig. Die entwerfen Testfälle, die reproduzierbar
und meist auch automatisiert ablaufen können.

Hallo,

ihr werft hier ganz verschiedene Sachen durcheinander: Funktionstest und Usability. Zur Qualität gehört allerdings beides.

Zum Usability-Test ist unbedarftes Draufloshacken gerade das Richtige. Mit einem automatischen Testablauf wird man keine Schwächen der intuitiven Bedienbarkeit finden. Und selbst für den Funktionstest kommen solche User oft auf Probleme, an die der professionelle Tester im Traum nicht gedacht hat (was natürlich einen sorgfältigen Test der geforderten Funktionalität keineswegs überflüssig macht).

Gruss Reinhard

Doch, doch, doch, doch,

Moin,

so macht man das nicht.

doch, nur so kannst Du feststellen wo Tücken sind.

Sorry für die Deutlichkeit, aber Testen ist eine
anspruchsvolle Aufgabe und weit von einfach mal alles
anklicken entfernt.

Am Besten macht das ein externes Testlabor. Die sind erfahren
und unabhängig. Die entwerfen Testfälle, die reproduzierbar
und meist auch automatisiert ablaufen können.

Aber diese Leute kennen die Programme und wissen das Du irgendein Fenster öffnen musst um eine Funktion zu bekommen.

Der unbedarfte User wird sich von den Überschriften, Hilfen leiten lassen und in die Fallen laufen. Ist mir regelmäßig passiert, manche der Fehler waren reproduzierbar aber von den Handlungsanweisungen gedeckt, also steckt der Fehler tiefer, diese Fehler finden die „Profis“ nicht!

Warum, z.B. muss ich erst ein Word-Dokument öffnen wenn ich anschließend Texte aus anderen Anwendungen kopieren möchte?

Für mich bedeutet die Zwischenablage, dass die Infos allen anderen Anwendungen zur Verfügung stehen, da macht es keinen Unterschied ob ich erst meine Mails lese, surfe … ich kopiere mir interessante Stellen und möchte diese in ein Word-Dokument kopieren, das geht nicht, wenn ich´s nicht vorher schon bereit gestellt habe. Schwachsinn!

Gruß Volker

Machs wie Bill Gates:

Sämtliche guten Routinen aus guten Programmen klauen und sie dann
als Bundle called „Windows“ verkaufen…

Have a nice Day

Chris

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Aber diese Leute kennen die Programme und wissen das Du
irgendein Fenster öffnen musst um eine Funktion zu bekommen.

Ich denke, ihr redet aneinader vorbei.
Im Allgemeinen meint man mit der Qualität eines Programms in erster Linie nicht die Useability, sondern die korrekte Verarbeitung von Input sowie Stabilität, Wartbarkeit etc.

Grüße,
Moritz

Moin, Hubert,

wie kann ich einen Nachweis über die Qualität einer
Programmierung erbringen?

wie fast meistens lautet die Antwort: Es kommt darauf an. Erstmal soll ein Programm das tun, was es soll, also brauchst Du eine Beschreibung dessen, was vom Programm verlangt wird, anhand derer die Reaktionen des Programms geprüft werden können. Außerdem soll ein Programm nichts tun, was nicht verlangt ist, zB abstürzen, falsche Ergebnisse liefern, Daten verlieren usw usf etc pp. Und nicht zuletzt soll es das, was es tut, so tun, dass der Benutzer versteht, was das Programm von ihm erwartet.

All das genügt aber Deiner Forderung immer noch nicht - Qualität kann gemessen, aber niemals nachgewiesen werden.

Gruß Ralf

Hallo Moritz,

Ich denke, ihr redet aneinader vorbei.
Im Allgemeinen meint man mit der Qualität eines Programms in
erster Linie nicht die Useability, sondern die korrekte
Verarbeitung von Input sowie Stabilität, Wartbarkeit etc.

Ok, wenn man Qualität so aufsplitten will.

Für mich setze ich die von Dir genannten Eigenschaften voraus, ein Programm, das ewig abstürzt ist nicht „gut“.

Wenn die Informatiker 3 Wochen benötigen um in einem von ihnen selbst geschriebenen Programm eine Konstante zu ändern ist entweder das Programm katastrophal geschrieben oder die Leute lahmarschig oder wollen beweisen, dass sie unentbehrlich sind.

Es soll ja auch von großen Fa. Programme/Betriebssysteme geben, die doch teilweise eine Komponente „Wundertüte“ enthalten.

Eine grundsolide Spezifizierung der „Vielleicht-Gatters“ steht wohl noch aus.

Auch wenn die genannten Aspekte erfüllt sind, ist ein Programm für mich erst dann gut, wenn ich es intuitiv bedienen kann.
Die Zeiten, in denen mit Speicher/Rechenzeit gespart werden muss um eine erträgliche Reaktionszeit zu erreichen sind für „normale“ Anwendungen vorbei.

Ich habe z.B. lange Zeit alle Windows-Anwendungen vermieden, auch Word, da es schlicht zu langsam war, wenn Du mit 10-Fingersystem schreibst. Die Umsetzung in die graphische Darstellung war zu langsam.
Da war mir ein Dos-Programm lieber, das auch das mitschrieb, was ich eingetippt hatte.

Bei Super-Aufgaben muss natürlich auch heute noch optimiert werden, das sind aber dann so spezielle Aufgaben, dass man mit kryptischer Bedienoberfläche klar kommt.

Also, ein gutes Programm muss stabil, zuverlässig und bedienbar sein.

Gruß Volker und ein schönes WE

Hallo!

Weiß nicht ob du noch immer auf der Suche bist, aber um Qualität nachzuweisen muss erst einmal festgelegt werden welche Standards zu erfüllen sind. Soll heißen ist es dem Auftraggeber wichtig, dass das Programm besonders schnell ist, besonders stabil läuft oder besonders bunt ist - jetzt nicht so in die Extrema aber um meinen Punkt hier zu verdeutlichen.

Im Allgemeinen habe ich für meine Programme als grundlegende Überprüfung Unit-Tests, Load-Tests und natürlich die beliebte Suche nach Speicherlöchern durchgeführt, mehr dazu findest du mit google.

Empfehlen kann ich dir nur, wenn du jemandem deine Arbeit vorlegen musst, dass du Use-Cases (grob gesagt kurze Ablaufsschemas - besser erklärt mit google) für alle denkbar auftretenden Ereignisse erstellst und (optimaler Weise) danach dein Programm baust oder deine Programm ausbesserst wenn du anhand dieser Use-Cases mögliche Fehlerquellen findest.

Und zu den Usability-Tests: diese werden meiner Erfahrung nach von der angesprochenen Zielgruppe durchgeführt, d.h. wenn du jetzt ein Spiel programmierst dann eben von Gamern bzw. Leuten die von Spielen was verstehen, nicht unbedingt technisch aber wissen was sie von einem neuen Spiel erwarten, wenn du jetzt ein Programm für technisches Planzeichnen entwirfst dann wirst du dir einen Architekten o.Ä. suchen

Usability ist aber IMHO noch lange nicht dasselbe wie Qualität, denn was den einen Tester vielleicht nur ein bisschen stört ist für einen erfahren Programmierer ein Grund Amok zu laufen (Bsp. Programm benötigt 80% CPU bei Tastendruck, fällt dem Anwender vielleicht gar nicht auf, treibt den Programmierer aber in den Wahnsinn)

mfg Mike

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]