ISTQB-01
ISTQB CTFL Basic Tester Course
Software testing basics
Description
The ISTQB CTFL Basic Tester course aims to familiarise those new to testing with basic software testing methodologies, the use of testing tools and the role and place of testing in the software development lifecycle.
The course will also help you prepare for the international ISTQB Certified Tester Foundation Level (CTFL) exam, which can be taken at a specially arranged time after completion of the course.
Outline
- The need for and importance of testing: how a bug can harm a person or a company; distinguishing the cause of a bug from its effects; the role and importance of testing; testing as part of quality assurance.
- What is testing? General objectives; the purpose of testing at different stages of the software life cycle; distinguishing testing from debugging.
- General testing principles; the basic process of testing; the five basic testing activities from planning to completion.
- The psychology of testing: the impact of human/psychological factors on testing; the mindset of testers versus developers.
- Introduction to software development models: the relationship between development, testing activities and development lifecycle work products; the role of Application Lifecycle Management: the concept of application lifecycle management.
- Introduction to MSF / Scrum, what is agile software development? The role and place of the tester in ALM; proper application of software development models; characteristics of proper testing in lifecycle models.
- Software architecture design and development steps and key concepts and their relationship.
- Levels of testing: introduction, characteristics, main objectives, typical tools for testing; typical areas of testing, related project products, people performing the test, errors and failures to be identified.
- Test types: characteristics, presentation, comparison and use of functional, non-functional, structure-based and change-related tests; identification and presentation of test types based on structural or architectural analysis; presentation of control test and regression test.
- Maintenance test: concepts, implementation of a maintenance test, identification of test justification factors (modification, migration and withdrawal), demonstration of the role of regression test and impact analysis in maintenance.
- Static techniques and the testing process: applicability, use, differences between static and dynamic techniques.
- Review process: overview, review phases, associated roles and responsibilities; review types and their characteristics, factors influencing review.
- Static analysis: basic concepts, what defects can be detected by static analysis; analysis of identified type defects, comparison with defects found in reviews and dynamic test; advantages of static analysis.
- The test development process: understanding basic concepts (e.g. technical test plan, test case, test procedure, specification); defining and analysing the quality of test cases; converting test cases into specifications.
- Categories of technical test design techniques: description of specification-based (black box) and structure-based (white box) test cases.
- Application of specification-based or black-box techniques: writing test cases from defined software models using different technical test design techniques; application of test techniques, measurement of coverage; introduction to the concept and benefits of use case test; evaluation of instruction and decision coverage considering the exit condition.
- Application of structure-based or white-box techniques: concept of code coverage; concept and applicability of instruction and decision coverage; writing test cases from given control flows using different technical test design techniques; complete analysis of instruction and decision coverage taking into account exit conditions.
- Experience-based techniques: writing test cases based on intuition, experience and knowledge of common faults; comparing experience-based techniques with specification-based testing techniques.
- Selection of testing techniques: evaluation of technical test design techniques depending on the environment and the test base.
- Test organisation: concept of independent test, advantages and disadvantages; guidelines and considerations for setting up a test team; typical test manager and tester tasks.
- Test planning and estimation: different levels and objectives of test planning; content, specification and preparation of test plan, technical test plan specification and test procedure documents; testing approaches; factors affecting testing resources; estimation methods.
- Test progress monitoring and control: description of common metrics used to monitor test preparation and execution; definition and presentation of test reporting and test control metrics; test summary report.
- Configuration management and its support for testing.
- Risk and testing: basic concepts of risk management; risk levels, probabilities and impacts; distinguishing between project and product risks; understanding typical product and project risks; using risk management in test planning.
- Incident management: basic concepts; writing incident reports during testing.
- Types of test tools: concepts, classification of test tools according to activities in the testing process; tool support for testing; effective use of test tools; potential benefits and risks; process of implementing a test tool in the company.
- Model-based testing and test automation: overview, objectives, modelling perspectives, specifications, applicability; benefits of automation, test tool strategies, integration and information exchange between tools, supporting scripts and scripting languages, Opensource supporting tools and their use, test tool implementation, test tool classification.
Prerequisites
Windows user experience, previous programming or development experience in a programming language is recommended. As some of the course material and the exam are in English, a basic knowledge of English at document reading level is required.