Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Disciplin för bångstyrig kod

Disciplin för bångstyrig kod

Presentation av Svante Adermark och Peter Lindberg om automatiserade tester i mobila projekt.

David Hall

May 21, 2014
Tweet

More Decks by David Hall

Other Decks in Programming

Transcript

  1. Appar är inte som webben • Features ofta större, mer

    komplexa. • Koden ofta mer komplex. • Större QA-insats. • Apples granskning hämmar släpp.
  2. Viktigt för oss i iOS-teamet • Hållbar hög takt. •

    Bestående hög kvalitet. • Odramatiska släpp. • Alltid redo för släpp.
  3. Tester ger mod • Omedelbar feedback. • Djärva omstruktureringar. •

    Möjliggör hög takt, jämn kvalitet, odramatiska släpp.
  4. Tester minskar QA-insats • Fokus på nya features. • Automatiserade

    tester mot regression. • Löpande QA, inte egen fas innan släpp. • Hög takt, alltid redo för släpp.
  5. Tester ger bättre design • Enhetstester blottlägger designbrister. • Trygghet

    att förbättra design. • Möjliggör jämn kvalitet, hållbar hög takt.
  6. God koddesign • Lagom stora komponenter. • Vettig ansvarsfördelning. •

    Fåtal beroenden. • Tydlig namngivning. • Ständigt omskött.
  7. Tester är dokumentation • Fångar de ursprungliga intentionerna. • Exempel

    på olika scenarion. • Isolerat från orelaterad kod. • Lättare att förstå koden.
  8. Inte utan våra tester • Tygla komplexitet. • Mildra konsekvenser

    av längre släppcykel. • Bibehålla hög takt i långa projekt. • Alltid vara redo för släpp, utan dramatik.
  9. Kom igång med tester! • Lätt och betalar sig fort.

    • Börja med breda svep över kärnfunktioner. • Sätt upp så tester körs vid varje push. • Se till att alla ser när något går sönder.
  10. Verktyg • GUI-tester: Calabash, Frank, KIF, Monkey Talk, Appium, Bwoken,

    Zucchini, m fl. • Enhetstester: Kiwi, Cedar, XCTest, GHUnit, OCHamcrest, Specta, m fl. • Automatisering: Jenkins, Travis CI, Hudson, m fl.