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- To teach the concepts of software testing and testing methodologies
- To elucidate the knowledge of requirement analysis
- 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. |
|
| 02 | Structured Black-box Testing for Phone Banking | Systematic coverage of the same application. |
|
| 03 | Decimal Number Validator | Valid/invalid number recognition with optional sign/decimal. |
|
| 04 | Standard Deduction Calculator | Tax deduction logic based on filing status, age, and blindness. |
|
| 05 | Max-of-Three Static Analysis | Control-flow reasoning for max(i,j,k). |
|
| 06 | Insertion Sort DD-Path Testing | Data-flow coverage for insertion sort implementation. |
|
| 07 | Stack FSM Testing | State-based verification of stack lifecycle. |
|
| 08 | Decision Coverage Estimation | Coverage analysis for dimension comparison snippet. |
|
| 09 | Statement vs Branch Coverage | Minimal tests for print statements triggered by p, q. |
|
| 10 | DU/DC Path Testing for Swap Program | Definition-use and decision-condition analysis. |
|
| 11 | Program Slicing | Variable-centric slices on the swap program. |
|
| 12 | Sorting Coverage & Mutation Score | Coverage planning for nested-loop sort pseudo-code. |
|
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