ISTQB Summary

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

ISTQB Foundation Level

SUMMARY.
ISTQB CTFL Certification
Created by
Mohammed Jafry

LinkedIn: https://www.linkedin.com/in/mohammed-jafry-608717180

Disclaimer:

▪ This summary is not to be sold or used as a replacement for the ISTQB syllabus. It is intended for educational
purposes only.

▪ The author of this summary is not affiliated with ISTQB and does not claim to be an expert on the ISTQB syllabus. The
author has made every effort to ensure that the information in this summary is accurate and up-to-date, but cannot
guarantee that it is free of errors.

▪ The author of this summary is not responsible for any damages or losses that may result from the use of this
information.

▪ If you have any questions or concerns about the ISTQB syllabus, please consult the official ISTQB website or contact
ISTQB directly.

▪ The use of this summary Does not guarantee that anyone who uses it will pass the ISTQB exam
Table of Contents
What is Testing?............................................................................................................. 3
Typical objectives of testing. ....................................................................................... 3
Differentiate testing from debugging: ........................................................................ 3
Why is Testing Necessary? ............................................................................................ 3
Quality Management, Quality Assurance, and Quality Control .............................. 4
Distinguish between error, defect, and failure ........................................................... 4
Distinguish between the root cause of a defect and its effects .............................. 4
Seven Testing Principles ................................................................................................ 5
Test Process ................................................................................................................... 5
The test process work products ................................................................................... 7
the value of maintaining traceability between the test basis and test products ... 8
The Psychology of Testing ............................................................................................ 8
Testers and Developers Mindsets: ............................................................................... 8

Created by Mohammed Jafry


Chapter 1.
What is Testing?

Testing is the process of evaluating a system or component to determine whether it meets the specified
requirements. It is a critical part of the software development life cycle (SDLC) and is used to ensure the
quality of the software product.

type of testing includes:


• Dynamic testing: testing that involves the execution of the component or system being tested
• Static testing: testing that doesn't involve the execution of the component or system being tested

Typical objectives of testing.


The objectives of testing can vary, depending upon the context of the component or system being tested. The
objectives of testing may include:

• To build confidence in the level of quality of the test object


• To prevent defects
• To find failures and defects
• To provide sufficient information to stakeholders to allow them to make informed decisions
• To reduce the level of risk
• To comply with contractual, legal, or regulatory requirements or standards
• To evaluate work products such as requirements, user stories, design, and code
• To verify whether all specified requirements have been fulfilled
• To validate whether the test object is complete and works as the users and other stakeholders expect

Differentiate testing from debugging:


Testing: the process of executing tests to show failures that are caused by defects in the software.
Debugging: is the process of finding, analyzing, and fixing the defects.

Comparison Testing Debugging

Main focus focus on fixing errors focus on fixing errors

Done by tester Developer

Keep in mind that in some SDLC the tester is involve in both activity Testing and Debugging.
Example: agile development life cycles.

Why is Testing Necessary?


Rigorous testing can help reduce the risk of failures occurring during operation. When defects are detected, and fixed,
this contributes to the quality of the components or systems.

In addition, software testing may also be used to make sure that we meet contractual or legal requirements or
industry-specific standards.

Created by Mohammed Jafry


Quality Management, Quality Assurance, and Quality Control
Quality management: includes all activities that direct and control an organization with regard to quality. Quality
management includes both quality assurance and quality control:

• Quality assurance is typically focused on adherence to proper processes to ensure a certain level of quality will
be achieved.

• Quality control involves various activities, including test activities, that support the achievement of appropriate
levels of quality

Distinguish between error, defect, and failure


The Different between error, defect, and failure.

Type Description

Error (Mistake) a humane mistake.

Defect(fault/bug) is a flaw in a system caused by a mistake.

Failures is the state or condition of not meeting a desirable or intended objective.

Errors may occur for many reasons, such as:


• Time pressure
• Human fallibility
• Inexperienced or insufficiently skilled project participants
• Miscommunication between project participants, including miscommunication about requirements and design
• Complexity of the code, design, architecture, the underlying problem to be solved, and/or the technologies used
• Misunderstandings about intra-system and inter-system interfaces
• New, unfamiliar technologies

Other Type of False:

False negatives: are tests that do not detect defects that they should have detected.
Example of False negatives: wrong test cases.

False positives: it occurs due to errors in the way tests were executed.
Example of False positives: wrong in the testing environment.

Distinguish between the root cause of a defect and its effects


❖ The root cause of a defect is the underlying reason why the defect occurred.

❖ The effects of a defect are the consequences of the defect.

❖ The Root cause analysis can lead to process improvements that prevent a significant number of future defects
from being introduced.

Created by Mohammed Jafry


Seven Testing Principles
1. Testing shows the presence of defects, not their absence:
▪ Testing can show that defects are present, but cannot prove that there are no defects. testing is not a proof
of correctness.

2. Exhaustive testing is impossible:


▪ Testing everything (all combinations of inputs and preconditions) is not feasible

3. Early testing saves time and money (shift left testing)


▪ Testing early in the software development life cycle helps reduce or eliminate costly changes

4. Defects cluster together


▪ A small number of modules usually contains most of the defects discovered during pre-release testing, or is
responsible for most of the operational failures.

5. Beware of the pesticide paradox


▪ If the same tests are repeated over and over again, eventually these tests no longer find any new defects.

6. Testing is context dependent


▪ Testing is done differently in different contexts.

7. Absence-of-errors is a fallacy
fixing all defects found could still produce a system that is failing at fulfilling the users’ needs and expectations

Test Process
A test process consists of the following main groups of activities:
1. Test planning
2. Test monitoring
3. Test control
4. Test analysis:
5. Test design
6. Test implementation
7. Test execution
8. Test compilation
Test Planning: Test planning involves activities that define the objectives of testing and the approach for meeting test
objectives within constraints imposed by the context.

