|
Benno-007
Anmeldungsdatum: Aug. 28, 2007
Beiträge: 10247
Wohnort: Germany
|

22. Dezember 2011 12:24
Im Forum entstand eine kleine Debatte darüber, ob und wie man eigene Scripte, die man veröffentlicht, zu testen hat. Vorgeschichte: Java 6.26.2 http://forum.ubuntuusers.de/post/3770317/ Hier mal ein paar allgemeine Stichpunkte dazu, die meinen Standpunkt darstellen: Es geht immer auch um eine Interessensabwägung: Es ist unbestreitbar sinnvoll und nötig, dass ein Script getestet wird. Für einige mag es selbstverständlich sein, dass der Autor sein Script bis ins letzte Detail selbst testet. Doch hierzu gibt es im Detail verschiedene Standpunkte. Ich bin der Meinung, wenn man Scripte für andere schreibt, die man selbst gar nicht braucht, ist es ok, diese Scripte zum Testen für den Fremdgebrauch zur Verfügung zu stellen - das ist der Open Source Gedanke. Viele Scripte sind trivial, gerade Bash kann man leicht lesen und besteht häufig zu 90% aus einer Aneinanderreihung von bekannten Bausteinen (Befehlen). Hier finde ich es vertretbar, selbst Bausteine zu testen und das Gesamtkonstrukt zum Test als Ganzes freizugeben. Freigabe heißt nur, dass sich in einem Forum ein Interessent daran bedienen, es lesen, testen, verändern und erweitern kann. Nicht mehr und nicht weniger. Wenn man Befehle aus dem Wiki lediglich zu einem Block zusammenkopiert bzw. die dortigen Blöcke um eine Variable und eine Abfrage, ob XY ausgelöst werden soll, ergänzt, ist davon auszugehen, dass aufgrund der geringen Komplexitätsveränderung das gewünschte Ergebnis sehr wahrscheinlich ist. Den finalen Test darf die Zielgruppe übernehmen, wenn man selbst explizit nicht zur Zielgruppe gehört, weil man z.B. das Programm nicht benutzt oder eine eigene aufwendige Konfiguration nicht gefährden will, etwa bei Grub-Befehlen (Bootloader). Es obliegt dem verantwortungsvollen Autor, zu entscheiden, welcher Grad an Komplexität vorliegt und inwiefern Tests von Bausteinen, dem Gesamtkonstrukt oder Tests mit Dummy-Variablen und Debug-Einträgen nötig sind. Entwickelt man beispielsweise Bash-Code für bestimmte Hardware, so ist man nicht verpflichtet, sich diese Hardware anzuschaffen, nur damit die Community nicht selbst testen muss. Man hat auch nicht immer ein Testsystem (RAM für VM) zur Verfügung und nicht jeder Fehler tritt auf jedem System auf. Daher sind Beta-Tests durch Endanwender ohnehin nötig. Manche Scripte sollen Hardware- und Fehlermeldungs-spezifische Probleme lösen und lassen sich daher nicht mal mit gutem Willen selbst nachstellen. Ein Anspruch auf Selbsttests kann daher nicht generell und bedingungslos verlangt werden. Wenn es möglich ist, testet man das ganze Script meist schon, aber oft muss man doch mit Dummy-Variablen arbeiten oder verändert nur triviale Kleinigkeiten. Man bedenkt stets die Folgenhaftigkeit kleiner und größerer Änderungen und durchdenkt sein System im Ganzen wie in Details. Dies ergänzt Tests, egal wer sie letztlich ausführt. Auch wenn Linux sehr zuverlässig ist: Wer von euch würde z.B. nur zum Test für andere Fremdquellen installieren und seine Konfiguration verändern, wenn man es selbst nicht braucht und das Script trivial ist oder nur trivial verändert wurde?
Gibt es dazu Guidelines, wenn ja, welche für wen? Oder wie handhabt ihr es? Macht es für euch (oder in den Forenregeln oder ungeschriebenen Gesetzen) einen Unterschied, ob man in seiner Gesamtheit nicht ganz getestete oder gänzlich ungetestete Codeschnippsel in der Rubrik "Shell und Programmieren" veröffentlicht oder in dem Support-Thema, auf das man sich bezieht? Meiner Meinung nach hat das auch was mit Kennzeichnung(spflicht) von Tests und Vertrauen in die Fähigkeiten sowie Gutwilligkeit einer Person zu tun. Viele Grüße, Benno
Moderiert von redknight: Verschoben, da die primärfrage die Behandlung im Forum und nicht der direkte Support ist
|
|
track
Anmeldungsdatum: Juni 26, 2008
Beiträge: 3769
Wohnort: Wolfen (S-A)
|

