BS 7925-1
Testing involves executing software with the intent to identify errors and ensure the application meets specified requirements.
IEEE Definition
Testing evaluates systems or components, manually or automatically, to verify that they satisfy requirements or identify discrepancies between expected and actual outcomes.
ISEB Syllabus
Testing measures software quality by identifying defects, encompassing both functional (what the software does) and non-functional (how it performs) aspects.
Entities in the Testing Problem
Testing Axioms
Testing is risk-based and context-dependent
Strategies vary between critical systems like medical software and non-critical systems.
Testing starts in SDLC
Catch bugs early to minimize cost and effort to fix them later.
Testing Principles
Additional Principles
Error
Human mistake that leads to an incorrect implementation
Fault/Defect/Bug
Specific problem in the program (ex. Incorrect logic data)
Failure
Visible manifestation of a fault during program execution
Levels of Testing
The Testing Process
Test Planning
Establish the entry/exit criteria, Test strategies, tools, schedules and resources and introduce problem tracking and reporting mechanisms.
Test Design
Review system requirements, architecture, and testability. Define test conditions, required test data and specific test cases with preconditions and steps
Environment Setup
Configure hardware, software, network and database environments needed for testing
Execution
Run test cases, record outcomes (Pass/Fail/Not executed) and perform regression testing to make sure fixes don’t break existing functionality.
Problem Reporting
Document with description, steps to reproduce, severity and priority, and potential new test ideas.
Exit Criteria
Define conditions for ending testing; Coverage threshold met, no critical faults remaining, Testing within time and budget constraints.
Test Case
Input, execution steps, and expected outcome
Test Specification
Requirements satisfied by one or more test cases
Test Suite
Collection of test cases
Adequacy Criterion
Measure of how effectively a test suite meets testing requirements.