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

Webanwendungen testen

Webanwendungen testen

Oliver Klee

April 05, 2017
Tweet

More Decks by Oliver Klee

Other Decks in Technology

Transcript

  1. Testen von

    Webanwendungen
    Oliver Klee, 2017-04
    @oliklee [email protected]

    View Slide

  2. Tests

    automatisieren?

    View Slide

  3. Test-Level
    http://dabrorius.github.io/2015/06/tested-be-thy-name.html

    View Slide

  4. Unit-Tests sind
    klein und schnell

    View Slide

  5. Integrationstests
    testen das Zusammenspiel
    von Komponenten

    View Slide

  6. Systemtests testen
    das große Ganze

    View Slide

  7. Test-Typen

    View Slide

  8. Blackbox-Tests
    testen das
    nach außen Sichtbare

    View Slide

  9. Whitebox-Tests wie genau es
    innen funktioniert
    testen,

    View Slide

  10. Functional

    Tests

    View Slide

  11. Akzeptanztests

    View Slide

  12. Anti-

    Zombie-

    Tests-

    View Slide

  13. Regressionstests

    View Slide

  14. Smoketests

    View Slide

  15. Smoketests

    View Slide

  16. Story-Tests für
    Behavior-Driven Development
    (BDD)

    View Slide

  17. Wieso

    denn

    bluß?

    View Slide

  18. Manuelles Testen ist mühsam

    View Slide

  19. Automatisierte
    Tests sind schnell

    View Slide

  20. Unit-Tests für die

    Realty-Manager-
    Extension

    View Slide

  21. >1600 Tests

    View Slide

  22. < 60 Sekunden

    View Slide

  23. Sicher sein, dass der
    Code das Richtige tut

    View Slide

  24. Verhindern, dass deine
    Änderungen etwas anderes
    kaputt machen

    View Slide

  25. Verhindern,
    dass andere Leute
    deinen Code kaputtmachen

    View Slide

  26. Auch bei komplexen

    Projekten nichts

    kaputt machen

    View Slide

  27. Baue ein Sicherheitsnetz
    fürs Refactoring

    View Slide

  28. Verbessere
    die Struktur
    des Codes

    View Slide

  29. Grün fühlt sich gut an!

    View Slide

  30. Wo testen?

    View Slide

  31. Auf dem lokalen Rechner

    View Slide

  32. Auf dem Server

    View Slide

  33. Continuous
    Integration
    öfter mal

    einchecken
    =

    View Slide

  34. Der Continuous-Integration-Server
    überwacht den Code
    Git-Repository
    Push / Pull-Request
    Continuous-
    Integration-Server
    Hey, eine
    Änderung!
    Checks

    laufen lassen
    Bericht

    View Slide

  35. Code-Review-Frontends
    Continuous Integration

    und Git-Frontends
    Git-Frontends
    Continuous Integration
    GitHub GitLab

    CI
    Travis CI
    Gerrit
    Jenkins Semaphore

    View Slide

  36. Was bei der CI testen?
    automatisierte

    Tests
    Commit-

    Messages
    Coding-Standards
    Code linten
    Code-Metriken
    Performance
    statische Analyse
    verschiedene Umgebungen
    Baut es?

    View Slide

  37. View Slide

  38. View Slide

  39. Deployment
    Continuous

    View Slide

  40. Besonderheiten
    mit
    Webanwendungen

    View Slide

  41. Tools

    View Slide

  42. Tools
    Akzeptanztests-Framework
    Capybara (Ruby)
    Driver
    Selenium

    WebKit
    Poltergeist

    RackTest
    Tests-Framework
    RSpec

    Test::Unit

    MiniTest
    BDD-Framework
    Cucumber (Ruby)
    Behat (PHP)

    SpecFlow (C#)
    Gherkin

    View Slide

  43. Gherkin

    View Slide

  44. Womit anfangen?
    etwas Einfachem
    Starter-Tests
    Abhängigkeiten

    auflösen
    Code-
    Zerbrechlichkeit
    Kosten von Bugs
    Regression-Tests
    neue Features
    Refactorings

    View Slide