6 results found
Search Syntax
"regression testing" Exact phrase match
term1, term2 Search for multiple terms (OR)
-keyword Exclude results with keyword
"test plan", "test strategy" Multiple exact phrases
🧠 Smart Search powered by AI semantic matching
ISTQB® Knowledge Assistant
Analyzing your query...
AI-generated summary based on ISTQB syllabus content. Always verify with source material.
Results Overview
6 results
Chapter Select a syllabus first
K-Level
Sort
Refine
Type a keyword to narrow down the results already shown. This filters by title, content, and section — no new search is performed.
 
CTFL v4.0.1 Ch.1 – Fundamentals of Testing

1.2.3 – Errors, Defects, Failures, and Root Causes

FL-1.2.3: Distinguish between root cause, error, defect, and failure
Related exam questions
K2 Understand 57% match
Go to Syllabus p.17

Human beings make errors (mistakes), which produce defects (faults, bugs), which in turn may result in failures. Humans make errors for various reasons, such as time pressure, complexity of work products, processes, infrastructure or interactions, or simply because they are tired or lack adequate training.

Defects can be found in documentation, such as a requirements specification or a test script, in source code, or in a supporting work product such as a build file. Defects in work products produced earlier in the SDLC, if undetected, often lead to defective work products later in the lifecycle. If a defect in code is executed, the system may fail to do what it should do, or do something it shouldn’t, causing a failure. Some defects will always result in a failure if executed, while others will only result in a failure in specific circumstances, and some may never result in a failure.

Errors and defects are not the only cause of failures. Failures can also be caused by environmental conditions, such as when radiation or electromagnetic fields cause defects in firmware.

A root cause is a fundamental reason for the occurrence of a problem (e.g., a situation that leads to an error). Root causes are identified through root cause analysis, which is typically performed when a failure occurs or a defect is identified. It is believed that further similar failures or defects can be prevented or their frequency reduced by addressing the root cause, such as by removing it.

Show content Hide content
CT-SEC v2016 Ch.2 – Security Testing Purposes, Goals and Strategies

2.6.2 – Analysis of Failures in Security Test Approaches

AS-2.6.2: Analyze a situation in which a given security testing approach failed, identifying the likely causes of failure
K4 Analyze 54% match
Go to Syllabus p.30

It is necessary to understand there are degrees of failure. Just because a security vulnerability is not detected and resolved, it doesn’t necessarily mean the security testing approach failed. There are too many possible security vulnerabilities, with new ones being discovered daily. However, there are other cases where security test approaches have been inadequate to effectively identify security risks, which have led to sensitive data and other digital assets being compromised.

Root cause analysis can help identify why a security testing approach may have failed. Possible causes include:

  • Lack of executive leadership in establishing security testing
  • Lack of executive provision of resources needed to implement the security testing strategy (such as lack of funding, lack of time, lack of resources)
  • Lack of effective implementation of the security testing approach (such as the lack of skills needed to perform the required tasks)
  • Lack of organizational understanding and support of the security testing approach
  • Lack of stakeholder understanding and support of the security testing approach
  • Lack of understanding of security risks
  • Lack of alignment between the testing approach and the organization’s security policy
  • Lack of alignment between the testing approach and the organization’s security testing policy and strategy
  • Lack of understanding of the purpose of the system
  • Lack of technical information about the system (causing wrong assumptions)
  • Lack of effective tools for security testing
  • Lack of skills in security testing
Show content Hide content
CTAL-TTA v4.0 Ch.4 – Quality Characteristics for Technical Testing

4.4.3 – Testing for Availability

Availability is typically specified in terms of the amount of time a system (or software) is available to users and other systems under normal operating conditions. Systems may have a low maturity, but still have a high availability. For instance, a phone network may fail to connect several calls (and thus have low maturity), but as long as the system recovers quickly and allows the next attempts to connect most users will be content. However, a single failure that caused a phone network outage for several hours would represent an unacceptable level of availability. Availability is often specified as part of an SLA and measured for operational systems, such as websites and software as a service (SaaS) applications. The availability of a system may be described as 99.999% (‘five nines’), in which case it should be unavailable no more than 5 minutes per year, alternatively system availability may be specified in terms of unavailability (e.g., the system shall not be down for more than 60 minutes per month).

Measuring availability prior to operation (e.g., as part of making the release decision) is often performed using the same tests used for measuring maturity; tests are based on an operational profile of expected use over a prolonged period and performed in a test environment as close to the operational environment as possible. Availability can be measured as MTTF/(MTTF + MTTR), where MTTF is the mean time to failure and MTTR is the mean time to repair (MTTR), which is often measured as part of maintainability testing. Where a system is high-reliability and incorporates recoverability (see section 4.4.5) then we can substitute mean time to recover for MTTR in the equation when the system takes some time to recover from a failure.

Show content Hide content
CTAL-TM v3.0 Ch.3 – Managing the Team

3.2.1 – Cost of Quality

TM-3.2.1: Give examples for each of the four categories determining the cost of quality
Related exam questions
K2 Understand 52% match
Go to Syllabus p.68

