Curriculum
1. Fundamentals of Testing
Learning Objectives:
Grasp the reasons behind testing and its impact on quality. Master core testing principles and processes. Explore the psychology of testing to avoid biases. Uphold ethical practices as a software testing professional.
Topics:
1. Why testing is necessary
-
Software system context
-
Causes of software defects
-
Role of testing in Software development, Maintains and Operations
-
Testing and Quality
-
How much testing is enough
2. What is testing
-
Seven testing principles
-
Fundamental Test Process
-
Test Planning and Control
-
Test Analysis and Design
-
Test Implementation and Execution
-
Evaluating Exit Criteria and Reporting
-
Test Closure Activities
3. The Psychology of Testing
4. Code of Ethics
2. Testing Throughout the Software Lifecycle
Learning Objectives:
Understand software development models (V-model, Iterative) and the role of testing within each lifecycle. Master different test levels (component, integration, system, acceptance) for effective testing strategy. Explore functional, non-functional, and structural testing to ensure all aspects are covered. Grasp regression testing techniques for maintaining software quality after changes.
Topics:
1. Software Development Model
-
V-model (Sequential Development Model)
-
Iterative -incremental Development Models
-
Testing within a Life Cycle Model
2. Test Levels
-
Component Testing
-
Integration Testing
-
System testing
-
Acceptance Testing
3. Test Types
-
Testing of Function (Functional Testing)
-
Testing of Non — functional Software Characteristics (Non — functional Testing)
-
Testing of Software Structure/Architecture (Structural Testing)
-
Testing Related to Changes: Re-testing and Regression Testing
4. Maintains Testing
3. Static Techniques
Learning Objectives:
Comprehend static analysis techniques and their integration into the test process. Master formal review activities, roles, types, and success factors for improved quality. Utilize static analysis tools to identify potential defects early in the development lifecycle.
Topics:
1. Static Techniques and the Test Process
2. Review Process
-
Activities of Formal Review
-
Roles and Responsibilities
-
Types of Review
-
Success Factors for Review
3. Static Analysis by Tools
4. Test Designing Techniques
Learning Objectives:
Understand the test development process and various design technique categories. Master black-box techniques (equivalence partitioning, boundary value, etc.) for functional testing. Grasp white-box techniques (statement/decision coverage) for code-level examination. Explore experience-based techniques and select the right approach for each testing scenario.
Topics:
1. The Test Development Process
2. Categories of Test Design Techniques
3. Specification-Based or Black-Box Techniques
-
Equivalence Partitioning
-
Boundary Value Analysis
-
Decision Table Testing
-
State Transition Testing
-
Use Case Testing
4. Structure-based or White-box Techniques
-
Statement Testing and Coverage
-
Decision Testing and Coverage
-
Other Structure-based Techniques
5. Experience-based Techniques
6. Choosing Test Techniques
5. Test Management
Learning Objectives:
Understand test team structure, roles (leader/tester) and importance of test independence. Master test planning process (activities, entry/exit criteria, estimation) and develop strategies/approaches. Monitor test progress, generate reports, and control execution for effective management. Grasp configuration management and learn risk identification (project/product) and incident management.
Topics:
1. Test Organization
-
Test Organization and Independence
-
Tasks of the Test Leader and Tester
2. Test Planning and Estimation
-
Test Planning
-
Test Planning Activities
-
Entry Criteria
-
Exit Criteria
-
Test Estimation
-
Test Strategy, Test Approach
3. Test Progress Monitoring and Control
-
Test Progress Monitoring
-
Test Reporting
-
Test Control
4. Configuration Management
5. Risk and Testing
-
Project Risks
-
Product Risks
6. Incident Management
6. Tool Support for Testing
Learning Objectives:
Grasp the role of testing tools and explore their classification for different testing phases. Evaluate benefits and risks of various test tools, considering special factors for specific types. Understand the process of introducing new testing tools into an organization.
Topics:
1. Types of Test Tools
-
Meaning and Purpose of Tool Support for Testing
-
Test Tool Classification
-
Tool Support for Management of Testing and Tests
-
Tool Support for Static Testing
-
Tool Support for Test Specification
-
Tool Support for Test Execution and Logging
-
Tool Support for Performance and Monitoring
-
Tool Support for Specific Testing Needs
2. Effective Use of Tools: Potential Benefits and Risks
-
Potential Benefits and Risks of Tool Support for Testing (for all tools)
-
Special Considerations for Some Types of Tools
3. Introducing a Tool into an Organization
4. More details on the curriculum can be found on ITQSB.