Show TOC

Validierung von Tests mit Coverage Analyzer in EntwicklungssystemenLocate this document in the navigation structure

Verwendung

Sie können den Coverage Analyzer in Ihrem Entwicklungssystem verwenden, um zu überprüfen, ob Ihre Modultests, Komponententests und Integrationstests Ihren Quelltext adäquat anwenden.

Sie können Lücken in der Quelltextabdeckung auffinden und analysieren, um Ihre Lücken beim Testen effizient zu schließen.

Dieser Abschnitt beschreibt Folgendes:

  • Gründe für die Verwendung der Quelltextabdeckung beim Entwickeln von Tests für Ihren Quelltext

  • Voraussetzungen zum Sammeln von Quelltextabdeckungsstatistiken in Ihrem Entwicklungssystem

  • Vorgehensweise und Richtlinien zum effektiven Einsatz der Quelltextabdeckungsstatistiken zur Validierung Ihrer Tests

Prozess

Gründe für die Verwendung einer Quelltextabdeckungsanalyse in Entwicklungssystemen

Als Entwickler sind Sie dafür verantwortlich, dass Ihr Quelltext vor der Auslieferung vollständig getestet wird. Sie können Modultests mit ABAP Unit und Funktions- oder Integrationstests mit eCATT schreiben. Aber wie können Sie nachprüfen, ob Ihre Test-Suite Ihren Quelltext tatsächlich gründlich testet?

Die Antwort auf diese Frage ist: mit dem Coverage Analyzer (Transaktion SCOV). Mit dem Coverage Analyzer können Sie die Quelltextabdeckung Ihrer Modul- und Integrationstests messen. Die Quelltextabdeckung ersetzt keine systematische Testplanung zur Pfadabdeckung und Zweigabdeckung. Aber die Quelltextabdeckung ist eine nützliche Messgröße für die Qualität und Vollständigkeit Ihrer Tests.

Features des Coverage Analyzer für Entwickler sind:

  • Zur Übersicht und zum Reporting bietet Ihnen der Coverage Analyzer Statistiken zur Quelltextabdeckung von Programmen, Prozeduren, Verzweigungen und Anweisungen.

  • Zum Auswerten der Qualität der Quelltextabdeckung und zur Suche nach Lücken in Ihren Tests können Sie aus den Statistiken zur Quelltextabdeckung auf Programmebene in Ihren Quelltext navigieren. Dort können Sie genau anzeigen, welche Verzweigungen und Anweisungen getestet werden und welche nicht.

  • Sie können nachprüfen, ob Ihre Integrationstests tatsächliche Benutzerszenarien nachbilden, indem Sie Ihre Testquelltextabdeckung mit der Quelltextabdeckung von produktiven Benutzern vergleichen.

Voraussetzungen zur Überwachung der Testquelltextabdeckung

Bevor Sie den Coverage Analyzer verwenden können, müssen folgende Voraussetzungen gegeben sein:

  • Ist der Coverage Analyzer in Ihrem Entwicklungssystem aktiv?

    Der Coverage Analyzer muss in Ihrem System aktiviert sein, damit Sie die Quelltextabdeckungsergebnisse sehen können.

    Für einen Entwickler ist es höchst effizient seinen Testquelltext im Entwicklungssystem überprüfen zu können. Sie werden die Quelltextabdeckung Ihrer Modultests bei der Implementierung überprüfen wollen.

    Da sich der Coverage Analyzer kaum auf die Performance auswirkt, gibt es keinen Grund ihn in Entwicklungssystemen nicht zu aktivieren. Sie sollten daher den Coverage Analyzer in Ihrem Entwicklungssystem aktivieren, falls nicht schon geschehen.

    Das Überprüfen der Quelltextabdeckung Ihrer Tests in einem Integrations- oder Konsolidierungssystem ist natürlich möglich, aber nicht so effizient. Sie müssen darauf warten, dass die Transporte von Modul- und Integrationstests in dem System ankommen. Dann müssen Sie Ihre Tests getrennt in dem Integrations- oder Konsolidierungssystem ausführen, um die Quelltextabdeckungsdaten zu sammeln.

  • Haben Sie für Ihr Entwicklungsprojekt im Coverage Analyzer eine Testgruppe definiert?

    Mit einer Testgruppe können Sie die Quelltextabdeckung von bestimmten Benutzern von allen anderen in dem System generierten Quelltextabdeckungsstatistiken trennen. Sie können die Quelltextabdeckung Ihrer Gruppe isoliert im Coverage Analyzer anzeigen und zurücksetzen.

    Das Definieren einer Testgruppe ist optional. Systemweite Quelltextabdeckungsstatistiken können Sie immer in der Testgruppe ALL anzeigen.

    Aus Gründen der Performance empfiehlt SAP, dass Sie in einem System maximal 10 Testgruppen definieren. Deshalb werden Sie wahrscheinlich keine eigene Testgruppe nur für sich selbst definieren können.

    Aber die Definition einer Testgruppe kann sinnvoll sein, wenn eine separate Gruppe von Entwicklern an einem bestimmten Projekt arbeitet. Oder wenn Sie Tests mit dem Code Inspector oder sonstige automatisierte Tests unter einem bestimmten Benutzer ausführen.

    In solchen Fällen ist es mit Testgruppen einfacher und komfortabler die Auswertung von Quelltextabdeckung in Ihre Testentwicklung zu integrieren.

    Wenn Sie einen Test ausführen möchten, können Sie die Testgruppe einfach in der Transaktion SCOV, dem Coverage Analyzer, zurücksetzen. Nachdem Sie die Tests ausgeführt haben, können Sie deren Quelltextabdeckung isoliert anzeigen, unbeinflusst von anderen Aktivitäten im System.

