This course is designed to give students the theoretical background and practical knowledge and skills required to succeed in the software industry as Software Testers and Test Automation engineers. This course focuses in understanding the principles of automation and the application of tools for analysis and testing of software. Studies further introduce students to the role of the tester and the business analyst in the Quality Assurance Process. Students are introduced to the fundamental concepts and processes of Software Testing which consists of the verification of implemented solutions against documented specifications. They review various levels of software testing such as black box, grey box, white box, regression, static, dynamic or automated, and learn to create test cases and a test plan. They will comprehend the methods available to use in unit testing and the various tools available to help in running, debugging, and automating the unit tests. The students would be introduced to various test automation frameworks available for automating web applications.