130 likes | 204 Views
CS 490M Software Testing. Company Sponsored Projects An Overview [Under Construction]. Fall 2006 Instructor: Aditya Mathur. August 21, 2006. Why sponsored projects? [1]. Lectures cover widely applicable, generic material.
E N D
CS 490M Software Testing Company Sponsored Projects An Overview [Under Construction] Fall 2006 Instructor: Aditya Mathur August 21, 2006
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. CS 490M Software Testing. Projects Overview.
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! CS 490M Software Testing. Projects Overview.
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. CS 490M Software Testing. Projects Overview.
Why reports and presentations? • Check on progress. • Improves your oral and written communication skills. • Keeps you on track! CS 490M Software Testing. Projects Overview.
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. CS 490M Software Testing. Projects Overview.
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. CS 490M Software Testing. Projects Overview.
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. CS 490M Software Testing. Projects Overview.
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). CS 490M Software Testing. Projects Overview.
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. CS 490M Software Testing. Projects Overview.
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. CS 490M Software Testing. Projects Overview.
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). CS 490M Software Testing. Projects Overview.
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. CS 490M Software Testing. Projects Overview.