PSD 311: Software Testing
This course provides a comprehensive understanding of software testing, focusing on
ISTQB-aligned methodologies, test design, defect management, and tools. By the end of the
course, learners will be equipped with the skills to design, execute, and manage software tests
effectively, ensuring software quality and reliability.
Topic 1: Fundamentals of Software Testing (2 hours)
Objectives:
● Understand the purpose and principles of software testing.
● Differentiate between errors, defects, and failures.
Content:
● The importance of software testing in the development lifecycle.
● Seven principles of software testing.
● Static vs. dynamic testing.
● Key testing terms: test cases, test suites, and test plans.
Activities:
● Case study: Identifying defects in a sample application.
● Group discussion on the importance of testing in preventing failures.
Topic 2: Types of Testing (2 hours)
Objectives:
● Explore different types of software testing and their use cases.
● Understand the differences between functional and non-functional testing.
Content:
● Functional testing: unit, integration, system, and acceptance testing.
● Non-functional testing: performance, security, usability, and compatibility testing.
● Manual vs. automated testing.
● Regression and retesting.
Activities:
● Mapping test types to real-world scenarios.
● Analyzing when to apply functional and non-functional testing.
Topic 3: Static Testing Techniques (2 hours)
Objectives:
● Understand the benefits of static testing in early defect detection.
● Learn and apply review techniques.
Content:
● Overview of static testing: walkthroughs, technical reviews, and inspections.
● Static analysis tools and their applications.
● Identifying defects in requirements and design documents.
Activities:
● Peer review of a sample requirement document.
● Demonstrating the use of static analysis tools.
Topic 4: Test Design Techniques (2 hours)
Objectives:
● Learn and apply black-box and white-box test design techniques.
● Create effective and efficient test cases.
Content:
● Black-box techniques: equivalence partitioning, boundary value analysis, decision
tables, and state transition testing.
● White-box techniques: statement, decision, and condition coverage.
● Best practices for designing test cases.
Activities:
● Designing test cases for a sample application using equivalence partitioning.
● Hands-on practice with state transition testing.
Topic 5: Test Management (2 hours)
Objectives:
● Understand the processes involved in test planning, monitoring, and control.
● Explore the importance of risk-based testing.
Content:
● Components of a test plan: objectives, scope, resources, and schedule.
● Entry and exit criteria.
● Risk analysis and prioritization in testing.
Activities:
● Creating a test plan for a sample project.
● Prioritizing test cases based on risk analysis.
Topic 6: Defect Management (2 hours)
Objectives:
● Learn the defect lifecycle and defect management processes.
● Understand tools for defect reporting and tracking.
Content:
● Defect lifecycle: identification, logging, classification, and closure.
● Effective defect reporting with clear descriptions and reproduction steps.
● Tools for defect tracking (e.g., JIRA, Bugzilla).
Activities:
● Logging defects in a defect management tool.
● Practicing defect classification and prioritization.
Topic 7: Test Tools and Automation (2 hours)
Objectives:
● Explore the role of test tools in automation and management.
● Gain hands-on experience with a popular test automation tool.
Content:
● Categories of test tools: test management, functional testing, performance testing.
● Benefits and limitations of test automation.
● Introduction to automation tools (e.g., Selenium, JUnit).
Activities:
● Automating a simple test case using a selected test automation tool.
● Comparing manual vs. automated test results for efficiency.
Topic 8: Career Insights and Opportunities (2 hours)
Objectives:
● Explore career paths in software testing and quality assurance.
● Understand industry expectations and opportunities for testers.
Content:
● Overview of software testing careers: roles, responsibilities, and growth.
● Industry certifications: ISTQB Foundation and Advanced Levels.
● Emerging trends: AI in testing, performance engineering, and DevOps testing.
● Networking and professional development resources.
Activities:
● Guest speaker session with industry professionals.
● Group discussion on career planning and certification paths.
● Developing a personal learning and career roadmap.
Reference Materials:
● ISTQB Foundation Level Syllabus.
● "Foundations of Software Testing" by Dorothy Graham, Rex Black, and Erik van
Veenendaal.
● Online tools documentation (e.g., Selenium, JIRA).
● ISTQB glossary of terms for software testing.
This curriculum ensures learners gain theoretical and practical knowledge aligned with industry
standards, preparing them for ISTQB certification and real-world testing challenges.