22. Dezember 2011 13:43
Allgemein verbindliche Richtlinien wüsste ich jetzt nicht. Allerdings hat sich hier (bei den Skriptern hier auf dem Forumszweig) aus der Praxis und einer gewissen Erfahrung heraus eine Art Konsens herausgebildet, was man tun sollte. Unter diesem Aspekt kommentiere ich mal Deine Punkte. Benno-007 schrieb: Ich bin der Meinung, wenn man Scripte für andere schreibt, die man selbst gar nicht braucht, ist es ok, diese Scripte zum Testen für den Fremdgebrauch zur Verfügung zu stellen - das ist der Open Source Gedanke.
Da wäre es absolut wichtig, dann auch dick dazu zu schreiben: "Vorsicht, ungetestet ! Bitte überprüft mal das folgende Skript !" Sonst beruft sich garantiert irgend ein Neuer darauf und zerschießt u.U. sein System. Viele Scripte sind trivial, gerade Bash kann man leicht lesen und besteht häufig zu 90% aus einer Aneinanderreihung von bekannten Bausteinen (Befehlen). Hier finde ich es vertretbar, selbst Bausteine zu testen und das Gesamtkonstrukt zum Test als Ganzes freizugeben. Freigabe heißt nur, dass sich in einem Forum ein Interessent daran bedienen, es lesen, testen, verändern und erweitern kann. Nicht mehr und nicht weniger.
Trivial oder nicht, bestimmte Punkte muss man immer sorgfältig beachten. Einer der beliebtesten Fehler ist fehlendes "quoten". (meist nicht aus Vorsatz, sondern aus Oberflächlichkeit) Wenn man Befehle aus dem Wiki lediglich zu einem Block zusammenkopiert bzw. die dortigen Blöcke um eine Variable und eine Abfrage, ob XY ausgelöst werden soll, ergänzt, ist davon auszugehen, dass aufgrund der geringen Komplexitätsveränderung das gewünschte Ergebnis sehr wahrscheinlich ist. Den finalen Test darf die Zielgruppe übernehmen, wenn man selbst explizit nicht zur Zielgruppe gehört, weil man z.B. das Programm nicht benutzt oder eine eigene aufwendige Konfiguration nicht gefährden will, etwa bei Grub-Befehlen (Bootloader).
Nee, so einfach geht das nicht. Es gibt zwei grundsätzlich (!!) kritische Punkte dabei:
wenn ich unbesehen Code übernehme, kann ich mich nie und nimmer darauf verlassen, dass der Vorgänger sauber gecodet / getestet hat. Mit dem Code übernehme ich auch die volle Verantwortung, dass das Zeug keinen Mist macht. Und womöglich reagiert der Code in meinem Kontext ja auch anders ? Gerade bei Systemcode (und Grub gehört auf jeden Fall dazu !) muss ich um jeden Preis sauber coden und sorgfältig testen ! Da hängt einfach zu viel dran.
Es obliegt dem verantwortungsvollen Autor, zu entscheiden, welcher Grad an Komplexität vorliegt und inwiefern Tests von Bausteinen, dem Gesamtkonstrukt oder Tests mit Dummy-Variablen und Debug-Einträgen nötig sind.
Im Prinzip ja, (sagt Radio Eriwan) - aaaber ... sorgfältiges testen hat mit Erfahrung und Verantwortungsbewusstsein zu tun. Und die sind nicht bei jedem gleich ausgeprägt. Von daher würde ich die Verantwortung nicht auf den Autor alleine abwälzen, sondern sehe die Gemeinschaft in der Mitverantwortung. - - und der Autor muss sich im Zweifel natürlich auch was sagen lassen ! Entwickelt man beispielsweise Bash-Code für bestimmte Hardware, so ist man nicht verpflichtet, sich diese Hardware anzuschaffen, nur damit die Community nicht selbst testen muss.
Natürlich nicht. Aber vieles kann man vorab in einer simulierten Testumgebung debuggen. Und schließlich kann ich hier ja auch einen Hardwarre-besitzer bitten, bestimmte Sachen für mich zu testen. Für fremde Hardware schreibe ich ja meistens sowieso nur was für Andere, und dann können die das auch für mich testen ... Das ist jetzt im größeren Stil gedacht. Ein guter Alpha-Test istes, wenn ich mit jemandem hier auf dem Forum zusammen bestimmte, kritische Randbedingungen vorab teste / testen lasse. Nee, aber dann tritt doch eine gewissenhafte Begleitung des "Kunden" an die Stelle des selbser testens ...?! Gut gesagt ... Da kommt man ohne eine gewisse Erfahrung nicht weit ! - In der Hinsicht hat sich das gemeinsame Abarbeiten von Testbedingungen (hier auf dem Form) bewährt. Selbst ich, als langjähriger Ingenieur mit einiger Erfahrung, nehme gerne die Ratschläge der Gemeinschaft in Anspruch, z.B.: http://forum.ubuntuusers.de/topic/wie-kann-ich-einen-string-mit-escapeten-zeiche/ Aus diesem Konsil hat sich z.B. die "Giftküche" zum Testen von korrektem Quoten entwickelt, bei mir und bei den anderen Beteiligten. Da habe ich wenig Berührungsängste. Aber wie ich oben schon sagte: wenn ich Code übernehme, dann übernehme ich damit auch die Verantwortung. Deshalb gucke ich ziemlich genau, was ich da installiere. Macht es für euch (oder in den Forenregeln oder ungeschriebenen Gesetzen) einen Unterschied, ob man in seiner Gesamtheit nicht ganz getestete oder gänzlich ungetestete Codeschnippsel in der Rubrik "Shell und Programmieren" veröffentlicht oder in dem Support-Thema, auf das man sich bezieht?
Wenn ich offiziell etwas in die freie Wildbahn veröffentliche, dann lege ich daran in der Tat sehr viel höhere Kriterien an, denn dann muss das Ding ja auch außerhalb meines Einflussbereichs einwandfrei gehen. Z.B. so: http://forum.ubuntuusers.de/topic/moeglichkeit-um-in-60-sekunden-ausschalten-zu/ Meiner Meinung nach hat das auch was mit Kennzeichnung(spflicht) von Tests und Vertrauen in die Fähigkeiten sowie Gutwilligkeit einer Person zu tun.
... und nicht zu vergessen, seiner Blauäugigkeit ! - das ist meist das größere Problem, so wie ich es hier erlebe: Leichtsinn mangels Erfahrung ! LG, track
|
|
aasche
Wikiteam
Anmeldungsdatum: Jan. 30, 2006
Beiträge: 7294
Wohnort: /home/silence
|

