2. 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, …
7. 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
12. 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(
17. 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
20. 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
21. 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}
22. 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)