Test Spreadsheet

Hallo Synesty Support,


es wäre sehr schon wenn es einen Step gäbe, in der es ähnlich wie bei einer Excel Datei möglich ist, einfach Daten aus Test zwecken in einzelne Zellen zu schreiben. Der Input wäre dann Spreadsheet um z.B.: das Template zu bestimmen.

Der Output ist eine Art "Test-Spreadsheet". Dieser kann dann in anderen Steps als 2. Quelle verwendet werden. In den Steps kann man dann zwischen "Test-Modus" und "Normalen-Modus" umschalten.

Das würde sehr Hilfreich sein um Randfälle besser abdecken zu können und die Flow-Durchlaufzeiten während der Flow-Entwicklung deutlich zu verringern.


Viele Grüße und ein schönes Wochenende

Stefan Helme

Hallo Stefan,

sorry, irgendwie ist uns der Beitrag hier durchgerutscht.


Was wir intern machen, um schnell mal ein Testspreadsheet zu erstellen ist folgendes:

1.Step: StringToFile

productId;price

1;10.99

2;299.99


2. SpreadsheetCSVReader


Dies ist dann dein Testspreadsheet.


Zu deinem Vorschlag:

Mit anderen Worten: Du suchst eine Möglichkeit, wie du einzelne Zellen eines Spreadsheets zu Testzwecken überschreiben / austauschen kannst. Haben wir das richtig verstanden?


Am Beispiel:


existierendes Input Spreadsheet S1:

productIDprice
110.99
2 29.99



Du möchtest jetzt z.B. aus 29.99 mal eine 299.99 machen, weil du das für dich ein Grenzfall ist, den du in einem nachfolgenden Step testen möchtest?

productIDprice
110.99
2299.99


Und um das zu erreichen möchtest du eine möglichst einfache - nennen wir es mal Syntax - um diesen Wert bzw. einzelne Werte auszutauschen.

Korrekt?


Kannst du noch etwas mehr ausführen, wie du das in der Praxis verwendest? Wird das hauptsächlich während der initialen Entwicklung benötigt?






Hallo Synesty,


hierbei geht es darum möglichst schnell herauszufinden wie sich das Spreadsheet unter verschiedenen Eingaben Verhält.

Was würde passieren, wenn im Spreadsheet in Zeile 4, Spalte B statt den einem Wert ein anderer steht? Es soll also möglich sein diese Input Werte möglichst einfach zu ändern.


Momentan:

Um dieses Verhalten zu erzeugen, müsste ich entweder, erstmal die Input CSV bearbeiten und neu hochladen oder im SpreadsheetMapper im Wert-Feld die Momentane Logik ausschneiden und den benötigten Wert fest reinschreiben. Dieser Wert ist zusätzlich dann auf die ganze Spalte und nicht nur in einer Zelle. Manchmal will man das aber nicht. In meinen Augen ist das also recht umständlich.


Vielen Dank für die Antwort!


Viele Grüße

Stefan

Ist dieses "möglichst schnell herauszufinden" eher eine manuelle Geschichte? D.h. du änderst einen Wert, und schaust dir dann das Mapper Ergebnis an, richtig?

Interessiert dich bei diesem manuellen reinschauen, dann meistens nur ein einzelner Wert?

Wie gehst du bei weiteren Tests vor?

Änderst du wieder etwas, schaust dann rein usw.?


Worauf wir hinaus wollen:

Was du beschreibst klingt quasi nach so etwas wie Unit-Tests beim Programmieren.

Du willst das Ergebnis deiner Funktion für verschiedene Inputs testen.

Nur das du hier einen SpreadsheetMapper hast, der ja quasi pro Spalte eine Funktion darstellt.




Hallo Synesty Sales,


>Interessiert dich bei diesem manuellen reinschauen, dann meistens nur ein einzelner Wert?

>Wie gehst du bei weiteren Tests vor?

Hier geht es darum wie mehrere Werte miteinander Zusammen spielen.

Einfaches Beispiel:

Ich will aus der Menge und Stückzahl einen Gesamtpreis ermitteln.

Nun will ich in der Menge und Stückzahl Zellen verschiedene Test Werte eintragen um eine möglichst hohe Menge an Möglichkeiten abzudecken. Stellt euch das wie ein Excel-Spreadsheet vor.

Menge

Preis

Ergebnis

20

2

40

2.0

3

6

2,0

4

Script Fehler


Hierbei hatte ich weniger Richtung Erwartungswert gedacht, Unit Tests wie es sie in der richtigen Programmierung gibt sollen also nicht komplett abgebildet werden.


Ich hoffe ich konnte die Problemstellung ein wenig besser verdeutlichen.

Vll habt ihr da ja eine bessere Idee wie man das Problem lösen könnte.


Viele Grüße

Stefan

Ok, danke für das Beispiel. Das hilft sehr für das Verständnis.


Was du mit deiner Tabelle beschreibst sind eigentlich 3 Testcases.

Menge und Preis sind Input-Werte für den Testcase.

Die Ergebnis-Spalte ist das Ergebnis (actual result).

Jetzt fehlt dir nur noch ein Weg wie du das Ergebnis mit deinem erwarteten Ergebnis vergleichen kannst.


Wir machen uns mal Gedanken, wie man das angehen könnte. Klingt auf jeden Fall hilfreich.

In unseren Köpfen schwebt sowas wie "Mapper Unit-Tests" rum, die man regelmäßig automatisiert ausführen könnte. Damit könnte man auch über lange Sicht ohne aufwändiges manuelles Testen feststellen, ob man einen Mapper evtl. mal durch eine Änderung kaputt gemacht hat.





Das hört sich schon mal sehr Vernünftig an.

Vielen Dank!

Bein gespannt was so raus kommt!


Viele Grüße

Stefan