seqis 10 things api testing...seqis 10 things – programm 2014 • 20.03.14 business analyse...

Post on 13-Oct-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

30.06.2014 10 things – API Testing

SEQIS 10 things API Testing

Klaus Schlacher

SEQIS – Managing Consultant

Moderne Software

30.06.2014 10 things – API Testing

API Wachstum

30.06.2014 10 things – API Testing

„Eine Programmierschnittstelle ist ein Programmteil, der von einem

Softwaresystem anderen Programmen zur Anbindung an das System zur Verfügung

gestellt wird.“

Wikipedia

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Testautomationspyramide

30.06.2014 10 things – API Testing

Klassen- und Objektmethoden

30.06.2014 10 things – API Testing

1. Denken Sie beim Test nicht nur an die klassischen Schnittstellen

• Klassen- und Objektmethoden • Datenbanken • Proprietäre Kommunikation • …

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Unit Test

• Entwickler

• Kurz, fokussiert

• Frameworks • JUnit

• xUnit

30.06.2014 10 things – API Testing

Unit Test

30.06.2014 10 things – API Testing

Unit Test

30.06.2014 10 things – API Testing

2. Vernachlässigen Sie nicht Ihr Testfallfundament: Unit Tests

• Ein gutes Fundament ist wichtig, um darauf aufbauen

zu können

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Test Driven Development

• Agile Entwicklungsmethode

• iSQI Zertifikat

• 10 things am 18.9.2014

30.06.2014 10 things – API Testing

Continuous Integration

• Source und Test gemeinsam eingecheckt

• Häufige Integration

• Nightly Build

• Automatisiertes Reporting

30.06.2014 10 things – API Testing

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

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

SOAP

• Simple Object Access Protocol

• Weit verbreitetes Webserviceprotokoll

• Austausch von Daten

• Remote Procedure Call

• Basiert auf XML

30.06.2014 10 things – API Testing

SOAP Beispiel

• Calculator

• URL: http://ws1.parasoft.com/glue/calculator

• Simple Addition

30.06.2014 10 things – API Testing

SOAP Beispiel

30.06.2014 10 things – API Testing

SOAP Beispiel

30.06.2014 10 things – API Testing

SOAPUI

• Version 5

• Freeware

• Kostenpflichtige PRO Version

• Umfangreiche Features

30.06.2014 10 things – API Testing

WSDL

• Web Services Description Language

• Beschreibungssprache für Netzwerkdienste • Metasprache

• Div. Beschreibungselemente

• Industrieller Standard (W3C)

• Basis für Testtools

30.06.2014 10 things – API Testing

WSDL

• Web Services Description Language

• Beschreibungssprache für Netzwerkdienste • Metasprache

• Div. Beschreibungselemente

• Industrieller Standard (W3C)

• Basis für Testtools

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Funktionaler Test

• Aufruf des Service • „add“ operation

• Werte für x und y

• Check des Ergebnisses • Wert von Result überprüfen

30.06.2014 10 things – API Testing

Funktionaler Test (semimanuell)

30.06.2014 10 things – API Testing

Funktionaler Test (automatisch)

• Erstellen einer Testsuite

• Erstellen eines Testfalls sowie Teststeps

• Erstellen und Einbinden von Asserts • Ergebnis entspricht der Summe der Eingabewerte

30.06.2014 10 things – API Testing

Funktionaler Test (automatisch)

• Erstellen einer Testsuite

• Erstellen eines Testfalls sowie Teststeps

• Erstellen und Einbinden von Asserts • Ergebnis entspricht der Summe der Eingabewerte

30.06.2014 10 things – API Testing

4. Nutzen Sie Ihr bestehendes Test Know How • API Tests unterscheiden sich in dem Punkt nicht

wirklich von GUI Tests

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Testdaten

• Abdeckung • Ein Testfall nicht ausreichend

• Vielzahl an Testfällen notwendig

• Erstellen von einzelnen Testfällen • Unübersichtlich

• Unwartbar

30.06.2014 10 things – API Testing

Data Driven

• Testfälle • Identer Ablauf

• Unterschiedliche Eingabewerte

• Entsprechend unterschiedliche Ausgabewerte

• Iteration von Datentupel • Grid

• XLS

30.06.2014 10 things – API Testing

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)

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Testautomationspyramide

30.06.2014 10 things – API Testing

6. Berücksichtigen Sie: „Service Tests gehören den Testern!“

• Große Robustheit gegenüber GUI Automation • Absicherung der Qualität von wichtigen

Komponenten

30.06.2014 10 things – API Testing

Mocking, Virtualisierung

• Service (noch) nicht vorhanden

• Hohe Kosten pro Aufruf

• Aufruf dauert lange

30.06.2014 10 things – API Testing

Mocking, Virtualisierung

• Service (noch) nicht vorhanden

• Hohe Kosten pro Aufruf

• Aufruf dauert lange

30.06.2014 10 things – API Testing

Mocking, Virtualisierung

• Simpel • Liefert was zurück

• Komplex • Random

• Antwort aufgrund des Inputs (Mapping)

• Berechnete Antwort

30.06.2014 10 things – API Testing

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

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Wolkenflug, Schlechtwetterflug

• Werte außerhalb des Eingabebereichs

• Ungültige Werte, Wertkombinationen

• Fehlende Eingaben

• Durchgemischter Request

• Missgebildeter Request

• Nicht verfügbare Subservices

30.06.2014 10 things – API Testing

Nicht-funktionale Tests

30.06.2014 10 things – API Testing

Nicht-funktionale Tests

• Last- und Performance Tests • SLA Check

• Usability der Schnittstelle

• Wartbarkeit • Naming

• Verständlichkeit der Struktur

30.06.2014 10 things – API Testing

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

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

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

30.06.2014 10 things – API Testing

REST und SoapUI

30.06.2014 10 things – API Testing

REST und SoapUI

30.06.2014 10 things – API Testing

REST und SoapUI

30.06.2014 10 things – API Testing

REST und SoapUI

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Service Test Tools

• HP Unified Functional Tester

• IBM Rational Service Tester for SOA Quality

• SmartBear SoapUI

• Crosscheck Networks SoapSonar

• …

• Eigenentwicklung SOAP/REST Library

30.06.2014 10 things – API Testing

Service Virtualization Tools

• HP Service Virtualization

• IBM Rational Test Virtualization

• CA LISA Service Virtualization

• Parasoft Service Virtualization

30.06.2014 10 things – API Testing

9. Nehmen Sie sich zur Toolauswahl genügend Zeit • Gehen Sie methodisch vor • Eine übereilte Toolauswahl wurde schon öfters bereut

30.06.2014 10 things – API Testing

Lasttest Tools

• Grundsätzlich geeignet

• Tools • HP LoadRunner

• IBM Rational Performance Tester

• Neotys Neoload

• JMeter

• …

30.06.2014 10 things – API Testing

10. Ziehen Sie auch die nicht so offensichtlichen Dinge in Betracht

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

Wo kann ich mehr erfahren?

• Wikipedia

• Google

• Toolhersteller

• SEQIS

30.06.2014 10 things – API Testing

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

30.06.2014 10 things – API Testing

Tag Cloud

30.06.2014 10 things – API Testing

API Tests?

Mit SEQIS ganz vorne dabei!

30.06.2014 10 things – API Testing

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

30.06.2014 10 things – API Testing

API Tests?

Mit SEQIS ganz vorne dabei!

30.06.2014 10 things – API Testing

SEQIS 10 things API Testing

Klaus Schlacher

SEQIS – Managing Consultant

top related