1 / 6

TinyOS 1.2

TinyOS 1.2. Documentation & Testing. Goal - Stable System. My role: 80/20 Make TinyOS “production quality” Open source version numbering: odd minors development, evens stable. Rules for check-in: Code tested Code documented. Testing - Why.

putnamg
Download Presentation

TinyOS 1.2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TinyOS 1.2 Documentation & Testing

  2. Goal - Stable System • My role: 80/20 • Make TinyOS “production quality” • Open source version numbering: odd minors development, evens stable. • Rules for check-in: • Code tested • Code documented

  3. Testing - Why • Software engineering mantra: if it isn’t tested it doesn’t really work. • Tests: • Contribute to (define?) stability. • Allow refactoring and re-engineering - can throw out what’s stale. • Can document intent in a way code can’t

  4. Testing - How • Framework • QMTest (http://www.codesourcery.com) • Database, process control, text or web, open source. • Every test should encapsulate a problem. • Types of tests: • Component: Encapsulate conditionals (mocks) • Regression: capture existing behavior. (Note: want tests to show changes in behavior also!) • Functional: Application/component behaves as expected under real conditions. • Stress: Run for a long time, under staged adverse conditions. • Statistical: Gather data for later analysis.

  5. Testing - Examples • TinyOS: • Out of resources • Resource conflicts • Proper wirings • Packet loss (regular or irregular) • Edge conditions! • NesC • GCC suite (C correctness) • NesC correctness • Regression testing.

  6. Documentation • Component/function level (NesDoc) • Programmer’s manual • Reference manual • Tutorial • Cookbook • How do I send information to a PC? • How do I enable the radio? • How do I write a new radio?

More Related