ISTQB CTFL-Foundation

COURSE OVERVIEW


This course provides test engineers and test managers with the essential ideas, processes, tools and skills they need in order to set themselves on a path for true testing professionalism. This hands-on course covers the major test design techniques with lecture and exercises. The course provides the methodology behind a successful testing program and covers a wide range of issues, from those related to the individual tester to those related to the testing department as a whole. The testing process is presented, both through theory and hands-on exercises that follow an example project, including the difficult tasks of tracking and presenting tests results. Creation of a test environment and test automation is also covered, along with system development lifecycles and how they affect testing.

Created by Rex Black, past president of the International Software Testing Qualifications Board, past president of the American Software Testing Qualifications Board, and co-author of the International Software Testing Qualifications Board Foundation Syllabus, this course is ideal for testers and test teams preparing for certification. It covers the International Software Testing Qualifications Board Foundation Syllabus 2011 and has been accredited by an ISTQB-recognized National Board.
Solutions are provided for the exercises performed in the class, along with two mock exams, 120 sample questions covering every learning objective in the Syllabus, copies of the ISTQB Foundation Syllabus 2011 and Glossary, detailed advice on how to prepare for the exam, and more.

Prerequisite
No prerequisite are required but the following is recommended:

  • That the candidate has an interest in software testing
  • Have at least a minimal background in either software development or software testing, such as six months experience as a system or user acceptance tester or as a software developer.

Who should attend
Testers, Test Analysts, Test Managers, Test Leads, Project Managers, Business Analysts, Developers, any person in ICT with an interest in quality assurance.


Learning Objectives
Through presentation, discussion, and hands-on exercises, attendees will learn to:

  • *Explain the effects and harm bugs can cause
  • *Articulate the necessity of testing
  • *Describe the role of testing in quality assurance
  • *Identify the common objectives, principles, and purposes of testing
  • *Introduce structured, pre-planned testing processes
  • *Adapt to and manage the psychological factors for testing success
  • *Relate development and test activities
  • *Adapt software development models to the context of the project and product
  • *Select and implement appropriate levels or phases of testing, with the proper participants, objectives, targets, and items under test for each test level or phase
  • *Select and plan for major test types or targets, including functional and non-functional tests, structural tests, confirmation tests, and regression tests
  • *Explain the reasons for maintenance testing and how maintenance testing differs from new application testing
  • *Understand the value, importance and use of static techniques and static analysis, and the difference between static and dynamic techniques
  • *Explain the phases, roles, and responsibilities of a typical formal review, and contrast different types of reviews
  • *Understand the factors for successful reviews
  • *Understand and perform a quality risk analysis to serve as the basis for testing, using the factors of likelihood and impact to determine the level of risk
  • *Write test designs, cases, and procedures, relate them to each other and trace these items to the test basis
  • *Develop a test execution schedule
  • *Explain the characteristics, differences, and reasons for specification-based (black box), structure-based (white box), and experience-based tests
  • *Write test cases using equivalence partitioning, boundary value analysis, decision tables, and state transition diagrams, understanding the main purpose of each technique and what sufficiency of coverage is for each technique
  • *Write and measure test cases using structural testing concepts like coverage, statement and decision coverage, and other control-flow test design techniques
  • *Understand the factors that influence the selection of appropriate test design techniques
  • *Explain the importance of independent testing
  • *Understand the benefits and drawbacks of independent testing
  • *Select different team members for inclusion in a test team
  • *Know the tasks of typical test leader and tester
  • *Understand and write various types of test plans depending on the project, levels, and targets
  • *Estimating testing via metrics and expertise, and recognize the factors that affect an estimate
  • *Understand, use and interpret common metrics to monitor test preparation and execution
  • *Explain how configuration management supports testing
  • *Know typical hazards and potential risks for testing
  • *Differentiate between project and quality (product) risks
  • *Write a good bug or incident report, with the proper content
  • *Know the different types of test tools, including programmers’ test tools
  • *Explain different scripting techniques for test execution tools, including data driven and keyword driven
  • *Know the potential benefits and risks of test automation
  • *Plan to introduce a test tool into an organization
  • *State the goals of a proof-of-concept for test tool evaluation
  • *Explain the factors required for good tool support

Session Plan
The course runs for three days. Each day is about 360 minutes of class time, from 9:00 to 5:00. For accredited course offerings, materials are covered as described. For custom courses, materials may be deleted, added, or expanded upon as needed.
Please note that timings are approximate, depending on attendee interest and discussion. All of the lectures include exercises except as noted. are
1.0 Principles of testing
Introduction (20 minutes, no exercise)
1.1 Why is testing necessary (25 minutes, no exercise)
1.2 What is testing (30 minutes)
1.3 General testing principles (45 minutes)
1.4 Fundamental test process (40 minutes)
1.5 Psychology of testing (40 minutes)
1.6 Code of ethics (10 minutes)
2.0 Testing throughout the life cycle
2.1 Software development models (30 minutes)
2.2 Test levels (60 minutes)
2.3 Test types: the targets of testing (60 minutes)
2.4 Maintenance testing (30 minutes)
3.0 Static techniques
3.1 Reviews and the test process (25 minutes)
3.2 Review process (45 minutes)
3.3 Static analysis by tools (30 minutes)
4.0 Test Design Techniques
4.1 Identifying test conditions and designing test cases (90 minutes)
4.2 Categories of test design techniques (25 minutes)
4.3 Specification-based or black box techniques (150 minutes)
4.4 Structure-based or white box techniques (60 minutes)
4.5 Experience-based techniques (30 minutes)
4.6 Choosing test techniques (25 minutes)
5.0 Test management
5.1 Test organization (40 minutes)
5.2 Test planning and estimation (70 minutes)
5.3 Test progress monitoring and control (50 minutes)
5.4 Configuration management (30 minutes)
5.5 Risk and testing (30 minutes)
5.6 Incident or bug management (65 minutes)
6.0 Tool support for testing
6.1 Types of test tools (70 minutes)
6.2 Effective use of tools, potential benefits, and risks (35 minutes)
6.3 Introducing a tool into an organization (25 minutes)
Question and answer period (15 minutes, no exercise)
Appendix A: For Those Pursuing Certification
Appendix B: ISTQB Foundation Level Syllabus
Appendix C: List of Applicable Standards
Appendix D: ISTQB Glossary of Testing Terms
Appendix D: OmniNet Marketing Requirements Document
Appendix F: OmniNet System Requirements Document


Recommended Readings
The class materials include an extensive bibliography of books related to software testing, project management, quality, and other topics of interest to the test professional.

ISTQB Accredited Training Provider