06CS842 Software Testing syllabus for CS


Part A
Unit-1 BASICS OF SOFTWARE TESTING 1 6 hours

Human Errors and Testing; Software Quality; Requirements, Behavior and Correctness; Correctness versus Reliability; Testing and Debugging; Test Metrics.

Unit-2 BASICS OF SOFTWARE TESTING 2 6 hours

Software and Hardware Testing; Testing and Verification; Defect Management; Execution History;Test-generation Strategies, Static Testing. Model-Based Testing and Model Checking; Control-Flow Graph; Types of Testing; The Saturation Effect.

Unit-3 TEST GENERATION FROM REQUIREMENTS 1 7 hours

Introduction; The Test-Selection Problem; Equivalence Partitioning; Boundary Value Analysis; Category-Partition Method.

Unit-4 TEST GENERATION FROM REQUIREMENTS 2 7 hours

Cause-Effect Graphing, Test Generation from Predicates.

Part B
Unit-5 STRUCTURAL TESTING 6 hours

Overview; Statement testing; Branch testing; Condition testing, Path testing; Procedure call testing; Comparing structural testing criteria; The infeasibility problem.

Unit-6 DEPENDENCE, DATA FLOW MODELS, AND DATA FLOW TESTING 6 hours

Definition-Use pairs; Data flow analysis; Classic analyses; From execution to conservative flow analysis; Data flow analysis with arrays and pointers; Inter-procedural analysis; Overview of data flow testing; Definition-Use associations; Data flow testing criteria; Data flow coverage with complex structures; The infeasibility problem.

Unit-7 TEST CASE SELECTION AND ADEQUACY TEST EXECUTION 6 hours

Overview; Test specification and cases; Adequacy criteria; Comparing criteria; Overview of test execution; From test case specification to test cases; Scaffolding; Generic versus specific scaffolding; Test oracles; Self-checks as oracles; Capture and replay.

Unit-8 PROCESS 8 hours

Test and analysis activities within a software process: The quality process; Planning and monitoring; Quality goals; Dependability properties; Analysis; Testing; Improving the process; Organizational factors. Integration and component-based software testing: Overview; Integration testing strategies; Testing components and assemblies. System, Acceptance and Regression Testing: Overview; System testing; Acceptance testing; Usability; Regression testing; Regression test selection techniques; Test case prioritization and selective execution.

Last Updated: Tuesday, January 24, 2023