Test monitoring: Test monitoring involves the on-going comparison of actual progress against the test plan.

Test control: involves taking actions necessary to meet the objectives of the test plan.

Test analysis: During test analysis, the test basis is analyzed to identify testable features and define associated test
conditions. In other words, test analysis determines “what to test” in terms of measurable coverage criteria.

Test analysis activity include:


▪ Analyzing the test basis appropriate to the test level being considered
▪ Evaluating the test basis and test items to identify defects of various types
▪ Identifying features and sets of features to be tested
▪ Defining and prioritizing test conditions
▪ Capturing bi-directional traceability between test basis and the associated test conditions

Created by Mohammed Jafry


Test design: During test design, the test conditions are elaborated into high-level test cases, test design determines
“how to test?”

Test design activity include:


▪ Designing and prioritizing high-level test cases and sets of test cases
▪ Identifying necessary test data to support test conditions and test cases
▪ Designing the test environment and identifying any required infrastructure and tools
▪ Capturing bi-directional traceability between the test basis, test conditions, test cases, and test procedures

Test implementation: During test implementation, the testware necessary for test execution is created and/or
completed, including sequencing the test cases into test procedures. Test implementation determines “do we now
have everything in place to run the tests?”.

Test implementation activity include:


▪ Developing and prioritizing test procedures, creating automated test scripts (optionally).
▪ Creating test suites from the test procedures and (if any) automated test scripts
▪ Arranging the test suites within a test execution schedule in a way that results in efficient test execution
▪ Building the test environment
▪ Preparing test data and ensuring it is properly loaded in the test environment
▪ Verifying and updating bi-directional traceability between the test basis, test conditions, test cases, test
procedures, and test suites

Test execution: During test execution, test suites are run in accordance with the test execution schedule

Test execution activity include:


▪ Recording the IDs and versions of the test item
▪ Executing tests either manually or by using test execution tools
▪ Comparing actual results with expected results
▪ Analyzing anomalies to establish their likely causes
▪ Reporting defects based on the failures observed
▪ Logging the outcome of test execution
▪ Repeating test activities either as a result of action taken for an anomaly (corrected test, confirmation testing,
regression testing)
▪ Verifying and updating bi-directional traceability between the test basis, test conditions, test cases, test
procedures, and test results.

Test compilation: Test completion activities collect data from completed test activities to consolidate experience.

Test compilation activity include:


▪ Checking whether all defect reports are closed
▪ Creating a test summary report to be communicated to stakeholders
▪ Finalizing and archiving testware for later reuse
▪ Handing over the testware to whom may benefit from its use
▪ Analyzing lessons learned from the completed test activities
▪ Logging the outcome of test execution
▪ Using the information gathered to improve test process maturity

Note: Test completion activities occur at project milestones such as when a software system is released, a test project
is completed (or canceled).

Created by Mohammed Jafry


The test process work products

• Test planning work products includes:


✓ one or more test plans
✓ exit criteria

• Test monitoring and control work products include:


✓ test progress reports (on a regular basis)
✓ test summary reports (on a completion milestones)
✓ task completion, resource allocation and usage, and effort report.

• Test analysis work products include:


✓ defined and prioritized test conditions
✓ may result in the creation of test charters
✓ may result in the discovery and reporting of defects in the test basis.

• Test analysis work products include:


✓ defined and prioritized test conditions
✓ may result in the creation of test charters
✓ may result in the discovery and reporting of defects in the test basis.

• Test design work products include:


✓ high-level test cases and sets of test cases
✓ the design and/or identification of the necessary test data
✓ the design of the test environment
✓ the identification of infrastructure and tools

• Test implementation work products include:


✓ Test procedures and the sequencing of those test procedures
✓ Test suites
✓ test execution schedule
✓ the creation and verification of test data and test environment

• Test execution work products include:


✓ Documentation of the status of individual test cases or test procedures
✓ Defect reports
✓ Documentation about which test item and testware were involved in the testing

• Test completion work products include:


✓ test summary reports
✓ action items for improvement of subsequent projects or iterations
✓ finalized testware

Created by Mohammed Jafry


the value of maintaining traceability between the test basis and test products

In order to implement effective test monitoring and control, it is important to establish and maintain traceability
throughout the test process between each element of the test basis and the various test work products associated with
that element.

good traceability supports:

✓ Analyzing the impact of changes

✓ Making testing auditable

✓ Meeting IT governance criteria

✓ Relating the technical aspects of testing to stakeholders in terms that they can understand

✓ Providing information to assess product quality, process capability, and project progress against business goals

✓ Improving the understandability of test progress reports and test summary reports

The Psychology of Testing

Human Psychology and Testing: Some people may perceive testing as a destructive activity, even though it contributes
greatly to project progress and product quality. in order to avoid this type mentality tester should do the following:

✓ Start with collaboration rather than battles.

✓ Emphasize the benefits of testing (testing will save time and money and reduce risk)

✓ Communicate test results and other findings in a neutral way.

✓ Try to understand how the other person feels and the reasons they may react negatively

✓ Confirm that the other person has understood what has been said and vice versa

Testers and Developers Mindsets:


tester mindset should include: curiosity, professional pessimism, a critical eye, attention to detail, and a motivation for
good and positive communications and relationships.

developer mindset should include: A developer’s mindset may include some of the elements of a tester’s mindset, but
successful developers are often more interested in designing and building solutions than in contemplating what might
be wrong with those solutions.

Note: Having some of the test activities done by independent testers increases defect detection effectiveness, which is
particularly important for large, complex, or safety-critical systems.

Independent testers bring a perspective which is different than that of the work product authors.

Created by Mohammed Jafry

You might also like