...
ISTQB CTFL(v4) Chapter1

(1) What is Testing?

Definition

  • Including static and dynamic testing
  • Detecting defects
  • Ensure product satisfy requirement

Typical Objectives

  • To evaluate work products
  • To find failures and defects
  • To verify requirements fulfilled
  • To validate test object
  • To build confidence quality
  • To provide information to stakeholders to make decisions
  • To reduce the level of risk of inadequate software quality
  • To comply with contractual, legal, or regulatory requirements or standards

Testing and Debugging

Testing (Tester): - Show failures that are caused by defects in the software - Check the fixes resolved the defects
Debugging (Dev): - Find, analyze and remove the causes of failures in a component or system

(2) Why is Testing Necessary?

Testing’s Contributions to Success

  • In requirements reviews or user story refinement: reduces the risk of incorrect or untestable functionality being developed
  • In system design:
  • reduce the risk of fundamental design defects
  • enable tests to be identified at an early stage
  • In development:
  • reduce the risk of defects within the code and the tests
  • Verify and validate the software prior to release
  • increases the likelihood that the software meets stakeholder needs and satisfies requirements

Quality Assurance and Testing

Quality assurance (QA): - Process-oriented - Assure quality - Preventive
Testing (Major form of QC): - Product-oriented - Control quality - Corrective - Finding bugs

Errors, Defects, and Failures

  • Errors (Mistake): A human action that produces an incorrect result
  • Fault (Defect, Bug):
  • A manifestation of an error in software
  • if executed, a fault may cause a failure
  • fail to perform
  • Failure: Deviation of the software from its expected delivery or service

Defects, Root Causes and Effects

  • The root causes of defects are the earliest actions or conditions that contributed to creating the defects
  • Identify their root causes of defects => reduce the occurrence of similar defects in the future
  • Root cause analysis improves process => prevent a significant number of future defects from being introduced

(3) Seven Testing Principles

  • Testing shows the presence of defects, not their absence
  • Exhaustive testing is impossible
  • Early testing saves time and money
  • Defects cluster together
  • Tests wear out
  • Testing is context dependent
  • Absence-of-errors is a fallacy

(4) Test Process

Test Process in Context

Testing is depending on various contextual factors: - Stakeholders (needs, expectations, requirements) - Team members (skills, knowledge) - Business domain - Technical factors (type of software) - Project constraints (scope, time, budget, resources) - Organizational factors (organizational structure) - Software development lifecycle - Tools (availability, usability)

Test Activities and Tasks => Test Work Products

Test planning: - Task: Define the objectives of testing, Define the approach - Work products: Test plan, Test schedule, Entry and Exit criteria
Test monitoring and control: - Task: Monitoring: Comparing actual progress against the test plan; Control: Taking actions necessary to meet the objectives of the test plan - Work products: Test progress report, Risk information
Test analysis: - Task: identify what to test; Evaluating the test basis and test items => identify defects of various types; Identifying features and sets of features to be tested; Defining and prioritizing test conditions for each feature based - Work products: Test condition (prioritized), Acceptance criteria
Test design: - Task: identify how to test; Designing and prioritizing test cases and sets of test cases; Defining the test data requirements; Designing the test environment - Work products: Test cases (prioritized), test charters, Test data and environment requirements
Test implementation: - Task: answers the question "do we now have everything in place to run the tests?"; Creating test suites and automated test scripts; Arranging the test suites; Building the test environment; Preparing test data - Work products: Test procedures, automated test scripts, test suites and data, test execution schedule
Test execution: - Task: run test; Executing tests; Comparing actual results with expected results; Reporting defects; Logging the outcome of test execution - Work products: Test logs, Defect reports
Test completion: - Task: Entering change requests or product backlog items; Creating a test completion report; Finalizing and archiving; Analyzing lessons learned - Work products: Test completion report, Action items for improvement, Change requests, Documented lessons learned

Traceability between the Test Basis and Test Work Products

  • Verify that the requirements are covered by test cases
  • evaluate the level of residual risk in a test object
  • Analyzing the impact of changes
  • Improving the understanding of test progress and summary reports
  • Providing information to assess product quality, process capability, and project progress

Roles in Testing

  • Test management: team leadership; planning, monitoring & control, and completion
  • Testing: analysis, design, implementation, and execution

(5) Essential Skills

Skills Required for Testing

  • Testing knowledge
  • curiosity and attention to details
  • communication skills
  • Analytical and critical thinking
  • Technical knowledge
  • Domain knowledge

Whole Team Approach

  • everyone is responsible for quality
  • Team members share the same workspace
  • Testers work closely with other team members

Independence of Testing

  • makes the tester more effective at finding defects
  • verify, challenge, or disprove assumptions made by stakeholders
  • Not a replacement for familiarity
  • may lead to a lack of collaboration, communication problems


Likes ( 0 ) comments ( 0 )
2025-07-30 05:10:40
Add comment