| 

.NET C# Java Javascript Exception

5
Hallo,

ich stehe momentan vor der Aufgabe in einem Projekt ein Versions-Update einer Framework-Bibliothek (ZendFramework von 1.5.0PR zu 1.9.4) durchzuführen.

Jetzt stellt sich für mich die Frage, wie mache ich das am effizientesten? Wie stelle ich sicher, dass mein eigentliches Programm keine zusätzlichen Fehler durch das Update bekommt? Welche Schritte in welcher Reihenfolge sollte ich durchführen?

Theoretisch müsste ich schauen welche Bibliotheks-Funktionen/Klassen haben sich in ihrer Signatur von Version A zu Version B geändert, welche existieren in der neuen nicht mehr und wie hat sich die Semantik der veränderten Funktionen (auch die, bei denen die Signatur gleich blieb) verändert. Bei letzterem geht's hauptsächlich um die Seiteneffekte in den Funktionen (Veränderung von (globalen) Variablenwerten etc.) und Bug-Using. Theoretisch sollte die Semantik von Funktionen über Versionen hinweg gleich bleiben, solang sie gleich heißt, praktisch wird das allein schon durch das Fixen von Bugs untergraben, wenn auch zum positiven :).

Danke schon mal,
Christoph
News:
19.10.2009
pocketdevel 363 1 2 6
1
Ich nutze zwar kaum fertige Frameworks, aber dennoch wäre es mal echt gut zu wissen, wie man diese später am besten updated. Da ich sie nutze, habe ich mich bis dato auch noch keine Gedanken dazu gemacht.
Dustin Klein 21.10.2009
2 Antworten
1
Tip:

Lege das neue Framework parallel zum alten im Dateisystem ab.
(z.b. /var/lib/Zend_Framework_1.5.0 ist der alte Pfad, dann /var/lib/Zend_Framework_1.9.4)

Danach mittels einer include-Pfad-Änderung auf das neue ZF verweisen, statt auf das alte.

App laufen lassen und erstmal kucken, was passiert, aber nur wenn keine Daten beschädigt werden können. Vermutlich steigt der Autoloader aus und der Bootstrapper meckert.
Beim Autoloader hat sich einiges getan und vieles funktioniert jetzt anders.

Wenn Du die entsprechenden UNIT-Tests geschrieben hast, sollte die Prüfung mit dem neuen Framework kein Problem sein.

Wenn Du keine Unit-Tests hast, dann wird es häßlich und Du musst ALLE Funktionalitäten händisch prüfen. (Ausführung anschubsen und errorlog beobachten und Ergebnis prüfen)
23.10.2009
tomahlak 237 1 2
0
Mein erster Gedanke waere aehnlich wie tomahlak schon sagte auch gewesen:

Einfach die neuere Version einspielen, unit tests laufen lassen, gui tests laufen lasssen und dann mal schaun.

Ohne grosse Testabdeckung stelle ich mir das Ganze sehr schwierig bis unmachbar vor,
je nachdem wie umfangreich deine Anwendung ist.
27.10.2009
adalse0 161 1 4

Stelle deine Php-Frage jetzt!