Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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
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