Alle Artikel in der Kategorie “Software-Testing-Blog

Kommentare 0

Ein ETL-Test ist nur so gut wie die Testdaten

Hallo!

Heute führe ich Tests für einen Ladelauf einer Landing Zone eines Data Warehouse durch. In dieser Ebene werden selten umfassende Tests durchgeführt. Wenn überhaupt. Aber diese Ebene ist die Grundlage aller anderen Ebenen eines Data Warehouse, und die Tests der zugrunde liegenden ETL-Prozesse verdienen die gleiche Sorgfalt wie alle anderen Tests. Ich habe also zunächst technische Testdaten erstellt, inklusive aller Äquivalenzklassen ...  Weiterlesen

Kommentare 0

Refactoring von SQL – Der LEFT OUTER JOIN, der ein INNER JOIN ist

Hallo!

Als Tester stößt man hin und wieder auf eine SQL-Anweisung, die wie folgt geschrieben ist:

SELECT customer.NAME,
       invoice.ID_INVOICE
  FROM TABLE_MY_FINE_CUSTOMER AS customer

       LEFT OUTER JOIN TABLE_MY_FINE_INVOICE AS invoice
       ON invoice.ID_CUSTOMER = customer.ID_CUSTOMER

 WHERE customer.COUNTRY_CODE = 'US'
   AND invoice.DATE_INVOICE = CURRENT_DATE
;

In diesem vereinfachten und anonymisierten Beispiel sollen alle Kunden aus den USA ausgewählt werden, die eine Rechnung mit dem heutigen Datum als Rechnungsdatum erhalten haben.

Der hier als LEFT OUTER JOIN beschriebene Join ist ein INNER JOIN, da eine Bedingung für die verknüpfte Tabelle in der WHERE-Klausel verwendet wird. Natürlich kann so eine funktionsrichtige, aber unverständlich geschriebene SQL-Anweisung während der Entwicklung der SQL-Anweisung passieren. Dennoch wäre es hilfreich, sie umzugestalten, damit die nächste Person, die sich die SQL-Anweisung ansieht, den LEFT OUTER JOIN nicht falsch interpretiert. Denn was in einem so einfachen Beispiel ersichtlich ist, ist beim Joinen von zehn oder mehr Tabellen nicht mehr zu erkennen.

SELECT customer.NAME,
       invoice.ID_INVOICE
  FROM TABLE_MY_FINE_CUSTOMER AS customer

       INNER JOIN TABLE_MY_FINE_INVOICE AS invoice
       ON invoice.ID_CUSTOMER = customer.ID_CUSTOMER
 ...  Weiterlesen

Kommentare 0

QA Engineer

Hallo!

Ich bin Torsten, ein Informatiker aus Deutschland und – in gewisser Weise – ein analoger Typ, der in einer digitalen Welt lebt. Während meiner langjährigen Tätigkeit als freiberuflicher Entwickler und Tester in großen Unternehmensprojekten, insbesondere im Finanz- und E-Commerce-Bereich, habe ich mich auf ETL-Testing und Testautomatisierung von Webanwendungen spezialisiert. Ich habe dieses Profil erstellt, um das Leben eines ...  Weiterlesen