ISTQB Certified Tester Foundation Level (CTFL)
1 Introduction to Software Testing
1.1 Definition of Software Testing
1.2 Objectives of Software Testing
1.3 Principles of Software Testing
1.4 Testing Throughout the Software Development Lifecycle
1.5 Fundamental Test Process
1.6 The Psychology of Testing
1.7 Ethics and Professionalism in Software Testing
2 Testing Throughout the Software Development Lifecycle
2.1 Testing and the Software Development Lifecycle Models
2.2 Requirements Analysis and Test Planning
2.3 Test Design and Implementation
2.4 Test Execution and Evaluation
2.5 Test Closure and Reporting
2.6 Configuration Management in Testing
2.7 Risk and Testing
3 Static Techniques
3.1 Overview of Static Techniques
3.2 Reviews and Inspections
3.3 Static Analysis
3.4 Static Testing in the Software Development Lifecycle
4 Test Design Techniques
4.1 Overview of Test Design Techniques
4.2 Black-Box Test Design Techniques
4.2 1 Equivalence Partitioning
4.2 2 Boundary Value Analysis
4.2 3 Decision Table Testing
4.2 4 State Transition Testing
4.2 5 Use Case Testing
4.3 White-Box Test Design Techniques
4.3 1 Statement Testing
4.3 2 Decision Testing
4.3 3 Condition Testing
4.3 4 Path Testing
4.4 Experience-Based Test Design Techniques
4.4 1 Error Guessing
4.4 2 Exploratory Testing
5 Test Management
5.1 Test Organization and Roles
5.2 Test Planning and Estimation
5.3 Test Monitoring and Control
5.4 Test Closure Activities
5.5 Incident Management
5.6 Configuration Management in Testing
5.7 Risk and Testing
6 Tool Support for Testing
6.1 Overview of Test Tools
6.2 Categories of Test Tools
6.3 Selection and Evaluation of Test Tools
6.4 Implementation of Test Tools
6.5 Impact of Test Tools on the Organization
7 Improving the Testing Process
7.1 Overview of Process Improvement
7.2 Test Maturity Model Integration (TMMi)
7.3 Capability Maturity Model Integration (CMMI)
7.4 Key Performance Indicators (KPIs) in Testing
7.5 Continuous Improvement in Testing
8 Practical Software Testing
8.1 Overview of Practical Testing
8.2 Test Planning and Control in Practice
8.3 Test Design and Execution in Practice
8.4 Test Evaluation and Reporting in Practice
8.5 Incident Management in Practice
8.6 Test Tools in Practice
8.7 Continuous Improvement in Practice
9 Specialized Areas of Testing
9.1 Overview of Specialized Areas of Testing
9.2 Usability Testing
9.3 Performance Testing
9.4 Security Testing
9.5 Mobile Application Testing
9.6 Embedded Systems Testing
9.7 Agile Testing
10 Legal and Professional Issues
10.1 Overview of Legal and Professional Issues
10.2 Software Testing Standards
10.3 Ethical Considerations in Software Testing
10.4 Legal Considerations in Software Testing
10.5 Professionalism in Software Testing
Testing Throughout the Software Development Lifecycle

Testing Throughout the Software Development Lifecycle

Testing is an integral part of the Software Development Lifecycle (SDLC) that ensures the quality and reliability of software products. Understanding how testing is integrated into each phase of the SDLC is crucial for becoming an ISTQB Certified Tester Foundation Level (CTFL). Below, we will explore the key concepts and practices related to testing throughout the SDLC.

1. Requirements Analysis Phase

During the Requirements Analysis phase, testers collaborate with stakeholders to understand the requirements. This phase is crucial for identifying potential risks and defining the scope of testing. Testers should:

Example:

        Requirement: The system shall allow users to log in with a valid username and password.
        Test Case: Verify that a user can log in with a valid username and password.
    

2. Design Phase

In the Design phase, testers focus on designing the test environment, test cases, and test data. They also review the system design to ensure it is testable. Key activities include:

Example:

        Test Case: Verify that the system handles invalid login attempts gracefully.
        Steps:
        1. Enter an invalid username and password.
        2. Click the login button.
        3. Verify that an error message is displayed.
    

3. Implementation Phase

During the Implementation phase, testers begin executing test cases and reporting defects. This phase involves:

Example:

        Test Execution:
        1. Execute the test case for invalid login attempts.
        2. Observe that no error message is displayed.
        3. Log a defect: "System does not display an error message for invalid login attempts."
    

4. Testing Phase

The Testing phase is where most of the testing activities occur. This includes:

Example:

        Regression Testing:
        1. After a bug fix, re-execute all related test cases.
        2. Ensure that the fix does not break existing functionality.
    

5. Deployment and Maintenance Phase

In the Deployment and Maintenance phase, testing continues to ensure the software remains stable and meets user expectations. Key activities include:

Example:

        Post-Deployment Testing:
        1. After deployment, verify that the login functionality works in the production environment.
        2. Monitor user feedback for any issues.
    

By integrating testing into each phase of the SDLC, organizations can ensure that software products are of high quality and meet user expectations. This holistic approach to testing is a fundamental concept in the ISTQB CTFL certification.