MET CS 773 SOFTWARE TESTING

Course Overview
This is a course in managing the software testing process and in testing computer software. The course covers the theory and practice of quality assurance and testing for each step of the software development cycle. Topics include Verification vs. validation; Test case design techniques, test coverage criteria, and tools for static and dynamic analysis; Standards; Test-driven development; QA for maintenance and legacy applications; and Experimental approaches

Prerequisites
CS 673 or CS 682

Learning Objectives
This course provides a comprehensive examination of the testing tools, methodologies and techniques of software testing. Frequently used testing frameworks will be introduced and students will develop and design testing suites. Students will learn how to select right testing tools and understand risk management issues.

Methods of Instruction
The course will be primarily lecture-based, with extensive lecture notes made available by the instructor on the course web site. Questions are encouraged. Attendance will be taken during each class meeting.
The web-based component is managed through a course companion web site in CourseInfo that includes

  • lecture notes,
  • references, library and other institutional resources, links to Internet resources;
  • homework assignments and solutions;
  • on-line homework submission;
  • grade management: remote private access to grading information for the student, spreadsheets and grade statistic functions for the instructor;
  • a wealth of communication types: chat (individual or groups), threaded discussion, e-mail (individual or groups), bulleting board;



Evaluation and Grading
Testing Exercise:
There will be a small block of code for which to plan, design, document, and execute tests.
Examinations:
There will be small midterm and final examinations, on assigned readings. It is expected that these will take no more than an hour and a half each.
Grading:
The grading criteria as follows:
Two exams, 12.5% each, total 25%.
Testing Exercise, 15%.
Research Project, 40%.
Classroom discussion showing preparation and absorption of the material, clarity of thought and succinctness of explanation.


Academic Honesty
The course is governed by the Academic Conduct Committee policies regarding plagiarism (any attempt to represent the work of another person as one's own). This includes copying (even with modifications) of a program or segment of code. You can discuss general ideas with other people, but the work you submit must be your own. Collaboration is not permitted.

Instructor Information
Instructor: Roy Horsey
Telephone: (508) 529-6148
E-mail: royhorsey@mindspring.com

Lab
MET College operates four pc laboratories as a resource for our students and faculty. The laboratories include 64 PC's running Windows 2000, Linux or UNIX. Each lab has a LaserJet networked printer, scanner and LCD projector. The computer labs hours are:
Fall and Spring Semester: Daily: 10:00am to 11:00pm
Summer Term: Mon-Thu: 4:00 to 10:00pm, Fri-Sun: 12:00 to 6:00pm
Labs are closed during all holidays, intersession and spring break.
Please note that lab rooms get reserved for classes during certain hours.
View lab reservation calendar.
All labs have the following software: Adobe Acrobat 5.0, Photoshop 5.0, MS Office2000 Pro, IE 6.0, WS-FTP, McAfee VirusScan.


Homework
Research Project:
Each student will conduct a research project, as the student's interests dictate, on a subject related to software testing. The research project material will be submitted to the instructor, and a portion will be presented to the class. The high points of the research project will typically be put together into a presentation of 30 minutes or less. The instructor will exercise supervisory venue over the selection of topic, and offer assistance in methods of research and in selection of presentation material.

References
Hetzel, The Complete Guide to Software Testing, 2nd ed. John Wiley & sons, New York,1988.
Myers, The Art of Software Testing, John Wiley & Sons, New York, 1979.

 

Schedule
Class 1

Purpose, Organization, Procedures. Instructor Introduction. Students Introduction Expectations regarding the research project Beginnings of software testing, why we are where we are now.
Class 2
Myers, Chs. 1 & 2,; Hetzel Chs. 1 & 2;
James Bach white paper Testing Internet Software at www.veritestcom/testers'networkJ (sign in beforehand, then get password to access the white papers).
Philosophy of testing, adequacy of testing, controlling issues.
Class 3
Myers, Ch. 3, Inspections & Walkthroughs; Hetzel Chs. 3 & 4, Methodology & Reviews. Timothy Deptula white paper The Costs & Benefits of Inspection at www.veritestcom/testers'networkJinspection1.asp
Class 4
Hetzel, Chs. 5 & 6, Testing Requirements & Testing Designs. Note on testing internet software by Kathy Gorbach, Dir. of Quality Assurance for Nervewire Corp. (to be distributed)
Class 5
Myers, Chs. 4 & 5, Test Case design, Module Testing. Hetzel, Ch. 7, Testing in the Small. Test exercise distributed.
Class 6
Hetzel, Ch. 8, Testing in the Large. Myers, Ch. 6, Higher-order Testing Midterm exam (tentative).
Class 7
Hetzel, Ch. 9, Testing Software Changes. Myers, Ch. 7, Debugging. Project outline/summary due.
Class 8
Hetzel, Ch. 10, Testing Software Packages. Myers, Ch. 8, Test Tools & Other Technologies.
Class 9
Reserved - Guest Lecture - Testing middleware products - Brian Lipka, EMC Corp. Testing exercise due.
Class 10
Hetzel Chs. 11, 12, 13, 14, Managing the Testing Function
Class 11
Project Presentations
Class 12
Project Presentations
Class 13
Project Presentations
Class 14
Project Presentations

Department of Computer Science
Boston University Metropolitan College
808 Commonwealth Ave, Room 250, Boston, MA. 02215.  Phone: 617 353 2566, Fax: 617 353 2367, Email: csinfo@bu.edu