SWE 437 Software Testing and Maintenance
Professor: Jeff Offutt, https://cs.gmu.edu/~offutt/
Description:
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.
Learning outcomes:
- Knowledge of quantitative, technical, and 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
Prerequisites: CS 310 & Math 125
The course syllabus is on the instructor's website:
https://cs.gmu.edu/~offutt/classes/437/