Title: CS 490M Software Testing
1CS 490M Software Testing
- Company Sponsored Projects
- An Overview
- Under Construction
Fall 2006 Instructor Aditya Mathur
August 21, 2006
2Why 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.
3Why 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!
4Why 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.
5Why reports and presentations?
- Check on progress.
- Improves your oral and written communication
skills. - Keeps you on track!
6Fall 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.
7Microsoft 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.
8Microsoft 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 Shiers 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 Shiers project outline.
Understand it. - Week 3 Begin following Peter Shiers project
outline. - Project presentation 1 Friday September 8.
During the second hour (1030-1130am).
Not to be missed Peter Shiers talk on 9/1
during the lecture hour.
9Boston 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).
10Boston 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 Marcs 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 (1030-1130am).
Not to be missed Craig Abrahamsons talk on
8/30 during the lecture hour.
11TRDDC 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.
12TRDDC 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 (1030-1130am).
13Summary
- 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.