22. Dezember 2011 14:05
|
|
aasche
Wikiteam
Anmeldungsdatum: Jan. 30, 2006
Beiträge: 7294
Wohnort: /home/silence
|

22. Dezember 2011 20:05
Benno-007 schrieb: Im Forum entstand eine kleine Debatte darüber, ob und wie man eigene Scripte, die man veröffentlicht, zu testen hat.
Da ich fuer diese Debatte mitverantwortlich war, anbei meine Anmerkungen:
Man beachte die Form: ein mehrfach editierter Post (und immer noch nicht vollstaendiger) Post in einer vom Ersteller bereits als geloest markierten Diskussion ist IMHO nicht gerade vertrauenserweckend. Man haette den Entwurf ruhig in einem Extra-Thread erstellen und nur darauf verweisen koennen. Dann waere das Feedback an der richtigen Stelle - in der Diskussion zum Script - gelandet und nicht am derzeitigen Platz. Unter anderen Umstaenden nennt man so etwas "Thread-Entfuehrung". Deine explizite Aufforderung, andere sollten das Script doch bitte testen, weil Du dazu aus bestimmten Gruenden nicht in der Lage bist, ist prinzipiell ok. Du hast deutlich gemacht, dass Du es nicht umfassend testen kannst. Aber hast Du auch bedacht, dass eine solche Aussage auch das Gegenteil bewirken kann? Ich persoenlich empfand es folgendermassen: da schmeisst jemand ein paar Zeilen ins Forum - wer diese ausprobiert, ist selbst Schuld - war ja ungetestet... Einsteiger koennen nicht nachvollziehen, was Du innerhalb Deines Scripts anstellst. Du versprichst die problemlose Installation von Java und verschleierst damit die Tatsache, dass die manuelle Installation alles anderes als einfach ist. Da Problemloesungen zu Sun/Oracle Java im Augenblick Hochkonjunktur haben, mochte ich Deine als Hilfestellung gedachte Zusammenfassung mehrerer Einzelbefehle nicht unkommentiert stehen lassen und habe Dich (und damit andere) auf die Schwachstellen hingewiesen.
Leider hast Du meine Hinweise als persoenliche Kritik verstanden, obwohl sie so nicht gemeint waren. Es ging mir um die Sache und die Form, nicht um die Person.
|
|
Benno-007
(Themenstarter)
Anmeldungsdatum: Aug. 28, 2007
Beiträge: 10247
Wohnort: Germany
|