The benefits of testing are offset by quality costs. A means of quantifying the total cost of quality-related efforts and defects is called cost of quality. Cost of quality involves classifying project and operational costs into four categories related to product defect costs:

  • Defect prevention costs: The cost of all activities that are planned and proactive to prevent poor quality (e.g., qualification of the developers for their tasks such as training in the creation of maintainable or secure code, reviewing the test basis as early as possible, and appropriate communication within the team)
  • Appraisal costs: The cost of all activities aimed at defect detection (e.g., performing static testing and dynamic testing and reviewing work products)
  • Internal failure costs: The cost of all reactive activities (e.g., fixing defects found during testing, providing workarounds)
  • External failure costs: The cost of all non-value added and reactive activities (e.g., loss of either revenue, assets, human health, human life, or the environment, legal costs related to defect fixing, testing, deployment, and support because of defective product being delivered to the customer (“post release”), fixing field defects (flagged by customers)).

The total appraisal costs and internal failure costs are usually significantly less than the external failure costs. This therefore makes testing extremely valuable. By determining the costs in these four categories, test managers can create a convincing business case for testing.

There are more approaches that can be considered for defining the cost of quality. The ISTQB® syllabus supports two of them. This syllabus is based on the Feigenbaum’s approach, and the ISTQB® Foundation Level Syllabus V.4 presents Boehm’s approach (see the ISTQB® Foundation Level Syllabus V.4, Section 1.3, Testing Principles). These two approaches have been selected to reach a broader understanding of the cost of quality. Feigenbaum’s approach (Feigenbaum, Nov/Dec 1956) considers quality as a customer-oriented and company-wide process, while Boehm’s approach (Boehm, 1979) focuses on the trade-off between the cost of prevention and the cost of failure in software development (Hadjicostas, 2004).

Show content Hide content
CTEL-ITP v2011 Ch.6 – Process for Improvement

6.5.1 – Selecting and Executing a Pilot

LO-6.5.1: Summarize the activities of the Acting phase of the IDEAL improvement framework
K2 Understand 52% match
Go to Syllabus p.48

Piloting a proposed improvement is an effective way of reducing the risk of failure, gaining experience, building support and reducing the risk of implementation failure. This is especially important where those improvements involve major changes to working practices or place a heavy demand on resources.

Selection of a pilot should balance the following factors:

  • Realism - Is the pilot representative of the “real world”? Care should be taken not to select a pilot which is unrealistic just because it offers the chance of a particularly quick or easy implementation.
  • Scalability of solution - Can the results from the pilot be used in all contexts? If the pilot is not representative of the complexity and size of real projects there is a risk that the implemented improvement will not scale.
  • Impact on current projects - Pilots should not be performed on current projects unless the impact is acceptable. Particular care is required if existing practices are to be replaced by the improved practices for the duration of the pilot. A better solution is to run the new practices in parallel with the existing practices, although this may create a resource problem (we cannot expect project employees to perform the same task twice because of the pilot).
  • Risk of failure - Even though the use of pilots is a risk-reduction measure, the risk of pilot failure must also be evaluated. The above-mentioned aspects are significant factors in the evaluation of the pilot, which should consider both the financial and motivational risks of failure to the entire improvement project.
    Show content Hide content
    CT-PT v2018 Ch.1 – Basic Concepts

    1.5 – Common Performance Efficiency Failure Modes and Their Causes

    While there certainly are many different performance failure modes that can be found during dynamic testing, the following are some examples of common failures (including system crashes), along with typical causes:

    Slow response under all load levels

    In some cases, response is unacceptable regardless of load. This may be caused by underlying performance issues, including, but not limited to, bad database design or implementation, network latency, and other background loads. Such issues can be identified during functional and usability testing, not just performance testing, so test analysts should keep an eye open for them and report them.

    Slow response under moderate-to-heavy load levels

    In some cases, response degrades unacceptably with moderate-to-heavy load, even when such loads are entirely within normal, expected, allowed ranges. Underlying defects include saturation of one or more resources and varying background loads.

    Degraded response over time

    In some cases, response degrades gradually or severely over time. Underlying causes include memory leaks, disk fragmentation, increasing network load over time, growth of the file repository, and unexpected database growth.

    Inadequate or graceless error handling under heavy or over-limit load

    In some cases, response time is acceptable but error handling degrades at high and beyond-limit load levels. Underlying defects include insufficient resource pools, undersized queues and stacks, and too rapid time-out settings.

    Specific examples of the general types of failures listed above include:

    • A web-based application that provides information about a company’s services does not respond to user requests within seven seconds (a general industry rule of thumb). The performance efficiency of the system cannot be achieved under specific load conditions.
    • A system crashes or is unable to respond to user inputs when subjected to a sudden large number of user requests (e.g., ticket sales for a major sporting event). The capacity of the system to handle this number of users is inadequate.
    • System response is significantly degraded when users submit requests for large amounts of data (e.g., a large and important report is posted on a web site for download). The capacity of the system to handle the generated data volumes is insufficient.
    • Batch processing is unable to complete before online processing is needed. The execution time of the batch processes is insufficient for the time period allowed.
    • A real-time system runs out of RAM when parallel processes generate large demands for dynamic memory which cannot be released in time. The RAM is not dimensioned adequately, or requests for RAM are not adequately prioritized.
    • A real-time system component A which supplies inputs to real-time system component B is unable to calculate updates at the required rate. The overall system fails to respond in time and may fail. Code modules in component A must be evaluated and modified (“performance profiling”) to ensure that the required update rates can be achieved.
    Show content Hide content
    Export to PDF
    Layout
    Content
    Exam Questions
    Results to Include 0 / 0
    Filters
    Share Your Feedback

    How is your experience with TBoK?