Rigorous testing is essential in the development of all well engineered products. Software testing
is a pervasive process that uses both static and dynamic techniques of system checking. Using
these various techniques, software engineering professionals are tasked with ensuring that
software achieves quality standards, satisfies its specification and when implemented, meets the
expectations of the stakeholders. This course aims to expose students to various techniques involved in the verification and
validation of software, and ensuring its quality throughout the development process. It will focus
on test-driven development processes.