Software Testing FundamentalsContents What Is Software Testing Why Software Testing Matters Software Testing Terminology Software Testing SDLC and Testing Software Testing Verification vs Validation Software Testing Principles Types of Testing Software Testing Manual vs Automation Software Testing Black Box Testing Software Testing White Box Testing Software Testing Grey Box Testing Software Testing Functional Testing Software Testing Non-Functional Testing Software Testing Smoke and Sanity Testing Testing Levels Software Testing Unit Testing Software Testing Integration Testing Software Testing Stubs and Drivers Software Testing System Testing Software Testing Acceptance Testing Software Testing Alpha and Beta Testing Test Design and Planning Software Testing Test Cases and Plans Software Testing Test Environment and Data Software Testing Equivalence Partitioning Software Testing Boundary Value Analysis Software Testing Decision Table Testing Software Testing State Transition Testing Software Testing Bug Lifecycle Advanced Testing Concepts Software Testing Regression Testing Software Testing Performance Testing Software Testing Security Testing Software Testing Agile Testing Software Testing CI/CD and Testing Software Testing Test Automation Strategy Software Testing Metrics and Reporting Specialized Testing Software Testing Exploratory Testing Software Testing Usability Testing Software Testing Compatibility Testing Software Testing API Testing Software Testing Database Testing Software Testing Mobile App Testing Tools and Best Practices Software Testing Automation Tools Overview Software Testing Selenium Basics Software Testing Bug Tracking and Management Tools Software Testing Best Practices