SWE 437: Software Testing and Maintenance
Course Description
Software Testing (3:3:0) Prerequisites: CS 211 and Math 125.
Concepts and techniques for testing and modifying software in
evolving environments. Topics include software testing at the
unit, module, subsystem, and system levels;
developer testing; automatic and manual techniques for generating
test data; testing concurrent and distributed software;
designing and implementing software to increase maintainability and
reuse; evaluating software for change; and validating software changes.
Professor: Paul Ammann
For more information, please see the
437 course web page.
ABET Course Outcomes:
-
Knowledge of quantitative, technical, practical methods that software engineers and developers
can use to test their software.
-
Testing techniques and criteria for all phases of software development – unit (developer) testing,
integration testing, system testing, etc.
-
Theoretical and practical knowledge of how to apply test criteria to improve the quality of
software
-
Knowledge of modern challenges and procedures to update continuously evolving software
-
Understanding of best quantitative programming and design practices for ensuring software can be
efficiently and effectively modified and tested
-
Understanding that maintainability and testability are more important than efficiency for almost
all modern software projects
Grading
There will be weekly assignments.
There will be weekly quizzes.
There will be a final exam.
Grades are computed as: Assignments (33%), Quizzes (33%), Final (34%).