2. Januar 2012 15:35
Hallo track und aasche, vielen Dank für eure Rückmeldungen. track: Soweit gehe ich mehr oder minder konform, eine Anmerkung noch:
Nee, aber dann tritt doch eine gewissenhafte Begleitung des "Kunden" an die Stelle des selbser testens ...?!
Ist in einem normalen Thema wahrscheinlich sinnvoll, ausgelagert in den Bereich "Shell und Proghrammieren" kann man das sicherlich eher mal so stehenlassen und hoffen, dass sich es jemand nimmt, der es braucht. Oder kennst du Scriptseiten, die gerne Schnippsel nehmen, die auch noch nicht ganz durchgetestet sind? Möglichst noch ohne Anmeldung? Ich nehme an, auf ungetestetes ist keiner so richtig scharf, zumal nur der Autor der Zeilen sich wirklich gut damit auseinandergesetzt hat, haben sollte oder in die Umstände des Scriptes hineindenken kann. aasche:
Da ich fuer diese Debatte mitverantwortlich war, anbei meine Anmerkungen:
Ich fand es in dem Fall eher allgemein interessant, ohne spezielle Fälle oder persönliche Umgangsformen miteinander zu betrachten. Aber du hast ja ein paar Stunden abgewartet, so dass sich auch andere Stimmen zu Wort melden hätten können, ohne gleich in einen speziellen Fall abzudriften.
"Thread-Entfuehrung"
Ok.
da schmeisst jemand ein paar Zeilen ins Forum - wer diese ausprobiert, ist selbst Schuld - war ja ungetestet...
Das ist quasi ein Appell an die Verantwortung, richtig gedeutet? Gekennzeichnet war es zwar, aber ein neues Thema hätte es allein schon wegen des Umfangs der Einzeltests verdient.
Leider hast Du meine Hinweise als persoenliche Kritik verstanden, obwohl sie so nicht gemeint waren. Es ging mir um die Sache und die Form, nicht um die Person.
Genauso hatte ich sie zum damaligen Zeitpunkt verstanden - und genau diese Art sachlicher Kritik und Form dieser Kritik kritisiere ich: Wäre ich bei dir angestellt, kein Ding. Aber Freiwillige, die in ihrer Leistung schon weit über das hinausgehen, was gefragt war ("Themenentführung") oder was sie leisten wollten, mit "Drill" erziehen zu wollen, noch das letzte Hemd zu geben, kommt nicht gut an, zumindest nicht bei mir und sicherlich auch bei weiten Teilen der Community nicht. Mag sein, dass dein Job Ruhe und Ordnung ist - und nicht immer einfach, es allen Recht zu machen. Dazu kommt: Eine Machbarkeitsstudie hat nicht die Intension, vollumfänglich durchgetestet zu sein. Sie ist ein Konzept, mehr nicht. Mein Fehler war, das nicht auszulagern in ein eigenes Thema - Kennzeichnen reicht anscheinend eher nicht, was aus Nutzersicht nachvollziehbar ist. Es lag an der Kraft der Spontanität, ein Grund dafür, weshalb manche Themen sich weit über ihren Horizont hinaus entwickeln, bevor sie ein eigenes Thema bekommen. Zumindest als Ansatz, als Ausblick, mag sowas auch noch ontopic sein. Nur zu schnell kommt man dann in die Verlegenheit, ob man es nun auslagert oder nicht. Ich vertraue hierbei auf den gesunden Menschenverstand und auch die Moderatoren, dass dies im Regelfall geordnet ablaufen kann. Da die spezielle Situation jedoch aufgrund der Missverständnisse des Testens/ der Verantwortung zu Script-Schnippseln entstand, betrachte ich diese Angelegenheit soweit als beidseitig erkannt, akzeptiert und erledigt an - nicht zuletzt haben wir unterschiedliche Meinungen per PN diskutiert. "Diskutiert", sofern du zu meinen Vorschlägen noch Stellung beziehen solltest. Grüße, Benno
|
|
track
Anmeldungsdatum: Juni 26, 2008
Beiträge: 3769
Wohnort: Wolfen (S-A)
|

