Show TOC

Überwachen der Quelltextabdeckung in QualitätssicherungssystemenLocate this document in the navigation structure

Verwendung

Im folgenden Kapitel finden Sie Informationen über

  • die Gründe, warum die Quelltextabdeckung von ABAP Coverage Analyzer für Qualitätssicherungstests von Bedeutung ist.

  • die Voraussetzungen für die Überwachung der Quelltextabdeckung in einem QA-Testsystem.

  • ein bewährtes Verfahren zur Messung der Quelltextabdeckung sowie Analyse und Auswertung der Ergebnisse.

Gründe für die Verwendung von Quelltextabdeckungsstatistiken in QA-Systemen

Als Entwickler benötigen Sie Quelltextabdeckungsmessungen im Entwicklungssystem, um festzustellen, ob die von Ihnen entwickelten Tests ausreichend sind.

Als Qualitätssicherungsmanager, der in einem Integrations- oder Konsolidierungssystem arbeitet, benötigen Sie ebenfalls Abdeckungsstatistiken.

Ihnen als QA-Manager geben die von Coverage Analyzer erstellten Abdeckungsstatistiken einen zuverlässigen Indikator an die Hand, ob die Tests im QA-System ausreichend und angemessen sind oder nicht.

Jedoch konzentriert sich die Qualitätssicherung nicht allein darauf, ob Tests erfolgreich laufen. Als Qualitätssicherungsmanager müssen Sie auch in der Lage sein zu beurteilen, ob die in der Entwicklung befindliche Software adäquat durch die Test-Suite getestet wird. Allzu häufig liefert das Entwicklungsteam nur ein paar einfache Modultests und Integrationstest aus, die ganz sicher nicht fehlschlagen. Als QA-Manager müssen Sie solche Fälle erkennen. Sie müssen außerdem über eine Datenbasis verfügen, um umfassendere und genauere Tests vom Entwicklungsteam anfordern zu können.

Je nach personeller Ausstattung des QA-Teams und Organisation der Tests im Entwicklungsteam verfügt ein QA-Manager auch über andere Möglichkeiten als die Quelltextabdeckung, um Tests zu validieren. Beispielsweise können Sie dem Entwicklungsteam beim Testdesign helfen. In diesem Fall können Sie als QA-Manager die Testgüte direkt beurteilen - die Vollständigkeit der Pfadreplikation, die Qualität des Datenflusstests.

Häufig jedoch sind die ABAP-Quelltextabdeckungsstatistiken die einzige Informationsquelle, die QA-Managern im Hinblick auf die Beurteilung der Testqualität zur Verfügung steht. Aus den Abdeckungsstatistiken des QA-Systems können Sie als QA-Manager ableiten, ob die Test-Suite die Software adäquat testet. Anhand der in Coverage Analyzer gesetzten Abdeckungsstandards können QA- und Entwicklungsteam gemeinsam Standards für die Quelltextabdeckung zur Validierung von Tests festlegen. Quelltextabdeckungsergebnisse unterhalb der Standards geben dem QA-Manager ein Mittel an die Hand, eine Verbesserung der Tests vom Entwicklungsteam anzufordern.

Prozess

Voraussetzungen

  • Um die Quelltextabdeckung zur Testvalidierung verwenden zu können, benötigen Sie ein separates QA-System zur Ausführung der Tests.

    SAP empfiehlt seit jeher getrennte Entwicklungs- und Testsysteme. Häufig jedoch laufen Entwicklung und Qualitätssicherung im gleichen System ab.

    Wenn Sie die Quelltextabdeckung bei der Qualitätssicherung nutzen möchten, müssen Sie ein separates ABAP-System für die Tests bereitstellen.

    Grund: Coverage Analyzer setzt die Abdeckungsstatistiken automatisch zurück, sobald ein Verarbeitungsblock geändert wird. Sie können diese Statistiken nicht in einem Entwicklungssystem erstellen, da die Programme, die Tests unterzogen werden, in der Regel sehr oft geändert werden. Infolgedessen würden die Abdeckungsstatistiken ständig zurückgesetzt werden.

  • Legen Sie gemeinsam mit dem Entwicklungsteam Standards für die Quelltextabdeckung fest.

    Solche Abdeckungsstandards bestimmen, wann Coverage Analyzer ein Programm als adäquat im Hinblick auf die Quelltextabdeckung getestet markiert. In Coverage Analyzer können Sie diese Standards definieren.

    Ohne gemeinsam festgelegte Abdeckungsstandards kommen Sie und Ihr Entwicklungsteams nie zu einem Konsens darüber, ob ein Programm adäquat getestet wurde oder nicht. Ohne Standards haben Sie weniger Argumente, eine Verbesserung der Modul-, Komponenten- und Integrationstests zu verlangen.

    Welche Abdeckungsanforderungen Sie festlegen und ob Sie diese Anforderungen auf die Prozedur-, Zweig- oder Anweisungsabdeckung anwenden, hängt von zahlreichen Faktoren ab. Beispielsweise werden sich die von Ihnen festgelegten Standards danach richten, ob das Entwicklungsteam vorhandenen Quelltext erweitert oder neuen Quelltext schreibt oder welchen Aufwand Sie für das Refactoring von altem Quelltext investieren möchten, um ihn testfähig zu machen, usw.

    Auch wenn Coverage Analyzer mit Standardabdeckungsstatistiken ausgeliefert wird, gibt es keine Empfehlung seitens SAP in Bezug auf gute Teststandards. Informationen zu empfohlenen Abdeckungsstandards finden Sie in der umfangreichen Literatur im Internet und an anderen Stellen.

  • Optional können Sie die Personal- und Organisationsdaten zu den Mitgliedern Ihres Entwicklungsteams mit Standardfunktionen des Personalwesens pflegen. In der Regel werden diese Daten in einem Zentralsystem verwaltet und in die Systeme exportiert, in denen sie benötigt werden.

    Coverage Analyzer verwendet diese Personaldaten (in Tabelle CRMAHR) zur Strukturierung der Reports, die in der Globalanzeige generiert werden. In den Paket- und Autorensichten zum Beispiel strukturiert Coverage Analyzer die Daten entsprechend Ihrer Organisationshierarchie.

    Sie müssen diese Organisationsdaten nicht verwenden. Unter Umständen können die Reports von Coverage Analyzer jedoch noch aussagekräftiger sein, wenn Sie diese Daten ergänzen.

