Binärgewitter

Ein Podcast, der sich mit dem Web, Technologie und Open Source Software auseinander setzt.

http://blog.binaergewitter.de

subscribe
share






Binärgewitter Spezial #5 - Testing


Felix, Marc, Mat, Pfleidi und Ingo haben sich zusammen gefunden um über das Testen von Software zu sprechen.

Trotzdem den Toten der Woche
  • Winamp
Sinn und Zweck
  • Ausführbare Spezifikation
  • Sicherheit beim Refactoring
  • Erleichterung beim Verschieben von Designentscheidungen
  • "Ausprobieren" von Objektdesign
  • Sample code wie Interfaces/Objekte/Binaries funktionieren sollten
  • Schutz vor Regressions (speziell mit CI)
  • Performance Regressionen erkennen
  • Schutz vor Broken-Windows-Phänomen
  • Nebeneffekt: Gut testbarer Code ist oft flexibler und besser wartbar
Was testet man?
  • Unit Test
  • Integration Test
  • Acceptance Test
    • Web Testing (Browser Automation)
  • Vulnerability Testing
    • Fuzz Testing - Spezielle Form von Vulnerability Testing/Quality Assurance
      • Property based testing
      • Input validation: Paradedisziplin SQL injection
      • Stichwort: Checked Exceptions - z.B. in Java für Fälle, die häufig auftreten
    • Penetration Test
      • sqlmap
      • Metasploit framework
  • Performance Testing
    • Tracer Bullet
  • Load Testing
    • Slowloris
  • "PWN Testing" (Neu! TM!)
  • (Code Metrics)
    • Komplexität
    • Sandy Metz rules for developers
    • SOLID Principle
    • Code-Coverage
    • Valgrind
Wie entwickelt man testgetrieben?
  • Test-driven development (TDD) (inside out)
  • Behavior Driven Development (BDD) (outside in)
  • Feature Driven Development (FDD)
Stubs/Mocks/Fixtures
  • Stubs
  • Mocks
  • Fixtures
  • Data-Factories
    • Factory Girl
  • Mocks aren't stubs
Java Frameworks
  • jUnit, TestNG
  • Mockito, Spock
  • FIT ist Testing-Porn für Manager
Python Frameworks
  • STDLIB to the rescue
    • Unittest
    • Doctest
      • Doclet
      • Docblock
      • docopt
  • Python Testing Überblick
Ruby Frameworks:
  • Test-Unit (aka: old stdlib)
  • Minitest (aka: stdlib)
    • WHY NO BEFORE?
  • RSpec
    • 2
    • 1
  • Mocha
  • Cucumber (Behavior Driven Testing)
  • HTTP Client testing
    • VCR
    • Faraday Mock Adapter
    • Webmock
    • Fakeweb
  • File System: FakeFS
  • Zeit: Timecop
JS Frameworks
  • Vows
  • Jasmine
  • Mocha
  • QUnit
PHP
  • PHPUnit
  • Simpletest
  • Behat
Unsere Projekte
  • Podding
  • Mlk
  • serious-bg
  • painload (test suite)
  • viddl-rb
Infrastruktur
  • Testing macht erst mit CI richtig Sinn / CI macht erst mit Testing richtig Sinn
    • Jenkins CI
    • Travis CI FreeKommerz
    • Atlassian Bamboo
  • Coveralls
  • Code Climate
  • Xcode Bots, Mac OS X Server
  • Vim Syntax Checker: syntastic
  • pep8, pylint
  • JSLint
  • faker
    • Auch: faker
    • Auch: Data::Faker
Vorträge
  • Therapeutic Refactoring
  • Boundaries
Bücher zum Thema
  • Test Driven Development
  • Extreme Programming
  • Practical Object Oriented Design in Ruby


fyyd: Podcast Search Engine
share








 November 26, 2013  n/a