This course covers concepts, principles, strategies and techniques for testing conventional software, object-oriented software and web-application. It also discusses the concept of software testability that can be incorporated in the software development.