DeveloperDays/TorontoSept2008/Proposed Presentation Format

From MozillaWiki
Jump to navigation Jump to search

This proposal is for the test workshop side of the Toronto Developer Day, but it might be expanded for use by other workshops in that event too. You are welcome to use your own formats, and your own style, but I'd ask you to keep in mind these questions and this general approach.

The Goal

The primary goal for these presentations is to generate reusable web content by videoing the audience participation and the presentation/demo. We plan to host these videos online after the conference and plan to use them to help teach people how to get involved in the Mozilla project by writing automated test cases. We can also use this to teach new developers how to write different types of test cases for their unit tests.

The Audience

The best way to visualize this audience is to think about someone with a specific issue in mind that they need to test.

Here are a couple of example questions your audience might be asking themselves (and hoping you'll answer):

  • How can I tell if my application/extension has a memory leak?
  • How can I test this new interface at an API level?
  • How can I automate user interaction with the browser UI to test this new dialog?

A generalized format

I'll provide a sample format to get you started if you're stuck on what to do. Keep in mind that all the sessions don't have to follow this (and I really hope they don't all follow this). Feel free to spice it up as needed, this is only one idea.

  • Opening
    • Introduce the problem that you're trying to solve
    • Talk about different ways that someone might find themselves into dealing with that problem, perhaps give an example of how you came across a similar problem and solved it
  • Introduce the Specific Test Infrastructure you're going to be talking about
    • What are it's uses
    • What are the things that are difficult about it?
    • What are the things that a new user would need to worry about - any gotchas in there?
  • Setting it up
    • Go over (high level) how to get it set up.
      • Get a debug build (link)
      • Build
      • go to /<objdir>/_tests/...
      • etc
  • Building a Test
    • Show how to run the tests
    • Walk through how to build a test
    • Walk through the various strategies for building a test, things people should know about it.
    • Explain the code used to write a test, macros used, specialized properties (like head_*.js and tail_*.js in XPCShell, for example)
  • Running a test
    • Talk about how to submit a test
    • How (and who) to get it reviewed by
    • And how they are run
    • Show it running.
  • Talk about the future of the test harness
    • Questions

The Ultimate Outcome

We want people to be able to walk away from this talk and understand four very basic things:

  • when to use test harness X(and also therefore when not to use it)
  • how to use test harness X
  • how to build a test for test harness X
  • how to run a test on test harness X.

Cover those four things and we'll have a very successful tool for expanding our automated test coverage by increasing the number of people able to write good tests for our platform. Thanks for your help.