Beiträge

Testautomatisierung von Rest APIs und Micro Services mit Postman

REST API Tests mit Postman

Testautomatisierung von Rest APIs hat in den vergangenen Jahren enorm an Bedeutung gewonnen. Das liegt daran, dass überwiegende Anzahl moderner Software-Produkte auf eine zustandslose verteilte Kommunikation zwischen verschiedenen Endpunkten mittels REST API setzt. In diesem Tutorial lernen Sie was man unter REST API Tests versteht und wie man sie anhand eines einfachen Beispiel mit Testwerkzeug „Postman“ schnell und ohne detailliertes technisches Wissen aufbauen kann.

Weiterlesen

Integration Tests Tutorial: Testautomatisierung auf verschiedenen Stufen – Teil 3

Integration Tests

Tutorial-Ziel:

Integration Tests stellen nach den Unit Tests die nächste zentrale Teststufe innerhalb der Testautomatisierungspyramide dar. In diesem Tutorial werden die Grundlagen der Integration Tests erläutert und verschiedene Arten von Integration Tests anhand von praktischen Beispielen demonstriert und geübt.

Unter anderem werden folgende Themen behandelt:

  • Was sind Integration Tests und ihre verschiedene Unterarten?
  • Welche Bereiche kann man mit Integration Tests abdecken?
  • Die grundlegenden Bestandteile eines Integration Tests
  • Erstellung verschiedener Integration Tests für das Beispiel-Szenario
  • Wartung und Lifecycle der Integration Tests

Weiterlesen

Tutorial: Testautomatisierung auf verschiedenen Stufen – 1. Überblick

Test Automatisierung Überblick

 

Tutorial-Ziel:

In dieser Serie werden anhand eines sehr einfachen Beispiels die Testautomatisierungsansätze auf verschiedenen etablierten Stufen gemäß der Testautomatisierungspyramide erläutert.

Dabei werden die Methodiken der Testautomatisierung auf folgenden Stufen vorgestellt

  • Unit Tests (White-Box)
  • Integration Tests (White-Box)
  • Integration Tests / Api Tests (Black-Box)
  • System Tests / End-to-End Tests (Black-Box)

und anhand eines identischen Beispiel-Testszenarios gegenübergestellt, um die Unterschiede hinsichtlich

  • des Automatisierungsaufwandes
  • des erforderlichen Skills
  • der erforderlichen Tools und Infrastruktur
  • der typischen Testlaufzeiten und der Feedback-Loop Dauer  (die insbesondre im agilen Umfeld von zentraler Bedeutung ist)

zu verdeutlichen.

Weiterlesen

Unit Tests Tutorial – Testautomatisierung auf verschiedenen Stufen – Teil 2

Unit Tests

Tutorial-Ziel:

Im 1. Teil der Serie wurden die grundlegenden Testautomatisierungsansätze und Test Stufen sowie unser Beispiel Testszenario vorgestellt.

Im 2. Teil der Serie werden die Grundlagen der Testautomatisierung auf der Stufe der Unit Tests anhand dieses Testszenarios näher erläutert.

Unter anderem werden folgende Themen behandelt:

  • Was sind die Unit Tests und deren USPs?
  • Was soll mittels Unit Tests getestet werden?
  • Die grundlegenden Bestandteile eines Unit Tests?
  • Welche Unit Tests Frameworks gibt es?
  • Einrichtung einer Entwicklungsumgebung
  • Erstellung eines Unit Test Projektes
  • Erstellung der Unit Tests für das Beispiel-Szenario
  • Wartung und Lifecycle der Unit Tests

Weiterlesen

Screenshotvergleich mit Ranorex

Problemstellung: Vergleich der Darstellung von UI Elementen mit Ranorex.
Da es immer wieder vorkommt dass UI Elemente nicht korrekt dargestellt werden hier ein kleiner Codeschnipsel, welcher das Beispiel meines Kollegen (Ranorex Pixelfarbe ermitteln) etwas erweitert. Weiterlesen

OptionTag Auswahl mit Selenium

Um in einem automatisierten Test einen Eintrag aus einer DropDown Liste auszuwählen (Select-Tag), gibt es in Selenium mehrere Möglichkeiten.

Weiterlesen

MTM Testdurchführung über TFS API starten

Um einen automatisierten Testrun über die TFS API zu erstellen, kann die CreateTestRun Methode der Schnittstelle ITestPlan verwendet werden.
Das Erstellen von einem neuen Testlauf funktioniert (zumind. für die Basis-Workflows) ziemlich einfach. Weiterlesen

Ranorex: Pixelfarbe ermitteln

Bei manchen Testfällen ist es notwendig die aktuelle Hintergrundfarbe eines Oberflächenelements zu ermitteln.
WinForms / VB6 / usw. Oberflächen stellen diesen Wert nicht als Eigenschaft bereit, aus diesem Grund muss dieser Wert über einen anderen Weg abgefragt werden.

Der einfachste Weg ist es, ein Screenshot des Elements zu erzeugen und diesen dann mit der GetPixel Methode abfragen.
Ranorex stellt dazu z.B. die Methode

Report.Screenshot(element);

bereit.
Bei dieser Methode wird allerdings das Bild lokal gespeichert, dieses Vorgehen ist etwas fehleranfällig und vor allem unnötig.
Nach einer längerer Suche, bin ich auf die Methode Imaging.CaptureCompressedImage() gestoßen, diese liefert ein Bitmap Objekt zur Laufzeit zurück, ohne dass Bilder lokal gespeichert werden müssen.
Als Parameter kann ein Element vom Typ Ranorex Adapter oder Ranorex Element übergeben werden.

Hier ist eine Beispiels-Methode, mit der vom übergebenen Control die Hintergrundfarben ermittelt werden können.
Natürlich können auch die Pixel verändert bzw. parametrisiert werden.

public static string Color(Adapter ui_control)
{
   Bitmap bmp = Imaging.CaptureCompressedImage(ui_control);
   Color cElementColor = bmp.GetPixel(2, 2);
   return cElementColor.Name;
}

Microsoft Test Manager: TimeOut für die Testdurchführung ausschalten

Manchmal ist es notwendig, dass einzelne Testfälle länger als 30 Minuten laufen. Die Durchführungszeit wird aber, per default, von MTM auf 30 Minuten festgelegt

Default TimeOut der Testdurchführung aus Microsoft Testmanager, wird in den Test Settings festgelegt.

Mit folgenden Schritten, kann die TimeOut Zeit angepasst werden:

  • MTM starten
  • Oben den Bereich von „Testing Center“ auf „Lab Center“ umschalten
  • im „Lab Center“ den Reiter „Test Settings Manager“ auswählen
  • Im „Settings Manager“ eine neue Test Setting anlegen oder eine bestehende öffnen
  • Im Bereich „Steps“, Oberknoten „Advanced“ auswählen, dann den Unterknoten „Timeouts“
  • „Set Mark an individual test as failed if its execution time exceeds: 30“ deaktivieren
  • Speichern
  • Fertig!