SlideShare ist ein Scribd-Unternehmen logo
­getrieben
Wer treibt eigentlich die Test­
Entwicklung?
PyCon.DE 2013, 15. Oktober 2013, Köln
Andi Albrecht
Andi Albrecht
— @andialbrecht
Erster Python-Kontakt vor etwa 12 Jahren als
Studentische Hilfskraft bei der DFG
Aktuell: Anwendungsentwickler für Webapplikationen
bei ProUnix in Bonn
Entwicklung und Pflege mittlerer und großer Systeme
OpenSource: Rietveld Code Review Tool, pythonsqlparse, CrunchyFrog/RunSQLRun, …
Test-Driven Development
Für wen eigentlich?
NoPyramid
Separation of Concerns
Test-Driven Development
Framework UnitTests

Selenium

Feat ure-Driven Develop ment

System Tests

Coverage

B ehavior-Driven Develop ment

Comp onent Tes t s

Robot

py.test

Document at ion-Driven Develop ment

Integration Tests
Durchgängige
Qualität
Was treibt

mich
zum Testen an

?
Der Entwickler
Kritischer Blick auf fremden
Code
Die Tools
...und deren Ausgaben
Die Ausgaben
...und wann es nicht mehr
hilfreich ist
ipr uits
mot ntet
dfmsmab:
e
yu(,)
rtr a+b
eun
casMSmetaeuits.etae:
ls
yuTsCs(ntetTsCs)
dfts_s2sl)
e
eti1(ef:
sl.setqa(yu(,5,1)
efasrEulmsm7
)
2
dfts_losnn(ef:
e
etalw_oesl)
sl.setqa(yu(,Nn) 0
efasrEulmsm3
oe, )
i _nm_ = '_an_:
f _ae_ = _mi_'
uits.an)
ntetmi(
Die Ausgaben
Alles gut...
Python's UnitTest
Und wenn nicht?
py.test
Mehr Info, bitte!
py.test, mit PEP8-Plugin
uh, wait...
UnitTests / Integration Tests
→ für uns Entwickler
✔ richtige Wahl der Tests
✔ richtige Wahl des Test-Runners
✔ praktikable Konfiguration der Ausgaben
gezielte Tests der Code-Basis
Nachweis, dass unser Code funktioniert
zuverlässige Basis für andere Entwickler und QS
Der Tester
...den interessiert das erstmal
nicht
Nah beim Kunden
Akzeptanz
Robot Framework
**Stig **
*
etns *
Dcmnain
ouetto
Ats siewt []
et ut
ih …
..
.
..
.
Ti ts hsawrfo ta
hs et a
oklw h
t[]
…
Rsuc
eore
rsuc.x
eorett
**Ts Css**
*
et ae
*
VldLgn
ai
oi
Oe BosrT LgnPg
pn rwe
o oi
ae
IptUenm
nu
srae
dm
eo
IptPswr
nu
asod
md
oe
Sbi Ceetas
umt rdnil
WloePg Sol B Oe
ecm
ae hud e pn
[eron
Tadw]
CoeBosr
ls
rwe
Robot Framework
Oe BosrT LgnPg
pn rwe
o oi
ae
[eorett
rsuc.x]
**Stig **
*
etns *
Lbay
irr
Slnu2irr
eeimLbay
**Kyod **
*
ewrs *
Oe BosrT LgnPg
pn rwe
o oi
ae
Oe Bosr
pn rwe
$LGNUL
{OI
R}
Mxmz BosrWno
aiie rwe
idw
LgnPg Sol B Oe
oi
ae hud e pn

$BOSR
{RWE}
Robot Framework
Oe Bosr$LGNUL $BOSR
pn rwe
{OI
R} {RWE}
[irr:Slnu2irr]
Lbay
eeimLbay
cas_rweMngmnKyod(ewrGop:
ls
BosraaeetewrsKyodru)
dfoe_rwe(ef ul bosr'ieo' []:
e
pnbosrsl, r, rwe=frfx, …)
""pn anwbosrisac t gvnUL""
"Oes
e
rwe
ntne o ie
R."
[]
…
bosrnm =bosr
rwe_ae
rwe
bosr=sl.mk_rwe(rwe_aedsrd
rwe
ef_aebosrbosrnm,eie_
cpblte,
aaiiis
f_rfl_i,eoe
fpoiedrrmt
_r)
ul
bosrgtul
rwe.e(r)
Die Ausgaben
Im Detail
Die Ausgaben
...und als Testbericht
Documentation-Driven
Development
Ein kleiner Exkurs
”If the implementation is easy to explain, it may be a good
idea.“
The Z en of Pyt hon, b y Tim Pet ers
sphinx-doc.org
Wir wollen alle Qualität
Entwickler will stabilen Code
Tester will "runde" Anwendung
Der Endanwender will einfach nur, dass es
funktioniert
Danke!
E-Mail

abeh.nigalcm
lrctad@mi.o

Twitter

@nilrct
adabeh

Homepage

ht:/nilrctd
tp/adabeh.e

prounix.de

Weitere ähnliche Inhalte

Andere mochten auch

waola - Robot-TV
waola - Robot-TVwaola - Robot-TV
waola - Robot-TVwaola
 
Nxt
NxtNxt
myMpeL2011_antonio_quintas
myMpeL2011_antonio_quintasmyMpeL2011_antonio_quintas
myMpeL2011_antonio_quintas
Mestrado em Pedagogia do eLearning
 
Curso básico de SEO
Curso básico de SEOCurso básico de SEO
Curso básico de SEO
Claudio Chalom
 
SEO für Studenten: Contentmanagement & so
SEO für Studenten: Contentmanagement & soSEO für Studenten: Contentmanagement & so
SEO für Studenten: Contentmanagement & so
Eric Kubitz
 
Sibrape Robot XT5 e XT7 Sibrape
Sibrape Robot XT5 e XT7 SibrapeSibrape Robot XT5 e XT7 Sibrape
Sibrape Robot XT5 e XT7 Sibrape
worldpiscinas
 
COIED2_Robots na aula de Matemática
COIED2_Robots na aula de MatemáticaCOIED2_Robots na aula de Matemática
COIED2_Robots na aula de Matemática
COIED
 
David 1000 basta
David 1000 bastaDavid 1000 basta
David 1000 basta
Julio Gomez
 
Apresentação Isis 2015
Apresentação Isis 2015Apresentação Isis 2015
Apresentação Isis 2015
Fernando Vasconcellos
 
Museo wurth
Museo wurthMuseo wurth
Museo wurth
Maria San Jose
 
sadsdasd
sadsdasdsadsdasd
sadsdasd
pene2000
 
Robô BeetleBot
Robô BeetleBotRobô BeetleBot
Robô BeetleBot
Guima San
 
Explorando o Robot Operating System para aplicações em robótica móvel.
Explorando o Robot Operating System para aplicações em robótica móvel.Explorando o Robot Operating System para aplicações em robótica móvel.
Explorando o Robot Operating System para aplicações em robótica móvel.
robota-ufsc
 
Robotica
RoboticaRobotica
Robotica
jmpmota
 
SEO - Conceitos Básicos
SEO - Conceitos BásicosSEO - Conceitos Básicos
SEO - Conceitos Básicos
Felipe Silva
 

Andere mochten auch (15)

waola - Robot-TV
waola - Robot-TVwaola - Robot-TV
waola - Robot-TV
 
Nxt
NxtNxt
Nxt
 
myMpeL2011_antonio_quintas
myMpeL2011_antonio_quintasmyMpeL2011_antonio_quintas
myMpeL2011_antonio_quintas
 
Curso básico de SEO
Curso básico de SEOCurso básico de SEO
Curso básico de SEO
 
SEO für Studenten: Contentmanagement & so
SEO für Studenten: Contentmanagement & soSEO für Studenten: Contentmanagement & so
SEO für Studenten: Contentmanagement & so
 
Sibrape Robot XT5 e XT7 Sibrape
Sibrape Robot XT5 e XT7 SibrapeSibrape Robot XT5 e XT7 Sibrape
Sibrape Robot XT5 e XT7 Sibrape
 
COIED2_Robots na aula de Matemática
COIED2_Robots na aula de MatemáticaCOIED2_Robots na aula de Matemática
COIED2_Robots na aula de Matemática
 
David 1000 basta
David 1000 bastaDavid 1000 basta
David 1000 basta
 
Apresentação Isis 2015
Apresentação Isis 2015Apresentação Isis 2015
Apresentação Isis 2015
 
Museo wurth
Museo wurthMuseo wurth
Museo wurth
 
sadsdasd
sadsdasdsadsdasd
sadsdasd
 
Robô BeetleBot
Robô BeetleBotRobô BeetleBot
Robô BeetleBot
 
Explorando o Robot Operating System para aplicações em robótica móvel.
Explorando o Robot Operating System para aplicações em robótica móvel.Explorando o Robot Operating System para aplicações em robótica móvel.
Explorando o Robot Operating System para aplicações em robótica móvel.
 
Robotica
RoboticaRobotica
Robotica
 
SEO - Conceitos Básicos
SEO - Conceitos BásicosSEO - Conceitos Básicos
SEO - Conceitos Básicos
 

Ähnlich wie -getrieben. Wer treibt eigentlich die Test-Entwicklung?

Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Andreas Schreiber
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
brandts
 
Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Connected-Blog
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign Testen
Peter Rozek
 
Mastering architecture, design- and code-quality
Mastering architecture, design- and code-qualityMastering architecture, design- and code-quality
Mastering architecture, design- and code-quality
Sebastian Dietrich
 
Wir brauchen eine App: Fallstricke und die Frage, was Nutzer eigentlich wollen
Wir brauchen eine App: Fallstricke und die Frage, was Nutzer eigentlich wollenWir brauchen eine App: Fallstricke und die Frage, was Nutzer eigentlich wollen
Wir brauchen eine App: Fallstricke und die Frage, was Nutzer eigentlich wollen
Digicomp Academy AG
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
Claudia Haußmann 🦋
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und Raumfahrt
Andreas Schreiber
 
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareEinsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareAndreas Schreiber
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
QAware GmbH
 
The new job of qa was ein quality engineer zukünftig können muss
The new job of qa   was ein quality engineer zukünftig können mussThe new job of qa   was ein quality engineer zukünftig können muss
The new job of qa was ein quality engineer zukünftig können muss
raezz
 
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...Matthias Stürmer
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014
WebcsonsultsEU
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
Dennis Wilson
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxis
inovex GmbH
 
Mehr Softwarequalität: Team Clean Coding
Mehr Softwarequalität: Team Clean CodingMehr Softwarequalität: Team Clean Coding
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
Mathias Magdowski
 
RPA 2024: Rollen, Lebenszyklus, Trends & Chancen
RPA 2024: Rollen, Lebenszyklus, Trends & ChancenRPA 2024: Rollen, Lebenszyklus, Trends & Chancen
RPA 2024: Rollen, Lebenszyklus, Trends & Chancen
FotiosKaramitsos
 
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungDevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
Marc Müller
 
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
AKJoom
 

Ähnlich wie -getrieben. Wer treibt eigentlich die Test-Entwicklung? (20)

Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
 
Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?Crowdsourced Mobile Testing – Alternative oder Ergänzung?
Crowdsourced Mobile Testing – Alternative oder Ergänzung?
 
Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign Testen
 
Mastering architecture, design- and code-quality
Mastering architecture, design- and code-qualityMastering architecture, design- and code-quality
Mastering architecture, design- and code-quality
 
Wir brauchen eine App: Fallstricke und die Frage, was Nutzer eigentlich wollen
Wir brauchen eine App: Fallstricke und die Frage, was Nutzer eigentlich wollenWir brauchen eine App: Fallstricke und die Frage, was Nutzer eigentlich wollen
Wir brauchen eine App: Fallstricke und die Frage, was Nutzer eigentlich wollen
 
Agiles Testen - Überblick
Agiles Testen - ÜberblickAgiles Testen - Überblick
Agiles Testen - Überblick
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und Raumfahrt
 
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher SoftwareEinsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
Einsatz von Subversion bei der Entwicklung technisch-wissenschaftlicher Software
 
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-GroßprojekteAgil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
Agil zum Ziel: Erfolgsfaktoren für agile IT-Großprojekte
 
The new job of qa was ein quality engineer zukünftig können muss
The new job of qa   was ein quality engineer zukünftig können mussThe new job of qa   was ein quality engineer zukünftig können muss
The new job of qa was ein quality engineer zukünftig können muss
 
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
IT-Kosten sparen mittels Open Source Software: Leeres Versprechen oder realis...
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
DevOps in der Praxis
DevOps in der PraxisDevOps in der Praxis
DevOps in der Praxis
 
Mehr Softwarequalität: Team Clean Coding
Mehr Softwarequalität: Team Clean CodingMehr Softwarequalität: Team Clean Coding
Mehr Softwarequalität: Team Clean Coding
 
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
Akademische Integrität bei Laborprotokollen - Plagiate proaktiv vermeiden und...
 
RPA 2024: Rollen, Lebenszyklus, Trends & Chancen
RPA 2024: Rollen, Lebenszyklus, Trends & ChancenRPA 2024: Rollen, Lebenszyklus, Trends & Chancen
RPA 2024: Rollen, Lebenszyklus, Trends & Chancen
 
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungDevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
 
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
system worx: Wie Open Source Software zur Optimierung von Geschäftsprozessen ...
 

Mehr von Andi Albrecht

Django rest framework in 20 minuten
Django rest framework in 20 minutenDjango rest framework in 20 minuten
Django rest framework in 20 minuten
Andi Albrecht
 
sqlparse Lightning Talk
sqlparse Lightning Talksqlparse Lightning Talk
sqlparse Lightning Talk
Andi Albrecht
 
Der Django-Admin-Bereich im Überblick
Der Django-Admin-Bereich im ÜberblickDer Django-Admin-Bereich im Überblick
Der Django-Admin-Bereich im Überblick
Andi Albrecht
 
Metaprogrammierung, praktisch
Metaprogrammierung, praktischMetaprogrammierung, praktisch
Metaprogrammierung, praktisch
Andi Albrecht
 
Webbrowser-Automatisierung mit Python und Selenium WebDriver
Webbrowser-Automatisierung mit Python und Selenium WebDriverWebbrowser-Automatisierung mit Python und Selenium WebDriver
Webbrowser-Automatisierung mit Python und Selenium WebDriver
Andi Albrecht
 
Verbesserung der Code-"Qualität" durch statische Code-Analyse
Verbesserung der Code-"Qualität" durch statische Code-AnalyseVerbesserung der Code-"Qualität" durch statische Code-Analyse
Verbesserung der Code-"Qualität" durch statische Code-Analyse
Andi Albrecht
 

Mehr von Andi Albrecht (6)

Django rest framework in 20 minuten
Django rest framework in 20 minutenDjango rest framework in 20 minuten
Django rest framework in 20 minuten
 
sqlparse Lightning Talk
sqlparse Lightning Talksqlparse Lightning Talk
sqlparse Lightning Talk
 
Der Django-Admin-Bereich im Überblick
Der Django-Admin-Bereich im ÜberblickDer Django-Admin-Bereich im Überblick
Der Django-Admin-Bereich im Überblick
 
Metaprogrammierung, praktisch
Metaprogrammierung, praktischMetaprogrammierung, praktisch
Metaprogrammierung, praktisch
 
Webbrowser-Automatisierung mit Python und Selenium WebDriver
Webbrowser-Automatisierung mit Python und Selenium WebDriverWebbrowser-Automatisierung mit Python und Selenium WebDriver
Webbrowser-Automatisierung mit Python und Selenium WebDriver
 
Verbesserung der Code-"Qualität" durch statische Code-Analyse
Verbesserung der Code-"Qualität" durch statische Code-AnalyseVerbesserung der Code-"Qualität" durch statische Code-Analyse
Verbesserung der Code-"Qualität" durch statische Code-Analyse
 

-getrieben. Wer treibt eigentlich die Test-Entwicklung?