Modern Software Testing and Maintenance
605.406
Course Description
Development and maintenance of software is changing rapidly, and advances in tools and methods are playing a major role in improved quality and productivity. The increased use of automated techniques have helped the software professional focus on critical areas where most problems will occur and the largest return on investment will be realized. In addition, more disciplined configuration management practices are enhancing software maintenance techniques. The larger role for software testing and maintenance is creating a need for more software testing professionals, and a new sub-discipline is emerging. This course summarizes the field, explains the new techniques, and identifies the important issues. Testing and maintenance is described for the client-server environment, for Internet/Intranet application areas, and for distributed objects in the client-server world. The use and basic understanding of the Capability Maturity Model for development environments will be presented and the dilemma of when to stop testing is described. Additionally, software reliability engineering, dynamic and assertion test automation, Year 2000 testing issues, and cleanroom concepts will be presented. The role of configuration management and the delicate balance between quality, cost, and time are woven into each major area with the use of process and product metrics to assist in quantifying each stage of completion. Students will be provided with programs on which testing and maintenance will be performed.
Syllabus
Prerequisites
Instructor
K Wayne Claybaugh is a Deputy Associate Commissioner with the Social
Security Administration in Baltimore. He has over 30 years of experience in the
supervision, management and development of software applications. Mr. Claybaugh holds a
M.S. degree in computer science from the Johns Hopkins University and B.S.degree in
mathematics from Towson University. He has also done graduate work in the area of software
metrics. Mr. Claybaugh is directly responsible for developing, acquiring and maintaining
software support for the Social Security Association community (approximately 65,000
employees) in the areas of office automation.
E-mail the instructor.
Computer Lab Requirements
The student will be provided with source code in a high level language such as C or JAVA;
this will be used to demonstrate the testing and maintenance principles taught in the
class. This work can be done at either the JHU computer facility or one of their choosing.
Textbook
Software Testing Management, Life on the Critical Path by Thomas C. Royer
Return to Computer Science Courses | Computer Science | Part-Time Engineering