Winter 2026 • School of Computing

SWE4002 – Software Testing

Build production-grade test strategies across functional, structural, and automation landscapes while partnering with industry mentors on realistic validation challenges.

Credits

3-0-2

Theory + Laboratory integrated delivery

Contact Hours

45 + 20

Guided sessions & experiential sprints

Course Snapshot
  • Credits: 3-0-2 (Theory + Lab)
  • Theory Hours: 45
  • Lab Hours: 20
  • Lab Sessions: 20
  • Prerequisites: Data Structures
  • Anti-requisites: None
  • Course Instructor: Dr.Guruprakash J
Evaluation Scheme
  • Theory (75%):
  • CAT-1: 15%
  • CAT-2: 15%
  • Digital Assignment: 10%
  • Quiz 1 & 2: 20%
  • Final Exam: 40%
  • Laboratory (25%): Practicals

Course Objectives

Guiding Goals
  1. To teach the concepts of software testing and testing methodologies
  2. To elucidate the knowledge of requirement analysis
  3. To provide the knowledge of software design and testing on various software projects

Course Outcomes (COs)

Performance
Course Outcome Course Outcome Statement POs / PEOs Mapping
CO1 Planning the testing process with software testing life cycle PO10 / PEO1
CO2 Realize the importance of verification and validation during testing PO2 / PEO4
CO3 Understand the range of different software testing techniques and strategies PO1, PO11 / PEO2
CO4 Enhance the quality of software through proper maintenance and regression testing PO2, PO5, PO9 / PEO2
CO5 Prioritize test cases and manage efficiently the test suite PO3, PO4 / PEO3
CO6 Demonstrate various issues for object-oriented testing and web-based testing PO2, PO3, PO5 / PEO4

Course Modules

Module 1: Introduction to Software Testing

Sessions: 8 hours (8 sessions x 1 hr) | Topics: Testing fundamentals, terminology, methodology

Topics Covered:

This opening module establishes a shared vocabulary by tracing the origins and evolution of software testing, dispelling myths, clarifying its goals and psychology, and introducing the core definitions, methodologies, and life-cycle alignment between STLC and SDLC that frame the rest of the course.

Session Details
Session Title Learning Objectives Material QuizLink Duration
1.1 Origins of Software Testing Trace the introduction and evolution of software testing as a discipline 1 hr
1.2 Testing Myths & Facts Differentiate common misconceptions from realities in software testing 1 hr
1.3 Goals of Testing Explain the goals of testing and how they guide strategy selection 1 hr
1.4 Tester Psychology Recognize the mindset and human factors that influence effective testing 1 hr
1.5 Definitions & Models Review key testing definitions and examine common models for testing 1 hr
1.6 Effective vs Exhaustive Testing Contrast effective testing approaches with the impracticality of exhaustive testing 1 hr
1.7 Testing Terminology & Methodology Cover essential testing terminology and the overarching testing methodology 1 hr
1.8 STLC & SDLC Alignment Map the software testing life cycle to the development life cycle for coherence 1 hr

Module 2: Verification and Validation

Sessions: 7 hours (7 sessions x 1 hr) | Topics: V&V activities, requirements verification, code verification

Topics Covered:

We dive into end-to-end verification and validation by mapping the activities across the lifecycle: scrutinizing requirements, validating high- and low-level designs, verifying code through walkthroughs, reviews, and analysis, and selecting validation techniques that prove the product satisfies stakeholder intent.

Session Details
Session Title Learning Objectives Material QuizLink Duration
2.1 Verification & Validation Overview Differentiate verification and validation activities within the V-model 1 hr
2.2 Principles of Verification Explain verification goals, checkpoints, and artifacts produced 1 hr
2.3 Requirements Verification Apply reviews, inspections, and traceability to ensure requirements quality 1 hr
2.4 High-Level Design Verification Check architectural consistency, interfaces, and performance assumptions 1 hr
2.5 Low-Level Design Verification Verify detailed design elements such as data structures and algorithms 1 hr
2.6 Code Verification Techniques Evaluate walkthroughs, static analysis, and peer reviews for code quality 1 hr
2.7 Validation Strategies Plan validation activities to ensure the product meets user needs 1 hr

Module 3: Dynamic and Static Testing

Sessions: 8 hours (8 sessions x 1 hr) | Topics: Black-box techniques, white-box coverage, and static quality reviews

Topics Covered:

Module 3 contrasts dynamic and static perspectives, covering black-box heuristics such as boundary values, equivalence classes, and state or decision tables, white-box coverage including basis paths, loops, data flow, and mutation analysis, and the inspection-centric reviews that surface defects before code ever runs.

