Download ppt - CS 490M Software Testing

Transcript
Page 1: CS 490M Software Testing

CS 490M Software Testing

Company Sponsored Projects

An Overview [Under Construction]

Fall 2006Instructor: Aditya Mathur

August 21, 2006

QuickTime™ and aTIFF (Uncompressed) decompressor

are needed to see this picture.QuickTime™ and a

TIFF (Uncompressed) decompressorare needed to see this picture.

Page 2: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

2

Why sponsored projects? [1]

Lectures cover widely applicable, generic

material.

Lectures do not cover product or company

specific material such as test infrastructure,

writing special types of tests such as for I/O

drivers, interfacing with specific products

such as a cardiac device, etc.

Page 3: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

3

Why sponsored projects? [2]

Sponsored projects provide a peek into the “real world.”

access to engineers in the field

opportunity to solve “real world” problems

opportunity to evaluate how classroom material fits in the

real world.

Sponsored projects strengthen your job prospects

and help you decide whether or not you want to go to

the graduate school!

Page 4: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

4

Why teams?

Most courses focus on “individual learning mode.”

In real life, one needs to work in teams to solve

complex problems.

This requires a level of communication skills,

planning, commitment, organization, etc. much

beyond that required in individual learning mode.

Team-based projects allow students to acquire or

enhance their skills to work in small teams.

Page 5: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

5

Why reports and presentations?

Check on progress.

Improves your oral and written

communication skills.

Keeps you on track!

Page 6: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

6

Fall 2006 sponsors

Boston Scientific (formerly Guidant): Products: Cardiac devices.

Contact: Marc Loos and Craig Abrahamson

Microsoft: Products: OS, office products, and others

Contact: Adam Shapiro and Peter Shier

TRDDC/TCS: Products: Application and other software

Contact: Subhankar Ghosh.

Page 7: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

7

Microsoft: Windows Driver Model [1]

Objectives Learn the Microsoft Windows Driver Model (WDM)

Basics of I/O driver Kernel/user modes, native API, etc. Plug-n-play devices Understand driver code (Example: USB loop back driver)

Understand device simulation and its importance How to generate fully automated tests How to evaluate the quality of the tests and of the driver

using fault injection and code coverage. Understand the importance of high quality I/O drivers.

Page 8: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

8

Microsoft: Windows Driver Model [2] Reference: Programming the Microsoft Windows Driver Model by

Walter Oney, Microsoft Press. Copies available from the instructor.

Steps: Week 1: Form team. Read Peter Shier’s project outline. Understand it. Read

Chapter 1. Get accounts created on Vista machines. Week 2: Get familiar with the location of sample code. Try logging in to

Vista machines in the CS lab. Read Peter Shier’s project outline. Understand it.

Week 3: Begin following Peter Shier’s project outline. Project presentation 1: Friday September 8. During the second hour (10:30-

11:30am).

Not to be missed: Peter Shier’s talk on 9/1 during the lecture hour.

Page 9: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

9

Boston Scientific: Testing Cardiac Devices

Objectives: Learn how embedded systems are tested. Learn why a typical test station framework is needed and

how it functions. Learn to generate quality tests for embedded systems

(cardiac devices in this project). Understand the importance of high quality software for

Cardiac devices and their programmers. Learn to use a version control system (CVS in this project).

Page 10: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

10

Boston Scientific: Testing Cardiac Devices

Reference: Guidelines from Marc Loos. Reference material on Medusa available with the PC on the Test Station.

Steps: Week 1: Form team. Read Marc’s “Dear Student” letter. Get familiar with the

location of the Test Station. It is a piece of hardware centered around a PC. Accounts are needed.

Week 2: Play with the test station. Get your hands “dirty!” Week 3: Develop a project plan for upgrading Medusa. Generate a sample Project presentation 1: Friday September 8. During the second hour (10:30-

11:30am).

Not to be missed: Craig Abrahamson’s talk on 8/30 during the lecture hour.

Page 11: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

11

TRDDC: Automatic Stub Generator [1]

Objectives: Learn how to test complex software. Learn what are “stubs” and how to generate them

automatically. Understand what is a “constraint solver” and how to use it. Learn to use a proprietary testing tool named “Testify.” Learn to develop Eclipse plugin.

Page 12: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

12

TRDDC: Automatic Stub Generator [2]

Reference: Guidelines from TRDDC and Eclipse documentation. Steps:

Week 1: Form team. Read and understand TRDDC project guidelines and Eclipse Java Development Tool (JDT).

Week 2: Identify what types of stubs you plan to generate and work out a sample architecture for stub generator.

Week 3: Develop a project plan for automatic stub generation. Project presentation 1: Friday September 8. During the second hour (10:30-

11:30am).

Page 13: CS 490M Software Testing

Fall 2006 CS 490M Software Testing. Projects Overview.

13

Summary

Form teams (Team size: Minimum: 2. Maximum: 3) Select project Read project documentation from the sponsor. Prepare project plan. Get ready for your first team presentation on 9/8.


Recommended