developer testing - love it or hate it (in swedish)
DESCRIPTION
SAST Q4: Utveckartestning (annoterad)TRANSCRIPT
Developer Testing
- Love it or hate it?
SAST Stockholm Q4Alexander Tarnowski
Alexander Tarnowski 2
Om den annoterade versionen
Denna version av presentationen skiljer sig från originalet genom att en del kommentarer lagts till i efterhand för att göra den mer läsvänlig. De ser ut som följande: Kommentar
Utveckling Test
Olika förväntning
ar
Alexander Tarnowski
Jag förväntar mig bra
kvalitet och att det är klart
Sluta testa på dålig kod
Testning är plåster på såret
Lite är skrivet om testning i samband med utveckling
Det finns en klyfta mellan det som utvecklas och det
som testasBristfällig testning av
utvecklaren leder till att testningen måste fokusera
på checking
4
Temperature: -A%¤?.
???
Alexander Tarnowski
Litet värde: grundläggande checking
Mera värde: använder vi rätt komponent?
Än mer värde: är mjukvaran
användarvänlig?
Mest värde: borde vi göra detta över huvud taget?
1. Lära utvecklaren om testning:– För att testa bättre– Veta hur saker kommer att testas
2. Lära ut programmeringsprinciper som leder till ökad testbarhet
Minska gapet mellan utveckling och test
Balansera testkvadranterna
Höja standarden i branschen
Alexander Tarnowski
Teori & Terminologi
• Grundläggande begrepp• Testnivåer och testtyper • Ord som slutar med ”test”• Agil testning
Alexander Tarnowski
7Alexander Tarnowski
Brian Maricks testkvadranter visar mycket. Mest intressant idag är testningens tvåfaldiga syfte:
verifiera och skapa trygghet.
KÖRBARHET!
Testbarhet
Testbarhet
Observerbarhet
Kontrollerbarhet
Ortogonalitet(?)
Isolerbarhet
Driftsättbarhet
Alexander Tarnowski
Utvecklarens perspektiv på testbarhet ör lite
annorlunda.
Kontrakt
Alexander Tarnowski
Om man vid utveckling tänker på vilket kontrakt en given komponent/klass/funktion uppfyller
blir koden mer testbar. Detta gör att utvecklaren kan backa lite och betrakta sin egen kod som en
svart låda, som uppfyller vissa villkor.
Indata och beteende
f(x)Indirekt input
Sidoeffekter
f(y)Temporal koppling
x {1…10}∈Domänstorlek
Alexander Tarnowski
Enhetstestning
Namngivning
Arrange, Act, Assert
Hur många assertions per test?
Constraint-based assertions/Matchers?
Arv?
Mock?
Fake?
Vad är ett enhetstest
???
Stub?
Parametriserade tester
Duplicering
Alexander Tarnowski
Testdriven utveckling
Designteknik
Alexander Tarnowski
Tillstånd Beteende
Bottom-up
Top-down
Vad utvecklartestning inte är
Verifiering av att teamet gör rätt sakTestsessioner utförda av utvecklare
Användbarhets-, last- eller säkerhetstestning
Alexander Tarnowski
Sammanfattningsvis
Alexander Tarnowski
Kunskap om test och testbarhet Koll på hantverket och verktygen
Genom att stärka utvecklaren inom testtekniker och testteori, samt stärka inom programmering som leder till ökad testbarhet, hoppas jag att kvaliteten på det som
utvecklas höjs och att testningen börjar bortom checking.
alexander_tar
blog.crisp.se/author/alexandertarnowskiBlog
www
www.techbookreader.com
Alexander Tarnowski
Feedback på såväl detaljer som
grundantaganden uppskattas
enormt!