Verwendung des Coverage Analyzer in einem Entwicklungssystem

  1. Implementieren Sie Modultests, eCATT-Funktionstests und Integrationstests für Ihre Programme.

  2. Um die Quelltextabdeckung Ihrer Modultests zu überprüfen, gehen Sie wie folgt vor:

    • Legen Sie im ABAP Unit Browser einen Favoriten an, um Ihre Modultests auszuführen.

    • Wählen Sie die Quelltextabdeckungsoption und führen Sie die Tests aus.

    • Folgen Sie dem Link in der Ergebnisanzeige des Browsers zu der gesonderten Anzeige der Quelltextabdeckung im Browser.

  3. Wenn Sie den ABAP Unit Browser verwenden, müssen Sie die Statistiken im Coverage Analyzer nicht zurücksetzen.

    Aber bevor Sie Tests mit anderen Werkzeugen durchführen, wie dem Code Inspector, können Sie optional Ihre Quelltextstatistiken zurücksetzen. Dadurch stellen Sie sicher, dass die Ergebnisse der Quelltextabdeckung nicht durch andere Aktivitäten als Ihren Tests im System beeinflusst werden.

    Beschränken Sie das Zurücksetzen so weit als möglich auf Ihre eigenen Programme, so dass Sie keine anderen Benutzer behindern.

  4. Automatisieren Sie optional die Ausführung Ihrer ABAP-Modultests mit dem Code Inspector (Transaktion SCI).

    Läuft der Code Inspector unter einen bestimmten Benutzer, können Sie für diesen Benutzer im Coverage Analyzer eine Testgruppe anlegen.

    Sie können die Abdeckungsergebnisse in der Detailanzeige ansehen.

  5. Wenn Sie in Ihrem Entwicklungssystem eCATT-Tests und Integrationstests ausführen, können Sie die Quelltextabdeckung in der Detailanzeige Ihres Enwicklungssystems anzeigen.

Zusätzliche Richtlinien zum effektiven Gebrauch der Quelltextabdeckung

  • Verwenden Sie den Coverage Analyzer für schnelle Ad-hoc-Prüfungen der Testquelltextabdeckung in Ihrem Entwicklungssystem. Umfangreiches QA-Testen mit Quelltextabdeckungsanalyse sollte in Integrations- oder Konsolidierungssystemen stattfinden.

    Grund: Der Coverage Analyzer setzt die aktuelle Quelltextabdeckung für einen Verarbeitungsblock zurück, jedesmal wenn dieser Block geändert wird. Da in einem Entwicklungssystem Programme häufig geändert werden, kommen Sie wahrscheinlich zu dem Schluss, dass der Versuch ein systematisches umfangreiches Testen in einem Enwicklungssystem zu organisieren, mehr Mühe als Nutzen bereitet.

  • Verwenden Sie die Favoriten im ABAP Unit Browser, um die Quelltextabdeckung Ihrer Modultests anzuzeigen.

    Die Verwendung von Favoriten zum Gruppieren und Ausführen Ihrer ABAP-Modultests im ABAP Unit Browser hat einen besonderen Vorteil: In den Testergebnissen können Sie die Quelltextabdeckung der Tests anzeigen, die Sie gerade ausgeführt haben, isoliert von anderen Quelltextabdeckungsergebnissen. Sie benötigen im Coverage Analyzer keine Testgruppe für sich selbst. Sie müssen die Statistiken im Coverage Analyzer nicht vorher zurücksetzen.

    Hier wird erklärt, wie Sie im ABAP Unit browser Quelltextabdeckung anfordern.

    Hier gibt es eine Hilfe zum Verständnis der Quelltextabdeckungsstatistiken.

  • Verwenden Sie den Code Inspector (Transaktion SCI) zum automatisierten Ausführen Ihrer Modultests.

    Verwenden Sie den Foreground Scheduler (Transaktion STPFE) zum automatisierten Ausführen Ihrer CATT-/eCATT-Tests.

    Sie können die Ergebnisse dieser automatisierten Tests im Coverage Analyzer (Transaktion SCOV) anzeigen.

    Sie sollten in SCOV Testgruppen definieren, um die Ergebnisse nach Entwicklungsprojekten zu trennen, bis zur empfohlenen Höchstgrenze von 10 Gruppen pro System.

    Sie möchten wahrscheinlich die Quelltextabdeckung für Ihre Testgruppe zurücksetzen bevor Sie die Prüfung mit dem Code Inspector durchführen.

    Für den Code Inspector möchten Sie eine Objektmenge definieren und eine Prüfvariante in Transaktion SCI. Für ABAP-Modultests müssen Sie in der Prüfvariante Dynamische Tests aktivieren.

    Sie können dann die Inspektion definieren und ausführen.