Forum: PC-Programmierung Modul-Regressionstests


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Egon D. (egon_d)


Bewertung
1 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.