Ansicht
Dokumentation

CL_RSDRC_DS_BASE_TC - Basisklasse für RANDOM Data-Manager Tests

CL_RSDRC_DS_BASE_TC - Basisklasse für RANDOM Data-Manager Tests

ABAP Short Reference   CPI1466 during Backup  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Klasse CL_RSDRC_DS_BASE_TC ist die Basis-Klasse für eine Reihe von Tests im Bereich des Data Manager bzw. der Aggregation Engine.

Diese Tests zeichnen sich durch folgende Eigenschaften aus:

  • Die Tests testen das Produkt mit sich selbst. Das bedeutet, daß die semantisch identische Aktion auf verschiedene Arten durchgeführt wird und zum äquivalenten Ergebnis führen muss.
Beispiel: Wenn ein InfoCube und ein DataStoreObject die identische semantische Struktur besitzen und mit denselben Daten geladen wurden, müssen zufällig erzeugte Queries auf beide InfoProvider das aequivalente Ergebnis liefern.
  • Es werden keinerlei Referenzergebnisse aufgezeichnet.
  • Im Regelfall sind keine speziellen InfoProvider erforderlich, um die Tests laufen zu lassen. Es müssen jedoch InfoProvider mit Daten vorhanden sein.
  • Ein einzelner Testcase besteht außer der Information, welche Testklasse und welche InfoProvider verwendet werden, nur aus einer (Integer-)Zahl. Dadurch ist der Testcase leicht ausführbar.
  • Testcases, die einmal das falsche Ergebnis geliefert haben, werden in der Tabelle rsdrc_ds_base_tc gespeichert und bei folgenden Testläufen mit derselben Testklasse automatisch wiederausgeführt.
  • Selektionsbedingungen werden mit im InfoProvider vorkommenden Werten gebildet. Dadurch ist der Anteil an Tests mit nicht-leerem Resultset relativ hoch. Es werden also relativ viele aussagekräftige Tests erzeugt. Hierfür werden die InfoProvider-Inhalte aller Merkmale und Kennzahlen, die für den Test in Betracht kommen, gelesen und im Speicher gehalten.
  • Die Testergebnisse werden als Liste ausgegeben. Wenn der Test im BATCH ausgeführt wird, dann wird eine Spool-Datei erzeugt.

Wichtige Methoden

Methode Beschreibung
run Diese statische Methode führt genau einen Test aus. Es ist die zentrale Methode der Klasse. Sie ist für die Testausführung von Bedeutung.
run_tc Diese Instanzmethode muss von einer konkreten Testimplementierung überdefiniert werden.
build_metadata Diese Instanzmethode muss ebenfalls überdefiniert werden. Sie definiert die Parameter SFC, SFK und RANGE für den Data Manager-Aufruf. Gegebenenfalls ist auch eine Resultstruktur für den Data Manager-Aufruf zu definieren ().
build_range Diese Methode erzeugt aus der Testcasenummer und den InfoProvider-Metadaten eine Range-Tabelle im RSDRI-Format. Sie kann bei Verwendung von RSDRI_INFOPROV_READ für den Test einfach aufgerufen werden. Im Falle der Verwendung (oder des Tests) anderer Interfaces hat es sich bewährt, die in dem anderen zu testenden Interface zu verwendende Form einer Merkmalseinschränkung deterministisch aus der RSDRI_T_RANGE abzuleiten.
modify_dta_pro Diese Methode erlaubt es, die Menge der für alle Tests in Betracht gezogenen Merkmale und Kennzahlen zu verändern. Aus dieser Menge werden die Referenzdaten bestimmt, aus denen dann z.B. die SFC, SFK und RANGE aufgebaut werden können.

Beziehungen

Mit dem Report RSDRC_DS_BASE_TC_RUN können Testläufe vorgenommen werden. Testergebnisse werden an eine E-Mail-Adresse verschickt.

Der Report RSDRC_DS_BASE_SINGLE_TC_RUN erlaubt es, genau einen Test (der z.B. ein falsches Ergebnis gezeigt hat), auszuführen.

Die Reports enthalten die folgenden Parameter:

Parameter Bedeutung
TESTTYPE Name der Klasse, die den Test implementiert
INFOPROV Erster InfoProvider, der zum Test verwendet wird
INFOPRO2 Zweiter InfoPprovider für Vergleichstests
NUM_TCS Anzahl Testfälle, die ausgeführt werden sollen
SEED Initialisierungswert für den Zufallszahlengenerator, der die Nummern der Testcases erzeugt. Wenn initial, wird ein Wert aus dem aktuellen Timestamp ermittelt.
EMAIL E-Mail-Adresse für das Testergebnis
TC_NO Nummer des Einzeltests, der ausgeführt werden soll

Implementierte Tests:

Klassenname Beschreibung
CL_RSDRC_PART_SRV_TC Test der Ableitung von Partitionierungsbedingungen
CL_RSDRD_SDEL_TC Test des selektiven Löschens
CL_RSDRI_IPRO_CMP_TC Test durch Vergleich zweier InfoProvider mit logisch identischem Inhalt
CL_RSDRI_ISET_CMP_TC Test durch Vergleich zweier InfoSets mit logisch identischem Inhalt
CL_RSDRI_BIA_CMP_TC Test durch Vergleich eines InfoProviders mit einem InfoCube mit Datenpersistenz im BWA gleichen Inhalts
CL_RSDRI_DS_RND_TC Test des neuen DataStore-Extraktors durch Vergleich mit RSDRI_INFOPROV_READ
CL_RSDRI_IPRO_NOC_TC Test des RSDRI-INFOPROV_READ Aufrufs ohne Datenbank-COMMITs
CL_RSDRS_DIM_BRANCH_TC Test der SQL-Vormaterialisierung bei komplexen Queries
CL_RSDRS_WHERE_TREE_TC Test der Klasse CL_RSDRS_WHERE_TREE durch boolsche Äquivalenzumformungen
CL_RSDRV_ODS_BEXFL_TC Test der Query auf DataStore-Objekte mit und ohne BEXFL (mit/ohne Verwendung der Existenz von SIDs für alle Merkmalsausprägungen)

Beispiel

Hinweise

Weiterführende Informationen






General Data in Customer Master   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8188 Date: 20240426 Time: 201300     sap01-206 ( 94 ms )