2. Januar 2012 18:44
Benno-007 schrieb: Oder kennst du Scriptseiten, die gerne Schnippsel nehmen, die auch noch nicht ganz durchgetestet sind? Möglichst noch ohne Anmeldung? Ich nehme an, auf ungetestetes ist keiner so richtig scharf, zumal nur der Autor der Zeilen sich wirklich gut damit auseinandergesetzt hat, haben sollte oder in die Umstände des Scriptes hineindenken kann.
Da gibt es so viel unzuverlässigen Schrott, dass man da wirklich nicht noch was hinzufügen muss. Es herrscht auch kein Mangel an wilden Ideen, die irgendwann mal jemand ins Netz geschmissen hat ... (und viel zu oft müssen wir dann Neulingen die falschen Ideen wieder mühsam ausreden !) Wer sowas nimmt, ist selber Schuld. Wofür wirklich Bedarf besteht, sind Sammlungen von zuverlässigen Skripten und Methoden. Nicht zuletzt deshalb sind ja auch die Qualitätsanforderungen hier auf dem Wiki so scharf wie sie sind. Denn wenn ich ein Problem habe, und wirklich dafür eine Lösung brauche, dann muss ich es nicht auch noch haben, dass ich mit meinen Daten als Versuchskaninchen herhalten soll. Was spricht denn dagegen, die Sachen erstmal ordentlich zu testen, und dann erst auf die Allgemeinheit loszulassen ? (anders halte ich selber es auch nicht, das bin ich einfach den Anderen schuldig. - Außerdem: wie würde ich sonst Vertrauen verdienen ?) LG, track
|
|
Benno-007
(Themenstarter)
Anmeldungsdatum: Aug. 28, 2007
Beiträge: 10247
Wohnort: Germany
|

2. Januar 2012 19:22
Klingt vernünftig. Dagegen spricht manchmal, wieviel einem ein Problem wert ist, welches man selbst nicht hat, aber einen Ansatz entwickelt, den aber nicht auch noch ausdifferenziert austesten kann. Es kommt auch darauf an, ob man genug Leistung für eine dauerhaft nebenher laufende Test-VM hat. Aber dann wird man dieses Problem wohl für sich individuell lösen müssen, wenn man mehr als nur ein paar Befehle aneinanderreiht. Wahrscheinlich funktioniert Open Source auch nicht so, dass man in das Scriptunterforum (!) einen Schnippsel postet und andere bauen den dann weiter. Zumindest sollte man den dann vorher getestet und gut dokumentiert haben, so dass ihn jemand weiterentwickeln möchte und kann. Richtig? Erfahrungen? Grüße, Benno
|
|
noisefloor
Wikiteam
Anmeldungsdatum: Juni 6, 2006
Beiträge: 13978
Wohnort: Görgeshausen
|

5. Januar 2012 12:36
Hallo, ab einer bestimmte Größe von Skripten macht es Sinn, Tests für die Skripte zu schreiben. Viele Programmiersprache bieten dafür fertige Module, die das Skript mit Input füttern und die Rückgabewerten mit dem Soll-Ergebnis (das der Entwickler vorgibt). Das ganze funktioniert nur noch eingeschränkt, wenn das Skript was auf die HD installiert. Dann müsste der Test das Prog ja auch wieder deinstallieren. Was eine zusätzliche Fehlerquelle wäre... Gruß, noisefloor
|