• Classroom
  • Online, Instructor-Led
  • Online, Self-Paced
Course Description

The purpose of this course is to provide an overview of software testing and maintenance and how these activities fit into the Software Engineering Life-Cycle. Many examples used in the lectures are derived from analysis of various NASA systems. Topics include various forms of testing such as Functional Testing, Combinatorial Testing, Structural Testing, Model-Based Testing, Security-oriented testing as well as Software Architecture's role in testability & maintainability, Regression Testing, Automated Testing, Testing Coverage including MC/DC coverage and testing standards.

Learning Objectives

Understand testing and maintenance concepts. Recognize, describe and apply different types of testing and maintenance methods, tools and techniques. Reason about testing goals. Understand how the architecture affects maintainability and testability. Understand and apply automated testing strategies. Understand the need to test technologies such as AI and autonomous systems

Framework Connections