Articles

ISTQB Section 1 (Fundamentals of Testing)

 (back to Introduction article with links to all parts)

---------- Section 1 ------------

Fundamentals of Testing:

Error (mistaken thinking) cause -> Failure (accepting invalid input) cause ->  Defect (problem in code) 

Reasons for Errors - Time pressure, inexperienced staff, miscommunication, human fallibility, complexity, new technologies, complex interfaces

Defects root cause - Requirements ambiguity (mistaken thinking)

Types of Defects: functional and non-functional

Testing - show Failures caused by Defects

Bad testing results types: False-positive (we think that we found a defect) and False-negative (we did not find a defect)

Debugging - an activity to search, analyze and fix defects


Types of Test coverage: requirements coverage, structural (design element) coverage, implementation (code) coverage


7 testing principles: 

1. testing shows the presence of defects, not the absence

2. exhaustive testing is impossible

3. early testing saves time and money

4. defect cluster together

5. beware of the Pesticide paradox

6. testing is context-dependent

7. absence of errors is a fallacy


Basic elements:

Test Condition - is an item or event of component or system that could be verified by Test Case

Test Cases - set of input values, preconditions, expected results and postconditions developed for Test Condition

Types of Test Cases: high level (no concrete data, only borders/groups) and low level (exact values)

Test Procedure - is Test Case written with Test Steps

Test Suite - a combination of Test Procedures


Test Process:

1. Test Planning (Test Management) 

2. Test Monitoring and Test Control (Test Management) with Test Progress

3. Test Analysis - answers the question: what to test?

    analyzing documentation:

- requirements

- design and implementation

- implementation of component/system

- risk analysis report

    possible types of defects:

- ambiguities

- omissions

- inconsistencies

- inaccuracies

- contradictions

- superfluous statements

4. Test Design - answers the question: how to test (design, prioritized, test data, test environments) 

5. Test Implementation -  answers the question: do we now have everything in place to run tests 

6. Test Execution

7. Test Completion - delivered what planned, documentation done, defects fixed, test summary report, delete cofidential data, lesson learned


Pairing process phases with elements:

Test Analysis -> define Test Conditions

Test Design    -> define Test Cases

Test Implementation -> define Test Procedures


Test Work Products - test suites, tests execution schedule, test progress report, test summary report, documents with test conditions, defect reports

Test Basis - what to test (requirements, user stories, use cases)

Good Traceability important to establish between Test Basis and Test Work Products