This course introduces the concepts and methods required for effective and efficient Software Testing. It aims to develop a broad understanding of testing processes from planning until execution, and complements this with a detailed knowledge of techniques in an appropriate engineering and management context.
Software Testing: Introduction, Importance, The need for testing, testing as an integral part of software engineering, software engineering processes and testing. Fundamental Principles of Testing, Software Testing Life Cycle - STLC explained, SDLC Vs STLC, Testing through the Software Life Cycle.
Software development models, Test Levels, Test Types: Manual Testing, Automation Testing, Unit Testing, Integration Testing, System Testing, Smoke and Sanity Testing, Regression Testing, Alpha Testing, Beta Testing, User Acceptance Testing, Non - Functional Testing. Test design Techniques: Specification-based or black-box techniques, sampling the program's input space, Structure-based or White-box techniques, path-testing; branch and predicate testing, GUI Testing.
Testing Techniques: Equivalence Partitioning & Boundary Value Analysis, Decision Table Testing, State Transition Diagram, Use Case Testing, Testing Review, Test Management and Control: Estimation, Test Plan.
Test Basis, Test Scenario, Test Case Specifications, Test Case Preparation, Functional Test Case Preparation, GUI Test Case Preparation, Test Data Preparation, Test case Review, Test case Execution, Traceability Matrix.
Types of Test Tools: Bug Life Cycle, Types of test tool, Various Test Management Tool (QualityCenter), Agile Test Management Tool (Mingle), Other Test Management tool (JIRA).
Quality Center: Introduction of Quality Center , Four Modules of QC, Requirement Module, Test Plan Module, Test Lab Module, Defects, Defect Life Cycle, Defect Module, Reports and Graphs, Live Analysis Graphs.