Session Details
Session Title Learning Objectives Material QuizLink Duration
3.1 Boundary Value Analysis Apply boundary value analysis to reveal failures at input and output limits 1 hr
3.2 Equivalence & State Table Testing Design efficient suites using equivalence classes and finite state tables 1 hr
3.3 Decision Table Techniques Translate complex business rules into decision tables and validate coverage 1 hr
3.4 Cause-Effect Graphing & Error Guessing Link cause-effect graphs with error guessing heuristics for robust dynamic tests 1 hr
3.5 White-Box Coverage Fundamentals Explain the need for white-box testing and compare logic coverage criteria 1 hr
3.6 Basis Path & Graph Matrices Derive basis paths, compute cyclomatic complexity, and use graph matrices 1 hr
3.7 Loop, Data Flow & Mutation Testing Evaluate loop testing strategies, data flow anomaly detection, and mutation analysis 1 hr
3.8 Static Testing Practices Conduct inspections, structured walkthroughs, and technical reviews effectively 1 hr

Module 4: Validation Activities and Regression Testing

Sessions: 7 hours (7 sessions x 1 hr) | Topics: Validation activities and regression testing

Topics Covered:

Building on that foundation, we orchestrate validation across unit, integration, functional, system, and acceptance levels, then examine how disciplined regression testing—its objectives, timing, types, and practical techniques—preserves confidence as evolving codebases introduce new risks.

Session Details
Session Title Learning Objectives Material QuizLink Duration
4.1 Unit Testing Essentials Plan isolated unit tests, select harnesses, and ensure code-level coverage 1 hr
4.2 Integration Testing Approaches Contrast top-down, bottom-up, and hybrid integration strategies 1 hr
4.3 Functional Testing Design Create function-level test scenarios aligned with business requirements 1 hr
4.4 System & Acceptance Testing Validate end-to-end workflows and formalize acceptance criteria and sign-off 1 hr
4.5 Regression Testing Fundamentals Differentiate progressive vs regressive testing and restate objectives 1 hr
4.6 Regression Testability & Timing Assess regression testability and decide when regression cycles are needed 1 hr
4.7 Regression Types & Techniques Apply regression testing types and techniques including selection and prioritization 1 hr

Module 5: Efficient Test Suite Management

Sessions: 7 hours (7 sessions x 1 hr) | Topics: Test case design, suite growth, minimization, prioritization, effectiveness

Topics Covered:

This module frames test-suite stewardship as a lifecycle problem: apply sound test case design, understand why suites balloon, trim redundancy for lean execution, prioritize scenarios with clear goals and repeatable techniques, and quantify effectiveness with metrics such as APFD.

Session Details
Session Title Learning Objectives Material QuizLink Duration
5.1 Test Case Design Foundations Review design heuristics that keep suites focused yet comprehensive 1 hr
5.2 Why Test Suites Grow Identify drivers such as feature creep, bug fixes, and compliance coverage 1 hr
5.3 Test Suite Minimization Apply minimization techniques that preserve coverage while trimming redundancy 1 hr
5.4 Benefits of Minimization Quantify benefits such as reduced cycle time, maintenance cost, and faster feedback 1 hr
5.5 Test Suite Prioritization Define prioritization goals and balance risk, business value, and fault exposure 1 hr
5.6 Prioritization Types & Techniques Compare general, version-specific, and model-based approaches with sample algorithms 1 hr
5.7 Measuring Prioritized Suite Effectiveness Use APFD and related metrics to evaluate prioritized test suites 1 hr

Module 6: Automation & Specialized Testing

Sessions: 8 hours (8 sessions x 1 hr) | Topics: Automation tools, OO testing, web & mobile system testing

Topics Covered:

We conclude with automation and specialized contexts, weighing where automation yields returns, how to categorize and select tools (including prominent commercial platforms), and how to adapt strategies for object-oriented architectures plus the unique challenges of web and mobile ecosystems.

Session Details
Session Title Learning Objectives Material QuizLink Duration
6.1 Need for Automation Articulate why automation is required and where it adds measurable value 1 hr
6.2 Testing Tool Categorization Classify automation tools by purpose, technology stack, and deployment model 1 hr
6.3 Tool Selection & Cost Analysis Evaluate selection criteria, ROI, and cost considerations for tool adoption 1 hr
6.4 Automation Guidelines & Tool Demos Apply automation guidelines and explore commercial tool capabilities 1 hr
6.5 OO Testing Basics Recall object-oriented concepts and their impact on testing strategies 1 hr
6.6 OO Testing Techniques Design tests for classes, inheritance, polymorphism, and state behavior 1 hr
6.7 Testing Web-Based Systems Address web testing challenges, quality aspects, and web engineering concerns 1 hr
6.8 Testing Mobile & Web Ecosystems Plan tests for mobile systems integrated with web platforms and services 1 hr

