Course
Software Testing and Automation
54 hours 17 minutes
Credits: Optional Learning
Description
This course teaches learners how to design, implement, and automate software testing across web applications, APIs, and front-end/back-end systems. Starting from test-driven development fundamentals, learners progress through API testing with Postman, AI-assisted testing strategies, and comprehensive Selenium-based automated testing including advanced frameworks, distributed testing, and CI/CD pipeline integration.
What Students Will Learn
Chapter 1: Testing for Web Development
- TDD Testing Pyramid
- Fundamentals of Model Testing with Mongoose
- Quote Keeper: Model Layer Lab
- Test Server Stack
- Quote Keeper: Server Layer Lab
- JavaScript Assertion Testing
- JavaScript Mocha Testing
- JavaScript Mocha Testing Lab: Rooster Regulation
- JavaScript TDD with Mocha
- JavaScript TDD with Mocha Lab: Factorial
- JavaScript Testing: Code Coverage, Mocking, and Spies
Chapter 2: API Testing Fundamentals with Postman
- API Fundamentals and Testing Literacy (Beginner Level)
- Introducing API Fundamentals & Testing: Understanding APIs
- Introducing API Fundamentals & Testing: Working with RESTful APIs
- API Testing: Getting Started with Postman & API Requests
- API Testing: The Basics of Testing APIs with Postman
- API Testing: Working with Variables in Postman
- API Testing: Data Files, End-to-end Testing, & Mocks in Postman
Chapter 3: AI-Assisted Testing
- AI-Assisted Testing and Debugging Strategies
- Fundamental Front-End Testing with AI
- AI-Assisted React Testing Lab: Weeding Out Hidden Issues in SudoBloom
- Production-Ready Front-End Testing with AI
- AI-Assisted Back-End Testing
- AI-Assisted Back-End Testing Lab: Project Task Tracker API
Chapter 4: Selenium Testing
- Advanced Selenium Framework and Integration Competency (Intermediate Level)
- Introducing Selenium & Locators: Hands-on Selenium IDE for Automated Testing
- Introducing Selenium & Locators: Working with Locators in Selenium
- Functional Testing with Selenium: Waiting Strategies & Window Management
- Functional Testing with Selenium: Interacting with Complex UI Functionality
- Functional Testing with Selenium: Advanced Selenium Features & Framework Design
- Advanced Selenium Frameworks: Integrating Allure Reports with Selenium
- Advanced Selenium Frameworks: Continuous Integration Pipelines with Jenkins
- Advanced Selenium Frameworks: Performing Logging Using Log4j
- Selenium Grid and BDD with Cucumber Competency (Intermediate Level)
- Running Distributed Tests Using Selenium Grid
- Integrating Selenium with Cucumber
- Selenium Testing
- Final Exam: Selenium
Optional
- JavaScript Mocha Testing Cheatsheet
- JavaScript Assertion Testing Cheatsheet
- AI-Assisted Testing and Debugging Strategies Cheatsheet
- Fundamental Front-End Testing with AI Cheatsheet
- AI-Assisted Back-End Testing Cheatsheet
- Introduction to Codex CLI Cheatsheet
- AI Development Tools Cheatsheet
- Learn API Testing: Norms, Practices, and Guidelines for Building Effective Test Automation
- Selenium with Java – A Beginner's Guide
Overall Learning Outcomes
- Apply test-driven development (TDD) principles and testing pyramid concepts in web development contexts
- Implement model and server layer testing using Mongoose and JavaScript testing frameworks
- Write unit tests and apply code coverage, mocking, and spy techniques using Mocha and assertion libraries
- Explain API fundamentals and test RESTful APIs using Postman including variables, data files, and end-to-end testing
- Apply AI-assisted testing strategies for debugging, front-end, and back-end testing scenarios
- Automate browser testing using Selenium IDE and implement locator strategies
- Build functional and advanced Selenium test frameworks with waiting strategies, window management, and complex UI interaction
- Integrate Allure reporting, Log4j logging, and Jenkins CI/CD pipelines with Selenium frameworks
- Run distributed tests using Selenium Grid and implement behaviour-driven development (BDD) with Cucumber

