Ansicht
Dokumentation
CL_RSDRC_DS_BASE_TC - Basisklasse für RANDOM Data-Manager Tests
ABAP Short Reference CPI1466 during BackupDiese Dokumentation steht unter dem Copyright der SAP AG.
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. |
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 )