Infos zum Softwarekonfigurationsmanagement

Dieser Abschnitt enthält eine allgemeine Übersicht über das Softwarekonfigurationsmanagement. Im Einzelnen werden folgende Themen erörtert:

Was ist Softwarekonfigurationsmanagement?

Zum Softwarekonfigurationsmanagement gehören Quellcodeverwaltung, Änderungsmanagement und Versionssteuerung.

Üblicherweise werden Systeme für das Softwarekonfigurationsmanagement in Softwareentwicklungsgruppen eingesetzt, in denen mehrere Entwickler gleichzeitig an denselben Dateien arbeiten. Wenn zwei Entwickler dieselbe Datei ändern, besteht die Gefahr, dass die Datei überschrieben wird und kritische Codeänderungen verloren gehen. Dieses Risiko, das mit der gemeinsamen Nutzung von Dateien in einer Mehrplatzsystemumgebung einhergeht, wird durch Systeme für das Softwarekonfigurationsmanagement vermieden.

Jedes System für das Softwarekonfigurationsmanagement erstellt ein zentrales Repository, das den gemeinsamen Dateizugriff erleichtert. Jede Datei, die gemeinsam genutzt werden soll, muss dem zentralen Repository hinzugefügt werden, um die erste Dateiversion zu erstellen. Ist eine Datei erst im zentralen Repository enthalten, können alle Benutzer darauf zugreifen und sie aktualisieren, wodurch jeweils neue Versionen entstehen.

Beim Auschecken wird eine lokale Kopie der betreffenden Datei erstellt, in der Sie Änderungen vornehmen können. Wenn Sie mit Ihrer Arbeit zufrieden sind, checken Sie die Datei wieder ein und erstellen so eine neue Version. Die ursprüngliche Dateiversion bleibt erhalten.

In einer Mehrplatzsystemumgebung lässt es sich nicht vermeiden, dass mehrere Benutzer dieselbe Datei gleichzeitig auschecken. Wenn dies geschieht, greift eine besondere Funktion des Systems für das Softwarekonfigurationsmanagement, das so genannte "Zusammenführen". Mit dieser Funktion werden verschiedene Änderungen in einer einzigen Datei zusammengefasst. Sobald der erste Benutzer die Datei eincheckt, wird eine neue Version erstellt. Der zweite Benutzer, der die Datei eincheckt, muss seine Änderungen mit dieser Version zusammenführen. Wenn das System für das Softwarekonfigurationsmanagement in der Lage ist, die Änderungen miteinander in Einklang zu bringen, werden sie in einer neuen Dateiversion zusammengeführt. Treten jedoch Konflikte zwischen den Änderungen auf, die das System für das Softwarekonfigurationsmanagement nicht lösen kann, müssen die Konflikte manuell gelöst werden.

Welche Vorteile bietet Softwarekonfigurationsmanagement?

Wenn Sie noch nie mit einem System für das Softwarekonfigurationsmanagement gearbeitet haben oder das Konzept Ihnen gar völlig fremd ist, fragen Sie sich jetzt vielleicht, ob für Ihr Projekt Softwarekonfigurationsmanagement angebracht wäre. Auch die Testautomatisierung zählt zur Softwareentwicklung. Wann immer Sie ein Testscript erstellen, ob nun durch Aufzeichnen oder Codieren, wird eine Datei generiert, die Code enthält. Dieser erstellte, entwickelte oder bearbeitete Code ist ein wertvoller Test-Softwarebaustein.

In einer Teamumgebung besteht immer die Gefahr, dass funktionsfähiger Code verloren geht oder Testscripts durch das Überschreiben von Dateien zerstört werden. Mit einem System für das Softwarekonfigurationsmanagement lässt sich dieses Risiko ausschalten. Wenn eine Datei geändert wird, wird stets eine neue Version erstellt, und die Originaldatei bleibt erhalten.

Für Teams, die bislang noch keine Erfahrung mit dem Softwarekonfigurationsmanagement haben, bietet die Functional Test-Schnittstelle alle wesentlichen Funktionen für die Versionssteuerung von Testscripts. Dank dieser Integration werden die Einführung und Verwendung des Softwarekonfigurationsmanagements vereinfacht.

