Sessions at Open Source Bridge 2009 about Testing

Your current filters are…

Wednesday 17th June 2009

  • Agile JavaScript Testing

    by Scott Becker

    h3. Intro
    * Test Driven Development - What is it, why do it, what are the advantages?
    * Challenges of web applications - browser quirks, asynchronous ajax, dynamic-ness of JavaScript language
    * Future VMs will run JS faster, making "bigger", more processing intensive apps possible within a browser
    * Traditionally web applications have most business logic running server side.
    * Testing for server-side web applications has matured over the past few years
    * AJAX applications have large amounts of code executing in the browser in JavaScript
    * This creates a growing need for testing at the browser level, but this area is still young and not as widely practiced

    h3. What do we gain?
    * Stable development - iterate without fear of breaking existing features
    * Easier refactoring - rewrite the guts of your app and be confident it continues to work
    * Speed - stop refreshing and clicking through your app to verify things are working, thats what computers are for
    * Automation - repeatable tests help you do the right thing every time, without having to think about it

    h3. Getting Started
    * What libraries and methodologies exist for JavaScript testing?
    * A simple example - a client-side form validation library and a suite of tests for verifying it works as expected

    h3. Going further
    * A complex example - integration testing, scripting user stories
    * Testing across multiple browsers
    * Incorporating JS tests into a larger development workflow with server-side tests
    * Continous integration - running tests automatically, every time you commit

    At 11:20am to 12:05pm, Wednesday 17th June

    Coverage note

Thursday 18th June 2009

  • Web Testing with Windmill

    by Mikeal

    h2[=approaches]. Web Testing Approaches

    Separating Concerns, Isolating Components
    Unittesting vs Functional Testing
    Full Monty (blurring the lines between unittesting and funcitonal testing)

    h2[=toolsAndTech]. Tools and Technologies

    Browserless tools (HTTP tools, Browser simulation, DOMless JavaScript Interpreters)
    Browser tools (Watir, Selenium, Windmill)

    h2[=writingTest]. Writing Windmill Tests

    Starting Windmill
    The Windmill IDE
    Using the recorder
    Adding actions and assertions
    Using the Inspector
    Serializing your test (Python vs JavaScript Tests)

    h2[=debuggingTests]. Debugging Windmill Tests

    Running tests
    Debugging Failed Actions
    Firebug and Firebug Lite
    Using the Lookup object

    h2[=runningTests]. Running Tests Continuously

    Command Line Features
    Hudson Plugin
    Getting Windmill running in hosted environments like EC2

    h2[=extra]. And now for something completely different

    Dynamic testing (Windmill's eval APIs)
    Testing Firefox Extensions (MozMill)

    At 5:00pm to 5:45pm, Thursday 18th June

    Coverage note