Laboratory Sessions

Total Sessions: 20 labs | Focus: Manual testing, automation frameworks, performance engineering, and test analytics.

Lab Overview
  • Total Sessions: 20
  • Duration: 2 hours each
  • Software: Testing tools, IDEs
  • Assessment: Continuous evaluation
Tools & Technologies
  • Selenium WebDriver
  • JUnit/TestNG
  • Postman API Testing
  • Bug Tracking Tools

List of Laboratory Experiments

# Problem Statement Focus Key Techniques / Tasks
01 Ad-hoc Testing for Phone Banking Free-form exploratory testing of phone banking inputs and commands.
  • Validate numbering rules (area code, prefix, suffix) and passwords.
  • Exercise command keywords: “Check status”, “Deposit”, “Withdrawal”.
  • Probe security/usability edges like repeated attempts or malformed entries.
02 Structured Black-box Testing for Phone Banking Systematic coverage of the same application.
  • BVA, worst/robust variants for every input field.
  • Equivalence class partitions across input/output domains.
  • Documented expectations per partition.
03 Decimal Number Validator Valid/invalid number recognition with optional sign/decimal.
  • Decision table + cause–effect graph coverage.
  • Rules for trailing blanks, decimal precision, and sign placement.
  • Final catalog of valid vs invalid examples.
04 Standard Deduction Calculator Tax deduction logic based on filing status, age, and blindness.
  • Base deductions for single/joint/separate filers.
  • Age/blindness add-ons and spouse dependencies.
  • Scenario matrix for eligibility constraints.
05 Max-of-Three Static Analysis Control-flow reasoning for max(i,j,k).
  • Control flow graph + cyclomatic complexity.
  • Independent path enumeration.
  • Concrete inputs per path.
06 Insertion Sort DD-Path Testing Data-flow coverage for insertion sort implementation.
  • Program graph and DD-path graph.
  • Independent path list through nested loops.
  • Test data for sorted, reverse, and duplicate arrays.
07 Stack FSM Testing State-based verification of stack lifecycle.
  • State table for Initial, Empty, Holding, Full, Final.
  • Transition validation for Create/Add/Delete/Destroy.
  • Negative transitions for illegal actions.
08 Decision Coverage Estimation Coverage analysis for dimension comparison snippet.
  • Identify four tests for 100% decision coverage.
  • Capture expected biggest_dimension outcomes.
09 Statement vs Branch Coverage Minimal tests for print statements triggered by p, q.
  • Single test achieving statement coverage.
  • Two-test set for branch coverage with justification.
10 DU/DC Path Testing for Swap Program Definition-use and decision-condition analysis.
  • Enumerate all DU paths and flag infeasible ones.
  • Generate tests for each DC path and remaining feasible paths.
11 Program Slicing Variable-centric slices on the swap program.
  • Backward/forward slices for a, b, t.
  • Slice-specific tests demonstrating localized fault detection.
12 Sorting Coverage & Mutation Score Coverage planning for nested-loop sort pseudo-code.
  • Relational, loop, and path-testing suites.
  • Mutation adequacy analysis and score computation.

Industry Connect

Bridge classroom learning with current engineering expectations through curated workshops, technical talks, and hackathons co-created with industry mentors.

Workshops

Hands-on build-along sessions that emphasize repeatable techniques and tool fluency.

  • Manual Testing Playbook
  • Automation Testing Bootcamp
  • Performance Testing Deep Dive
Technical Talks

Career-focused conversations led by practitioners on emerging roles in quality engineering.

  • How to Become an SRE
  • Pathway to Becoming an SDET
  • Performance Engineering
  • Future of Testing
Hackathons

Sprint-style problem solving with mixed teams shipping working prototypes and test artifacts.

  • Automation Framework Build-off
  • Performance Engineering Challenge
  • API Testing Suite Showdown

Textbooks & References

Textbook

Naresh Chauhan, "Software Testing, Principles and Practices"

Oxford University Press, 2016

Reference Books

Baris Bezier, "Software Testing Techniques"

International Thomson Computer Press, 2nd Edition, 2015

M G Limaye, "Software Testing: Principles, Techniques and Tools"

TMH, 2nd Edition, 2016