3 Cr. (Hrs.:3 Lec.)
Using industry standards, a text and other materials, this course will focus on understanding software verification and validation (V&V) concepts, processes, techniques and tools. In addition students will practice several V&V techniques in class exercises and lab assignments. Prerequisites: ESOF 322 (2nd)
E1. Students understand what it means to "engineer" software. (ESOF 322)
E2. Students understand quality issues such as usability, reliability, availability, maintainability, portability, and performance, and how these must be considered throughout the life cycle. (ESOF 322)
E3. Understand the importance of software inspections throughout the life cycle, and will have performed several such inspections. (ESOF 322)
R1. Develop unit tests to thoroughly test methods, including database interactions, in a least two programming languages.
R2. Perform value-based, state-based and interaction-based unit testing.
R3. Perform test-driven development in at least two different programming languages.
R4. Perform V-model software development, including acceptance, system, integration and unit testing. (SE: 1)
R5. Be familiar with common testing terms such as black, white box testing, equivalence partitioning, boundary value analysis, alpha and beta testing.
R6. Accurately describe the importance of collecting and analyzing effort, defect, and defect severity data. (SE: 6)
III-1-2-1 - Computing fundamentals, software design and construction, requirements analysis, security, verification, and validation
III-1-2-2 - Software engineering processes and tools appropriate for the development of complex software systems