SEQIS 10 things API Testing
SEQIS 10 things API Testing Herzlich Willkommen! Reinhard Salomon SEQIS Geschäftsleitung
SEQIS 10 things Programm 2014 20.03.14 Business Analyse Einführung in den BABOK Guide 26.06.14 API Testing: Nur ein Schnittstelle und der passende Test 18.09.14 Test Driven Development die Methode für Qualitätsbewusste 20.11.14 Der Test als zentrale Schnittstelle in einem IT Projekt
SEQIS 10 things API Testing Klaus Schlacher SEQIS Managing Consultant
Moderne Software
API Wachstum
Eine Programmierschnittstelle ist ein Programmteil, der von einem Softwaresystem anderen Programmen zur Anbindung an das System zur Verfügung gestellt wird. Wikipedia
Tag Cloud
Tag Cloud
Testautomationspyramide
Klassen- und Objektmethoden
1. Denken Sie beim Test nicht nur an die klassischen Schnittstellen Klassen- und Objektmethoden Datenbanken Proprietäre Kommunikation
Tag Cloud
Tag Cloud
Unit Test Entwickler Kurz, fokussiert Frameworks JUnit xunit
Unit Test
Unit Test
2. Vernachlässigen Sie nicht Ihr Testfallfundament: Unit Tests Ein gutes Fundament ist wichtig, um darauf aufbauen zu können
Tag Cloud
Tag Cloud
Test Driven Development Agile Entwicklungsmethode isqi Zertifikat 10 things am 18.9.2014
Continuous Integration Source und Test gemeinsam eingecheckt Häufige Integration Nightly Build Automatisiertes Reporting
3. Setzen Sie auf kontinuierliche Qualitätssicherung Mittels TDD erweitern Sie kontinuierlich Ihr Fallnetz Der Nightly Build ist für die automatisierten Tests der ideale Partner
Tag Cloud
Tag Cloud
Tag Cloud
SOAP Simple Object Access Protocol Weit verbreitetes Webserviceprotokoll Austausch von Daten Remote Procedure Call Basiert auf XML
SOAP Beispiel Calculator URL: http://ws1.parasoft.com/glue/calculator Simple Addition
SOAP Beispiel
SOAP Beispiel
SOAPUI Version 5 Freeware Kostenpflichtige PRO Version Umfangreiche Features
WSDL Web Services Description Language Beschreibungssprache für Netzwerkdienste Metasprache Div. Beschreibungselemente Industrieller Standard (W3C) Basis für Testtools
WSDL Web Services Description Language Beschreibungssprache für Netzwerkdienste Metasprache Div. Beschreibungselemente Industrieller Standard (W3C) Basis für Testtools
Tag Cloud
Tag Cloud
Tag Cloud
Tag Cloud
Funktionaler Test Aufruf des Service add operation Werte für x und y Check des Ergebnisses Wert von Result überprüfen
Funktionaler Test (semimanuell)
Funktionaler Test (automatisch) Erstellen einer Testsuite Erstellen eines Testfalls sowie Teststeps Erstellen und Einbinden von Asserts Ergebnis entspricht der Summe der Eingabewerte
Funktionaler Test (automatisch) Erstellen einer Testsuite Erstellen eines Testfalls sowie Teststeps Erstellen und Einbinden von Asserts Ergebnis entspricht der Summe der Eingabewerte
4. Nutzen Sie Ihr bestehendes Test Know How API Tests unterscheiden sich in dem Punkt nicht wirklich von GUI Tests
Tag Cloud
Tag Cloud
Testdaten Abdeckung Ein Testfall nicht ausreichend Vielzahl an Testfällen notwendig Erstellen von einzelnen Testfällen Unübersichtlich Unwartbar
Data Driven Testfälle Identer Ablauf Unterschiedliche Eingabewerte Entsprechend unterschiedliche Ausgabewerte Iteration von Datentupel Grid XLS
5. Setzen Sie auf bewährte Mittel Excel Dateien als Datenlieferant für Data Driven Test haben sich durchaus bewährt Nutzen Sie toolgestützte Kombinatorik, z. B. mit Hexawise (http://www.hexawise.com)
Tag Cloud
Tag Cloud
Tag Cloud
Testautomationspyramide
6. Berücksichtigen Sie: Service Tests gehören den Testern! Große Robustheit gegenüber GUI Automation Absicherung der Qualität von wichtigen Komponenten
Mocking, Virtualisierung Service (noch) nicht vorhanden Hohe Kosten pro Aufruf Aufruf dauert lange
Mocking, Virtualisierung Service (noch) nicht vorhanden Hohe Kosten pro Aufruf Aufruf dauert lange
Mocking, Virtualisierung Simpel Liefert was zurück Komplex Random Antwort aufgrund des Inputs (Mapping) Berechnete Antwort
7. Beginnen Sie möglichst früh mit Ihren Tests Test als Entwicklungsbegleitung und nicht als nachfolgende Kontrollinstanz Voraussetzung ist ein möglichst stabiler Schnittstellenkontrakt
Tag Cloud
Tag Cloud
Wolkenflug, Schlechtwetterflug Werte außerhalb des Eingabebereichs Ungültige Werte, Wertkombinationen Fehlende Eingaben Durchgemischter Request Missgebildeter Request Nicht verfügbare Subservices
Nicht-funktionale Tests
Nicht-funktionale Tests Last- und Performance Tests SLA Check Usability der Schnittstelle Wartbarkeit Naming Verständlichkeit der Struktur
8. Überprüfen Sie nicht nur das Erwartete Prüfen Sie die API auf Herz und Nieren Vergessen Sie nicht auf die Nicht-funktionalen Tests
Tag Cloud
Tag Cloud
REST Representational State Transfer Eine URL für ein Service Verschiedene Repräsentationen (HTML, JSON, XML) Zustandslos Mehrere Verben (GET, POST, PUT, ) WADL Web Application Description Language
REST und SoapUI
REST und SoapUI
REST und SoapUI
REST und SoapUI
Tag Cloud
Tag Cloud
Tag Cloud
Tag Cloud
Service Test Tools HP Unified Functional Tester IBM Rational Service Tester for SOA Quality SmartBear SoapUI Crosscheck Networks SoapSonar Eigenentwicklung SOAP/REST Library
Service Virtualization Tools HP Service Virtualization IBM Rational Test Virtualization CA LISA Service Virtualization Parasoft Service Virtualization
9. Nehmen Sie sich zur Toolauswahl genügend Zeit Gehen Sie methodisch vor Eine übereilte Toolauswahl wurde schon öfters bereut
Lasttest Tools Grundsätzlich geeignet Tools HP LoadRunner IBM Rational Performance Tester Neotys Neoload JMeter
10. Ziehen Sie auch die nicht so offensichtlichen Dinge in Betracht
Tag Cloud
Tag Cloud
Tag Cloud
Tag Cloud
Tag Cloud
Wo kann ich mehr erfahren? Wikipedia Google Toolhersteller SEQIS
Zusammenfassung 1. Denken Sie beim Test nicht nur an die klassischen Schnittstellen 2. Vernachlässigen Sie nicht Ihr Testfallfundament: Unit Tests 3. Setzen Sie auf kontinuierliche Qualitätssicherung 4. Nutzen Sie Ihr bestehendes Test Know How 5. Setzen Sie auf bewährte Mittel 6. Berücksichtigen Sie: Service Tests gehören den Testern! 7. Beginnen Sie möglichst früh mit Ihren Tests 8. Überprüfen Sie nicht nur das Erwartete 9. Nehmen Sie sich zur Toolauswahl genügend Zeit 10. Ziehen Sie auch die nicht so offensichtlichen Dinge in Betracht
Tag Cloud
API Tests? Mit SEQIS ganz vorne dabei!
SEQIS 10 things Programm 2014 20.03.14 Business Analyse Einführung in den BABOK Guide 26.06.14 API Testing: Nur ein Schnittstelle und der passende Test 18.09.14 Test Driven Development die Methode für Qualitätsbewusste 20.11.14 Der Test als zentrale Schnittstelle in einem IT Projekt
API Tests? Mit SEQIS ganz vorne dabei!
SEQIS 10 things API Testing Klaus Schlacher SEQIS Managing Consultant