COURSE OBJECTIVE:
• Understand what testing is and why it is beneficial
• Understand fundamental concepts of software testing
• Identify the test approach and activities to be implemented depending on the context of testing
• Assess and improve the quality of documentation
• Increase the effectiveness and efficiency of testing
• Align the test process with the software development lifecycle
• Understand test management principles
• Write and communicate clear and understandable defect reports
• Understand the factors that influence the priorities and efforts related to testing
• Work as part of a cross-functional team
• Know risks and benefits related to test automation
• Identify essential skills required for testing
• Understand the impact of risk on testing
• Effectively report on test progress and quality
TARGET AUDIENCE:
The Foundation Level qualification is aimed at anyone involved in software testing. This includes people in roles such as testers, test analysts, test engineers, test consultants, test managers, user acceptance testers and software developers.
COURSE PREREQUISITES:
None
COURSE CONTENT:
Chapter 1: Fundamentals of Testing
1.1 What is Testing?
1.1.1 Identify typical test objectives
1.1.2 Differentiate testing from debugging
1.2 Why is Testing Necessary?
1.2.1 Exemplify why testing is necessary
1.2.2 Recall the relation between testing and quality assurance
1.2.3 Distinguish between root cause, error, defect, and failure
1.3 Testing Principles
1.3.1 Explain the seven testing principles
1.4 Test Activities, Testware and Test Roles
1.4.1 Summarize the different test activities and tasks
1.4.2 Explain the impact of context on the test process
1.4.3 Differentiate the testware that support the test activities
1.4.4 Explain the value of maintaining traceability
1.4.5 Compare the different roles in testing Certified Tester Foundation Level
1.5 Essential Skills and Good Practices in Testing
1.5.1 Give examples of the generic skills required for testing
1.5.2 Recall the advantages of the whole team approach
1.5.3 Distinguish the benefits and drawbacks of independence of testing
Chapter 2: Testing Throughout the Software Development Lifecycle
2.1 Testing in the Context of a Software Development Lifecycle
2.1.1 Explain the impact of the chosen software development lifecycle on testing
2.1.2 Recall good testing practices that apply to all software development lifecycles
2.1.3 Recall the examples of test-first approaches to development
2.1.4 Summarize how DevOps might have an impact on testing
2.1.5 Explain the shift-left approach
2.1.6 Explain how retrospectives can be used as a mechanism for process improvement
2.2 Test Levels and Test Types
2.2.1 Distinguish the different test levels
2.2.2 Distinguish the different test types
2.2.3 Distinguish confirmation testing from regression testing
2.3 Maintenance Testing
2.3.1 Summarize maintenance testing and its triggers
Chapter 3: Static Testing
3.1 Static Testing Basics
3.1.1 Recognize types of products that can be examined by the different static test techniques
3.1.2 Explain the value of static testing
3.1.3 Compare and contrast static and dynamic testing
3.2 Feedback and Review Process
3.2.1 Identify the benefits of early and frequent stakeholder feedback
3.2.2 Summarize the activities of the review process
3.2.3 Recall which responsibilities are assigned to the principal roles when performing reviews
3.2.4 Compare and contrast the different review types
3.2.5 Recall the factors that contribute to a successful review
Chapter 4: Test Analysis and Design
4.1 Test Techniques Overview
4.1.1 Distinguish black-box, white-box and experience-based test techniques
4.2 Black-box Test Techniques
4.2.1 Use equivalence partitioning to derive test cases
4.2.2 Use boundary value analysis to derive test cases
4.2.3 Use decision table testing to derive test cases
4.2.4 Use state transition testing to derive test cases
4.3 White-box Test Techniques
4.3.1 Explain statement testing
4.3.2 Explain branch testing
4.3.3 Explain the value of white box testing
4.4 Experience-based Test Techniques
4.4.1 Explain error guessing
4.4.2 Explain exploratory testing
4.4.3 Explain checklist-based testing
4.5 Collaboration-based Test Approaches
4.5.1 Explain how to write user stories in collaboration with developers and business representatives
4.5.2 Classify the different options for writing acceptance criteria
4.5.3 Use acceptance test-driven development (ATDD) to derive test cases
Chapter 5: Managing the Test Activities
5.1 Test Planning
5.1.1 Exemplify the purpose and content of a test plan
5.1.2 Recognize how a tester adds value to iteration and release planning
5.1.3 Compare and contrast entry criteria and exit criteria
5.1.4 Use estimation techniques to calculate the required test effort
5.1.5 Apply test case prioritization
5.1.6 Recall the concepts of the test pyramid
5.1.7 Summarize the testing quadrants and their relationships with test levels and test types
5.2 Risk Management
5.2.1 Identify risk level by using risk likelihood and risk impact
5.2.2 Distinguish between project risks and product risks
5.2.3 Explain how product risk analysis may influence thoroughness and scope of testing
5.2.4 Explain what measures can be taken in response to analyzed product risks
5.3 Test Monitoring, Test Control and Test Completion
5.3.1 Recall metrics used for testing
5.3.2 Summarize the purposes, content, and audiences for test reports
5.3.3 Exemplify how to communicate the status of testing
5.4 Configuration Management
5.4.1 Summarize how configuration management supports testing
5.5 Defect Management
5.5.1 Prepare a defect report
Chapter 6: Test Tools
6.1 Tool Support for Testing
6.1.1 Explain how different types of test tools support testing
6.2 Benefits and Risks of Test Automation
6.2.1 Recall the benefits and risks of test automation
FOLLOW ON COURSES:
ISTQBA-TA, ISTQB Advanced Test Analyst + examen
ISTQBA-TM, ISTQB Advanced Test Manager + examen
ISTQBA-TTA, ISTQB Advanced Technical Test Analyst + examen
ISTQB-TAE, ISTQB ISTQB Advanced Test Automation Engineer + examen