Teams, die bereits mit den Funktionen und Vorteilen von Systemen für das Softwarekonfigurationsmanagement vertraut sind, bevorzugen u. U. die Implementierung von ClearCase LT oder ClearCase zusammen mit Functional Test, da sie so eine Reihe erweiterter Funktionen nutzen können, die nur über ClearCase-Tools zur Verfügung stehen.

Welche Produkte für das Softwarekonfigurationsmanagement kann ich verwenden?

Kurz gesagt: ClearCase.

Die ClearCase-Integration für die Versionssteuerung von Functional Test-Test-Softwarebausteinen ist speziell für diesen Einsatz konzipiert und mit keinem anderen Tool nachzuahmen. Aus diesem Grund können bestimmte ClearCase-Operationen außerhalb von Functional Test nicht ausgeführt werden.

Wenn Sie mit Functional Test arbeiten, wirken die ClearCase-Operationen ausgesprochen einfach. Hinter den Kulissen geschieht jedoch eine ganze Menge. Bei einem Functional Test-Script handelt es sich um eine Gruppe von Dateien. Die komplexen Vorgänge, die erforderlich sind, um mehrere Dateien als eine Einheit zu behandeln, sind für den Benutzer nicht erkennbar, denn alle Aktionen in der Functional Test-Benutzerschnittstelle beziehen sich auf das Script. Die zugehörigen Dateien sind in der Benutzerschnittstelle nicht zu sehen. Auch einige Operationen im Zusammenhang mit dem Softwarekonfigurationsmanagement sind recht kompliziert, z. B. das Zusammenführen. Mit Hilfe einer integrierten Logik wird die Reihenfolge festgelegt, in der Dateien zusammengeführt werden, und dann werden zur Ausführung der eigentlichen Zusammenführung je nach Bedarf verschiedene Dienstprogramme eingesetzt.

Die integrierte Functional Test-Integration mit ClearCase bietet alle grundlegenden Funktionen für das Softwarekonfigurationsmanagement und macht dabei die komplexe Struktur der Functional Test-Test-Softwarebausteine unsichtbar. Ein solch hohes Maß an Integration ist bei der Verwendung von ClearCase außerhalb von Functional Test oder bei Verwendung eines anderen Systems für das Softwarekonfigurationsmanagement nicht zu erreichen.

Wenn ein Benutzer versucht, Dateioperationen an Functional Test-Dateien außerhalb der Functional Test-Benutzerschnittstelle auszuführen, besteht die Gefahr, dass Scripts nicht mehr mit den zugehörigen Dateien synchron sind und beschädigt oder gar unbrauchbar werden.

Functional Test nutzt eine für Unified Change Management (UCM) aktivierte ClearCase-Ansicht, sofern diese als Teil eines Single-Stream-UCM-Projekts erstellt wurde. In Ansichten, die Teil von Multi-Stream-UCM-Projekten sind, ist Functional Test nicht verwendbar.

Ein typisches Functional Test-Testscriptobjekt umfasst folgende Dateien:

Diese Datei wird durch Aufzeichnen erstellt.

Jedem Script ist eine Script-Helper-Datei zugeordnet, die nach dem Aufzeichnen generiert wird.

Jedem Script ist eine Übersichtsdatei zugeordnet. Die Übersichtsdatei kann einem einzigen Script zugeordnet sein (*.rftxmap) oder von mehreren Scripts gemeinsam genutzt werden (*.rftmap). Damit Benutzer nicht versehentlich den Namen einer privaten Übersicht als gemeinsam genutzte Übersicht auswählen, werden unterschiedliche Suffixe verwendet.

Ein Script kann auch eine oder mehrere Prüfpunktdateien enthalten. Prüfpunktdateien werden nicht von mehreren Scripts gemeinsam genutzt.

Jedes Script enthält eine Scriptdefinitionsdatei. Diese enthält den Namen der Übersichtsdatei, den Scriptnamen, die Namen aller erkannten Objekte und weitere Dateizuordnungsinformationen.

Sie können einem Testscript einen öffentlich zugänglichen oder privaten Testdatenpool zuordnen. Ein öffentlich zugänglicher Testdatenpool kann einem oder mehreren Testscripts zugeordnet werden.

Referenzinformationen:

Infos zu ClearCase

Functional Test und ClearCase

Nutzungsbedingungen | Feedback
(C) Copyright IBM Corporation 2002, 2004. Alle Rechte vorbehalten.