Wie teste ich Konfigurationsänderungen in einem Dienst?

9

Was ist der beste Ansatz zum Testen eines Dienstes, wenn Sie eine neue Konfiguration hinzufügen? Zum Beispiel bietet mein Service einem Kunden einen Service an und basierend auf der Kundenkonfiguration bietet er eine andere Art von Service. Wenn der Kunde beispielsweise eine bestimmte Währung auswählt, wird ihm ein Rabatt von 20% gegenüber einer anderen Währung angeboten.

Das obige Beispiel spielt keine Rolle. Was zählt, ist der Ansatz, den Menschen bei der Ausführung von CI \ CD verfolgen

Die Logik zur Berechnung des Rabatts liegt in der Domäne und wird von Komponententests umgeben. Meine Frage ist, ob Sie Händler mit unterschiedlichen Regeln konfiguriert haben, um den Rabatt herauszufinden (alles basierend auf der Konfiguration und der Domain, die ihn berechnet). Wenn dann eine Anfrage zur Änderung der Konfiguration eingeht, wie überprüfen Sie ihn?

  1. Schreibst du mehr Tests?
  2. Testen Sie nicht wie bereits in Unit-Tests?
  3. Änderungen manuell testen?
  4. Andere

Ich habe xUnit-Testmuster und testgesteuerte Entwicklungsbücher zusammen mit vielen Artikeln gelesen, bin aber nicht auf die Art und Weise gestoßen, wie Benutzer damit umgehen (Konfigurationsänderungen innerhalb des Dienstes und Überprüfung der Richtigkeit).

Ich sehe dies auch nicht in einem Buch mit kontinuierlicher Lieferung.

Vincent Savard
quelle

Antworten:

1

Ihre Geschäftslogik wird bereits durch Unit-Tests getestet. Können Sie es einfach mit verschiedenen Konfigurationsparametern testen? Wenn nicht, sollten Sie diese beiden trennen:

Konfigurieren Sie <- App -> Business Logic

Hier kümmert sich beispielsweise Ihre Anwendung um das Lesen der Konfiguration und ruft nur die Geschäftslogik mit Parametern auf. Auf diese Weise einfach zu testen.

In Integrationstests testen Sie, ob das gesamte System zusammenarbeitet und nicht die Geschäftslogik.

KaC
quelle
0

Erstellen Sie einen neuen Integrationstest mit den erforderlichen Bedingungen und einem testbaren Ergebnis.

Ein Teil des Test-Setups sollte die Währungskonfiguration sein, in der Sie die Währung festlegen und somit bestimmte Rabatte testen können.

Michael Durrant
quelle