37
CI – was tut sich mit Jenkins in Sachen Test?

CI – was tut sich mit Jenkins in Sachen Test? · Jenkins – CI - User … Übersicht der Systeme für automatisiertes Testen Build g n u k c e d b a e d Co JUnit / FIT-Tests (ohne

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

CI – was tut sich mit Jenkins in Sachen Test?

Ziel dieses Vortrags

§ Sie sehen, dass CI mit Jenkins für alle Projektbeteiligte Nutzen stiftet

§ Sie kennen den aktuellen Stand der Testautomation– Statische Code-Analyse– Automatisierte Tests aus Sicht der

• technischen Entwickler

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 2 Copyright 2011 © FIDUCIA IT AG

• fachlichen Entwickler

§ Sie wissen, an welchen Verbesserungen der Testautomation das CoC-Test zusammen mit anderen Abteilungen arbeitet

Agenda

§ Jenkins – CI Plattform

§ Statische Code-Analyse

§ Technischer Entwicklertest

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 3 Copyright 2011 © FIDUCIA IT AG

§ Technischer Entwicklertest

§ Fachlicher Entwicklertest

§ Fazit/Ausblick

§ Fragen? – Diskussion!

Anforderungen der Projektbeteiligten

Produktverantwortliche/ Projektleiter

Darstellung der Fortschritte im Projektverlauf

fachliche Entwickler/Tester

technische Entwickler

schnelles Feedbackzu Builds und

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 4 Copyright 2011 © FIDUCIA IT AG

Test-/Qualitätsmanager

Darstellung des Testfortschritts und Qualitätszustands

fachliche Entwickler/Tester

automatisiertes Ausführen fachlicher Schnittstellen-

und UI-Tests

zu Builds und Entwicklertests

zentrale Plattform für Informationen

© R

olf v

an M

elis

/ P

IXE

LIO

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 5 Copyright 2011 © FIDUCIA IT AG

© R

olf v

an M

elis

/ P

IXE

LIO

Agenda

§ Jenkins – CI Plattform

§ Statische Code-Analyse

§ Technischer Entwicklertest

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 6 Copyright 2011 © FIDUCIA IT AG

§ Technischer Entwicklertest

§ Fachlicher Entwicklertest

§ Fazit/Ausblick

§ Fragen? – Diskussion!

Jenkins – Dashboard (Projektübersicht)

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 7 Copyright 2011 © FIDUCIA IT AG

„Jenkins ist ein erweiterbares, webbasiertes System zurkontinuierlichen Integration in agilen Softwareprojekten.“

Jenkins – Dashboard (Modulansicht)

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 8 Copyright 2011 © FIDUCIA IT AG

Agenda

§ Jenkins – CI Plattform

§ Statische Code-Analyse

§ Technischer Entwicklertest

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 9 Copyright 2011 © FIDUCIA IT AG

§ Technischer Entwicklertest

§ Fachlicher Entwicklertest

§ Fazit/Ausblick

§ Fragen? – Diskussion!

Statische Code-Analyse

§ Code-Reviews der implementierten Komponenten und Entwicklertestfälle– Erkennen von Code-Duplikaten– Finden von Offenen Punkten– Erkennen potentiell fehlerhafter Codefragmente (Bug Patterns)– Finden von Verstößen gegen die Coding Standards

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 10 Copyright 2011 © FIDUCIA IT AG

§ Produkt- und projektabhängig unterschiedliche Standards möglich

Statische Code-Analyse mit PMD - Trend von Build zu Build

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 11 Copyright 2011 © FIDUCIA IT AG

Statische Code-Analyse mit PMD - Übersicht eines Builds

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 12 Copyright 2011 © FIDUCIA IT AG

Statische Code-Analyse mit PMD - Detailansichten

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 13 Copyright 2011 © FIDUCIA IT AG

Agenda

§ Jenkins – CI Plattform

§ Statische Code-Analyse

§ Technischer Entwicklertest

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 14 Copyright 2011 © FIDUCIA IT AG

§ Technischer Entwicklertest

§ Fachlicher Entwicklertest

§ Fazit/Ausblick

§ Fragen? – Diskussion!

Technischer Entwicklertest

§ Anzahl und Ergebnisse der Entwicklertests

§ %-Satz der ausgeführten Anweisungendurch automatisiert durchgeführteEntwicklertests

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 15 Copyright 2011 © FIDUCIA IT AG

§ Die Metriken der Dynamischen Analysewerden während der Durchführungder Entwicklertests gemessenà für aussagekräftige Analysen solltenmöglichst viele Testfälle automatisiertausführbar sein

JUNIT - Testergebnisse

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 16 Copyright 2011 © FIDUCIA IT AG

Codeabdeckung mit Cobertura

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 17 Copyright 2011 © FIDUCIA IT AG

Automatisierte Testfälle mit Datenbankanbindung

§ 10 DB-Schema sowohl in Oracle als auch DB2 verfügbar – (noch) kein IMS– Unabhängig vom Arbeitsplatz eines Entwicklers

§ automatische Reservierung bei Build-Start und Freigabe bei Build-Ende

§ Automatische Initialisierung - Löschen aller bestehenden Tabellen

§ Automatischer Ablauf der DDL aus dem Modul und ggf. projektübergreifender DDL wie z. B. Eingangsliste ….

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 18 Copyright 2011 © FIDUCIA IT AG

B. Eingangsliste ….

Aktuell in den Projekten SEPA und AZV in Verprobung

Konfiguration des DB-Plugin in Jenkins

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 19 Copyright 2011 © FIDUCIA IT AG

Agenda

§ Jenkins – CI Plattform

§ Statische Code-Analyse

§ Technischer Entwicklertest

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 20 Copyright 2011 © FIDUCIA IT AG

§ Technischer Entwicklertest

§ Fachlicher Entwicklertest

§ Fazit/Ausblick

§ Fragen? – Diskussion!

Agenda

§ Jenkins – CI Plattform

§ Statische Code-Analyse

§ Technischer Entwicklertest

© R

olf v

an M

elis

/ P

IXE

LIO

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 21 Copyright 2011 © FIDUCIA IT AG

§ Technischer Entwicklertest

§ Fachlicher Entwicklertest

§ Fazit/Ausblick

§ Fragen? – Diskussion!

© R

olf v

an M

elis

/ P

IXE

LIO

FIT – Was ist das?

§ Ein Testframework für Komponententests aus fachlicher Sicht

§ Programmierer schreibt den UnitTest mit fachlicher Schnittstelle (FIT-Fixture)

§ fachlicher Entwickler schreibt die Befüllung der Schnittstellen in html-Format

§ über JUnit startbar

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 22 Copyright 2011 © FIDUCIA IT AG

Wird aktuell im Projekt KIM verwendet

FIT – Beispiel Eingabe-Datei

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 23 Copyright 2011 © FIDUCIA IT AG

FIT – Beispiel Ausgabe-Datei

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 24 Copyright 2011 © FIDUCIA IT AG

FIT – Einbindung in Jenkins

import ….

@RunWith(FitSuite.class)@FitConfiguration(FitTestsOverJUnit.Configuration.class)public class FitTestsOverJUnit {

public static class Configuration extends DefaultFitConfiguration {

@Overridepublic String getInputDir() {

return "test/fit"; Wo stehen die HTML-Dateien

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 25 Copyright 2011 © FIDUCIA IT AG

return "test/fit";}

@Overridepublic String getOutputDir() {

return "fit-results";}

@Overridepublic String[] getIncludes() {

return new String[] { "**/*.html" };}

}}

Wo stehen die HTML-Dateien

Wohin werden die Ergebnis-HTMLs abgelegt

Welche Dateien sollen berücksichtigt werden ?

UI-Automation mit TAFF

§ Ein Testframework für bildschirmorientierte Tests aus fachlicher Sicht

§ Nutzt die Automationswerkzeuge QF-Test und Quicktest/HP Functional Tester

§ Verwendbar für Windows- und Linux-Clients

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 26 Copyright 2011 © FIDUCIA IT AG

Aktuell in Verprobung mit JBF

UI-Automation mit TAFF – Verprobung mit JBF

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 27 Copyright 2011 © FIDUCIA IT AG

UI-Automation mit TAFF - TAFF-Report

Link zum Screenshot

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 28 Copyright 2011 © FIDUCIA IT AG

Agenda

§ Jenkins – CI Plattform

§ Statische Code-Analyse

§ Technischer Entwicklertest

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 29 Copyright 2011 © FIDUCIA IT AG

§ Technischer Entwicklertest

§ Fachlicher Entwicklertest

§ Fazit/Ausblick

§ Fragen? – Diskussion!

Agenda

§ Jenkins – CI Plattform

§ Statische Code-Analyse

§ Technischer Entwicklertest Aug

enau

f/ P

IXE

LIO

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 30 Copyright 2011 © FIDUCIA IT AG

§ Technischer Entwicklertest

§ Fachlicher Entwicklertest

§ Fazit/Ausblick

§ Fragen? – Diskussion!

© A

ugen

auf

Anforderungen der Projektbeteiligten

Produktverantwortliche/ Projektleiter

Darstellung der Fortschritte im Projektverlauf

fachliche Entwickler/Tester

technische Entwickler

schnelles Feedbackzu Builds und

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 31 Copyright 2011 © FIDUCIA IT AG

Erweiterungsmöglichkeitenz. B. Performance-Messungen

Test-/Qualitätsmanager

Darstellung des Testfortschritts und Qualitätszustands

fachliche Entwickler/Tester

automatisiertes Ausführen fachlicher Schnittstellen-

und UI-Tests

zu Builds und Entwicklertests

zentrale Plattform für Informationen

© G

erd

Altm

ann

/ PIX

ELI

O

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 32 Copyright 2011 © FIDUCIA IT AG

Jeder Build simuliert die Produktionsfreigabe

© G

erd

Altm

ann

/ PIX

ELI

O

BuildC

odea

bdec

kung

JUnit / FIT-Tests (ohne DB)

DB2 / Oracle – Init

JUnit / FIT-Tests (mit DB)

Jenkins – CI

Statische Code-Analyse

SVN

Herausforderungen

§ Erstellung und Pflege von DB-Initial-beständen für fachlich komplexe Tests

§ Submit von Host-Jobs zur IMS-Initialisierung

§ Automatisiertes Bestücken der ApplicationServer zur Testausführung

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 33 Copyright 2011 © FIDUCIA IT AG

JUnit / FIT-Tests (mit DB)

DB-Unload / Check

UI-Automation TAFF

Deploy auf Tomcat

IMS-Init

Performance

Bestand

vorhanden

In Planung

§ Vergleich gegen Referenzbestände

Initial-Bestände

schema-neutral,

versioniert

Agenda

§ Jenkins – CI Plattform

§ Statische Code-Analyse

§ Technischer Entwicklertest

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 34 Copyright 2011 © FIDUCIA IT AG

§ Technischer Entwicklertest

§ Fachlicher Entwicklertest

§ Fazit/Ausblick

§ Fragen? – Diskussion!

Fragen? – Diskussion!

Rainer StangerEntwicklung

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 35 Copyright 2011 © FIDUCIA IT AG

Christian SchubertCustom Solution Development

[email protected] 711 / 50505 – 792

Entwicklung

AEW7QR

Testautomation im CoC-Test

[email protected] 21 / 40 04 – 28 04

Ihr IT-Partner

Vielen Dank

Jenkins – CI - User …

Übersicht der Systeme für automatisiertes Testen

Build

Cod

eabd

ecku

ng

JUnit / FIT-Tests (ohne DB)

DB2 / Oracle – Init

JUnit / FIT-Tests (mit DB)

Jenkins – CI

Statische Code-Analyse

DB2Schema 1 RZBK 1-nSchema 2 RZBK 1-nSchema 3 RZBK 1-n

OracleSchema 1 RZBK 1-nSchema 2 RZBK 1-nSchema 3 RZBK 1-n

Initial-Bestände

schema-neutral,

versioniert

CI – was tut sich mit Jenkins in Sachen Test? | Rainer Stanger, Christian Schubert | JBFOne 2011 | Seite 37 Copyright 2011 © FIDUCIA IT AG

Bestand

vorhanden

In Planung

Cod

eabd

ecku

ng

JUnit / FIT-Tests (mit DB)

DB-Unload / Check

UI-Automation TAFF

Deploy auf Tomcat

IMS-Init

Performance

Schema 3 RZBK 1-nSchema 3 RZBK 1-n

IMS-Online Region / BMP

IMSTeil-DB 1 RZBK 1-nTeil-DB 2 RZBK 1-nTeil-DB 3 RZBK 1-n

Portal User 2

Portal User 1

TomcatCodeabdeckung

Performance