Organisation der Abdeckungsüberwachung in einem QA-System

Der Testzyklus in einem QA-System hängt in der Regel vom regulären Transport neuen Quelltexts in das System ab. Eventuell wöchentlich oder in größeren oder geringeren Intervallen wird der aus den Entwicklungssystemen freigegebene Quelltext in das System transportiert, das oft gleichzeitig das Konsolidierungs- oder Integrationssystem ist.

Beim Import von neuem Quelltext startet der Regressionstestzyklus neu, um zu überprüfen, ob vorhandene Funktionalität durch den neuen Quelltext beeinträchtigt wird. Für vollständig abgeschlossene Funktionen können die Komponenten- und Integrationstests beginnen.

Die bewährten Verfahren zur Abdeckungsüberwachung als Teil des Testprozesses unterliegen ebenfalls diesem Transportrhythmus. Die unten beschriebene Abfolge von Aktivitäten hat sich für die Organisation der Abdeckungsüberwachung in einem QA-System als sinnvoll erwiesen:

  1. Als einmalige Aktivität im QA-System prüfen Sie, ob Coverage Analyzer aktiv ist. Wenn dies nicht der Fall ist, aktivieren Sie Coverage Analyzer.

    Sie sollten auch prüfen, ob die automatische Historieaufzeichnung aktiv ist. Aktivieren Sie die Aufzeichnung bei Bedarf. Die Historieaufzeichnung liefert Daten für die Globalanzeige von Coverage Analyzer.

  2. Als einmalige Aktivität in Ihrem QA-System definieren Sie eine oder mehrere Testgruppen. Registrieren Sie die Service-Benutzer oder realen Benutzer, die für die Tests verwendet werden, in den Gruppen.

    Mit Hilfe von Testgruppen können Sie die Quelltextabdeckungsergebnisse von Tests separat anzeigen und verwalten. Die Statistiken bleiben durch die Aktivitäten anderer Benutzer im QA-System unbeeinflusst.

    Halten Sie die Anzahl der Testgruppen möglichst niedrig, in jedem Fall unter 10.

    Wenn Sie separate Benutzer zum Testen unterschiedlicher Komponenten verwenden, können Sie eigene Testgruppen für jede Komponente anlegen.

    Wenn dieselben Benutzer Tests für alle Entwicklungsprojekte durchführen, erstellen Sie eine einzige Testgruppe. Sie können die Ergebnisse innerhalb der Testgruppe nach Paket oder Programm filtern, so dass Sie Abdeckungsstatistiken für die verschiedenen Projekte erhalten.

  3. Legen Sie einen Prozess für die Zusammenstellung und Analyse der Abdeckungsstatistiken aus Ihren Tests fest:

    Wenn Ihr Testzyklus durch Importe aus dem Entwicklungssystem in das QA-System angestoßen wird, empfiehlt sich das folgende bewährte Verfahren zur Überwachung der Quelltextabdeckung:

    1. Setzen Sie die Quelltextabdeckung für Ihre Testgruppen zurück, bevor der neue Testzyklus beginnt.

      Coverage Analyzer setzt die aktuellen Statistiken für geänderte Verarbeitungsblöcke automatisch zurück. Alle anderen Statistiken für den getesteten Quelltext sollten Sie manuell zurücksetzen.

      Durch das Rücksetzen der Statistiken beim Start eines neuen Zyklus erhalten Sie ein klares Bild der Trends in der Quelltextabdeckung. Hat das Entwicklungsteam die Tests in den Bereichen verbessert, für die Sie eine nicht adäquate Quelltextabdeckung gemeldet haben? Wurde die Quelltextabdeckung in vorhandenen Anwendungen durch das Einspielen von neuem nicht getestetem Quelltext verschlechtert?

    2. Starten Sie die Aufzeichnung einer neuen Historieversion.

      Durch das Starten einer neuen Historie für jeden neuen Testzyklus wird es für Sie in der Globalanzeige einfacher, Trends in der Quelltextabdeckung zu analysieren und entsprechende Reports zu erstellen.

    3. Nach dem Abschluss des Testzyklus lassen Sie sich in der Globalanzeige die von den Tests erzielte Quelltextabdeckung anzeigen.

      Sie können ausgewählte Datensätze aus der Globalanzeige in ein Spreadsheet herunterladen, um Trends in der Quelltextabdeckung zu analysieren und auszuwerten.

      Wenn die Quelltextabdeckung nicht adäquat ist, können Sie in die Detailanzeige verzweigen, um nach Abdeckungslücken zu suchen, die mit verbesserten Tests geschlossen werden können.

    4. Veröffentlichen Sie Ihre Abdeckungsergebnisse mit Ihren Lückenanalysen, so dass das Entwicklungsteam in der Lage ist, die Tests entsprechend zu verbessern.