Introduction to Software Testing

GJX401 Undergraduate 4 Credits Fall 2025

Course Description

This comprehensive course introduces students to the fundamental principles and practices of software testing. Students will learn various testing methodologies, techniques, and tools used in the industry. The course covers manual testing, automated testing, test case design, defect management, and quality assurance processes. Through hands-on exercises and real-world examples, students will gain practical experience in testing different types of software applications.

Total Duration: 16.67 hours (5 modules × 5 sessions × 40 minutes)

Course Outcomes:
1. Master the software testing life cycle (STLC) and its integration with SDLC
2. Develop proficiency in manual and automated testing methodologies
3. Create effective test plans, test cases, and test reports
4. Utilize industry-standard testing tools and frameworks
5. Apply defect management and bug tracking best practices

Learning Outcomes:
1. Understand fundamental concepts of software testing and quality assurance
2. Apply various testing techniques including black-box, white-box, and gray-box testing
3. Design and execute comprehensive test cases for different software applications
4. Implement automated testing frameworks and tools
5. Evaluate and analyze test results to improve software quality

Course Outcomes (COs)

CO1

1. Understand fundamental concepts of software testing and quality assurance

CO2

2. Apply various testing techniques including black-box, white-box, and gray-box testing

CO3

3. Design and execute comprehensive test cases for different software applications

CO4

4. Implement automated testing frameworks and tools

CO5

5. Evaluate and analyze test results to improve software quality

Course Modules

Module 1: Fundamentals of Software Testing (3 hours 20 minutes)

Introduction to software testing concepts, importance, and basic principles. Understanding the role of testing in software development.

Topics: • Introduction to Software Testing
• Software Development Life Cycle (SDLC)
• Software Testing Life Cycle (STLC)
• Verification vs Validation
• Types of Software Testing Overview
Learning Objectives: • Define software testing and its importance
• Explain SDLC and STLC phases
• Differentiate between verification and validation
• Identify various types of testing
• Understand testing best practices

Sessions:

Introduction to Software Testing

Session 1 of Module 1: Introduction to Software Testing. Duration: 40 minutes.

Outcome: Understand what software testing is and why it is crucial for software quality

Software Development Life Cycle (SDLC)

Session 2 of Module 1: Software Development Life Cycle (SDLC). Duration: 40 minutes.

Outcome: Learn the phases of SDLC and how testing integrates with development

Software Testing Life Cycle (STLC)

Session 3 of Module 1: Software Testing Life Cycle (STLC). Duration: 40 minutes.

Outcome: Master the different phases of STLC from requirement analysis to test closure

Verification vs Validation

Session 4 of Module 1: Verification vs Validation. Duration: 40 minutes.

Outcome: Distinguish between verification and validation activities in testing

Types of Software Testing Overview

Session 5 of Module 1: Types of Software Testing Overview. Duration: 40 minutes.

Outcome: Identify and categorize different types of testing methodologies