Ein Angebot von

Qualitätssicherung

Die Problematik bei der Qualitätsmessung von Legacy Code

| Autor / Redakteur: Dr. Richard Kölbl * / Franz Graser

Logisches Gestrüpp: Mixed Mode geht der Problematik bei der Qualitätsmessung und Test von Legacy Code auf den Grund.
Logisches Gestrüpp: Mixed Mode geht der Problematik bei der Qualitätsmessung und Test von Legacy Code auf den Grund. (Bild: © alphaspirit - Fotolia)

Qualitätsmessung und Test von Legacy Code stellen gewichtige Herausforderungen dar. Im besten Fall muss es gar nicht erst dazu kommen, dass Code unkontrolliert wuchert.

Die Thematik „Qualitätsmessung und Test von Legacy Code“ ist hochaktuell. Unter dem etwas unscharfen Begriff Legacy Code versteht man den überlieferten, alten Bestand eines Programmcodes. Dabei ist nicht das absolute Alter des Codes entscheidend, sondern die Umstände, unter denen mit diesem Code gearbeitet wird und die dazu führen, dass der Code einen älteren, nicht mehr aktuellen Softwarestand repräsentiert.

Gleichwohl muss dieser Code nicht zwingend seine Funktionalität eingebüßt haben. Vielmehr ist es aus Kostengründen oft günstiger, diesen alten Code beispielsweise in eine neue Umgebung oder auf eine neue Plattform zu übernehmen und an die erforderlichen Schnittstellen anzupassen. Dieses Verfahren wird in der Praxis häufig angewandt und stellt für sich genommen noch nicht das Problem dar, das hier betrachtet werden soll.

Nicht selten sind aktuelle Softwareprodukte schalenartig aufgebaut, so dass die Funktionalität der Software größtenteils in ihrem Kern abgebildet ist, während die Anpassungen an die sich wandelnde Umwelt und ihre Schnittstellen in der Peripherie des Programmcodes liegen.

Daher wird oft vom „core“ des Programms gesprochen, in dem seit geraumer Zeit zentrale Funktionen der Software liegen, der ebenso lange durch den praktischen Einsatz bewährt ist - und den (unter anderem) aus diesem Grund niemand anfasst. Hier taucht der Umriss des Problems auf: der alte, überlieferte Programmcore, der unter Umständen eben doch Fehlfunktionen produzieren kann.

In der Praxis sind nicht selten für den Programmcode kaum oder keine hinreichenden Spezifikationen oder Kommentare vorhanden, ebenso wenig wie Vorgaben für das Verhalten bei Bedienung innerhalb des Definitionsbereichs, geschweige außerhalb davon.

Nicht selten wird aber für Legacy Code dieser Art eine Qualitätsaussage notwendig. Die Qualität einer Software wird durch systematische Tests gemessen. Und hier zeigt sich der Kern des Problems: Die relevanten, auf den Standards des ISTQB basierenden Testmethodiken gehen vom Vorliegen normativer Vorgaben und von einem geordneten Entwicklungsprozess aus. Tatsächlich zeigt die Praxis, dass beides oft genug nicht der Fall ist.

Analysiert man Problemfälle dieser Art genauer, ergeben sich oft weitere Umstände: Die Entwicklung geht ohne oder unter Missachtung der Prozessvorgaben zur Qualitätssicherung vor sich oder es fehlt das notwendige Wissen für eine State-of-the-Art Softwareentwicklung oder die Einsicht in die Notwendigkeit eines angemessenen, dem Entwicklungsprozess gleichberechtigt beigeordneten Testprozesses fehlt.

Ergänzendes zum Thema
 
Gründe für den Test von scheinbar bewährten Codes

Unter solchen Umständen entsteht zwar durchaus lauffähiger Code, dessen Struktur und Architektur aber zumindest teilweise schwer zu verstehen und damit nur unter unnötig hohem Aufwand oder überhaupt nicht testbar ist. Gewachsener Code dieser Art kann als logisches Gestrüpp bezeichnet werden, der bei der Überführung in neue Umgebungen oder bei der Addition neuer Funktionalitäten unerwartete Fehlfunktionen produziert.

Dennoch gibt es Möglichkeiten, undokumentierten und gewachsenen Code bis zu einem gewissen Grad zu testen. Dieser rein technische Aspekt soll jedoch hier nicht behandelt werden, sondern die Ursachen für das unkontrollierte Wuchern von Code und die Möglichkeit, dies zu verhindern.

Software-Erosion lässt sich nun schneller aufspüren

Qualitätsmanagement

Software-Erosion lässt sich nun schneller aufspüren

10.07.15 - Das Stuttgarter Softwarehaus Axivion stellt die Version 6.3 für die Bauhaus-Suite vor. Die Werkzeugsammlung erlaubt die automatisierte statische Analyse zur aktiven Bekämpfung von Software-Erosion und zur Verbesserung der Software-Qualität. lesen

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 43694157 / Test & Qualität)