This course will delve into various software quality topics. The course takes a holistic view of software quality considering both building the right software and building the software right. First, to learn about building the right software we will focus on understanding software requirements elicitation, specification, analysis, validation, and verification. Next, the course considers building the software right with a focus on code quality and software testing.
The course will include individual and group coursework, and quizzes. The coursework will consist of a series of assignments on each of the topics and online readings, group discussions, and reflections.
The lectures will be interactive. You can expect hands-on activities, tutorials, and discussions to help reinforce the course concepts. Key topics include:
- Requirements Elicitation, Analysis, Specification, Validation, Management, and Verification
- Code conventions, code readability, and software metrics
- Black-box and White-box testing
- Testing techniques, test adequacy metrics
- Unit, Integration, System Testing