Hallo allerseits, seit langem bastele ich von Zeit zu Zeit an einer kleinen Tcl-Software, die die Software-Installation in Linux-Systemen unterstützt. Kernpunkt der Geschichte ist ein Scriptgenerator. Man wählt vor der Installation die zu installierende Software aus und erzeugt die notwendigen Scripte; das kann man solange wiederholen, bis man zufrieden ist. Während der Installation selbst muss man nix auswählen, sondern nur die Scripte starten und zufrieden zuschauen, wie alles installiert wird. Nach der inzwischen dritten Überarbeitung funktioniert das schon ganz gut -- aber allmählich gewinnt ein unerwartetes Problem an Bedeutung: Bisher sind bei den Testinstallationen immer noch zahlreiche Fehler aufgetreten, so dass eine einzelne Testinstallation (die ja relativ zeitaufwändig ist) ziemlich viel Futter für die Fehlersuche geliefert hat. Im Vordergrund stand daher, in den bereits implementierten Features die Fehler zu beseitigen. Das ist weitgehend gelungen -- aber die Software ist noch lange nicht fertig; es fehlen noch Features. Jetzt möchte ich natürlich sicherstellen, dass im Rahmen der notwendigen Erweiterungen nicht wieder Funktionen kaputtgehen, die schonmal korrekt gearbeitet haben. Dazu kann ich nicht jedesmal eine komplette Testinstallation machen -- da werde ich ja adlig dabei. Wünschenswert wären automatisierte Modultests, die ich nach Änderungen laufen lassen kann und die protokollieren, dass der jeweilige Modul in den getesteten Belangen noch genau dieselben Ergebnisse liefert wie vor der Erweiterung. Aber hier stecke ich fest; mir fehlt eine weiterführene Idee. Die Software ist nicht sonderlich umfangreich (ca. 2000 Zeilen brutto / 1000 Zeilen netto); eine gewisse Modularisierung ist auch gegeben (fünf Quelltexte mit jeweils getrennten Namespaces für Interface und Implementierung). Methodennamen und Datenstrukturen sind auch beschrieben, aber eher informell und nicht beinhart formalisiert. Mein Problem liegt weniger in den Werkzeugen als vielmehr im Herangehen, in der Methodik: Eine bestimmte Funktion im Interface eines Modules wird ja von unterschiedlichen Stellen aus aufgerufen, und von den rückgegebenen Daten werden unterschiedliche Teile weiterverarbeitet. Gibt es eine etablierte Vorgehens- weise, die von dort zu einer Beschreibung der Schnitt- stelle führt, auf die man automatisierte Tests aufbauen kann? Vielleicht ist es ganz einfach, aber ich habe irgendwie ein Brett vor dem Kopf. Vielen Dank schonmal für's Lesen. Fragen zu weiteren Details werden bei Bedarf gerne beantwortet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.