1.1 Why Is Testing Necessary?
Purpose of Testing
Testing is performed to:
- Evaluate work products (requirements, design, code, etc.)
- Detect defects
- Build confidence in the level of quality
- Provide information for decision-making
- Prevent defects (early testing)
Exam tip
Testing is not only about finding bugs.
If an option says “testing only finds defects” → ❌ Wrong
Testing vs Debugging
- Testing: Identifies failures (observed incorrect behavior)
- Debugging: Locates and fixes the root cause (defect)
Exam often asks:
“Which activity finds the root cause?” → Debugging
Errors, Defects, Failures (Very Important)
Typical chain:
Error → Defect → Failure
Why defects are expensive if found late
- Cost of fixing defects increases over time
- Early testing saves time, money, and effort
1.2 What Is Testing?
Definition of Testing (ISTQB style)
Testing is a process consisting of:
- Static activities (reviews)
- Dynamic activities (test execution)
Testing:
- Verifies that requirements are met
- Validates that the system meets user needs
Verification vs Validation (Classic Exam Question)
| Verification | Validation |
|---|---|
| Are we building the product right? | Are we building the right product? |
| Against specs | Against user needs |
| Reviews, inspections | Test execution |
Testing Objectives (Know These)
Testing objectives may include:
- Finding defects
- Gaining confidence
- Preventing defects
- Reducing risk
- Providing information to stakeholders
- Complying with regulations
Key exam trap
“Proving software is defect-free” → ❌ Impossible
1.3 Seven Testing Principles (★★★★★ )
Principle 1: Testing shows presence of defects
- Testing can show defects are present
- Cannot prove absence of defects
Principle 2: Exhaustive testing is impossible
- Testing everything is not feasible (except trivial cases)
- Use risk-based testing
Principle 3: Early testing saves time and money
- Start testing as early as possible
- Example: review requirements before coding
Principle 4: Defects cluster together
- A small number of modules contain most defects
- Based on Pareto principle (80/20 rule)
Principle 5: Beware of the pesticide paradox (Test Wear Out)
- Repeating the same tests stops finding new defects
- Tests must be reviewed and updated
Principle 6: Testing is context dependent
- Different systems require different testing approaches
- Example: safety-critical vs mobile app
Principle 7: Absence-of-errors fallacy
- Even defect-free software can fail
- If it does not meet user needs → still a failure
1.4 Test Activities, Testware, and Test Roles
Test Process (High Frequency Exam Topic)
Test Basis (Very Important)
Examples of test basis:
- Requirements
- User stories
- Design specifications
- Risk analysis
Testware
Artifacts produced during testing:
- Test plan
- Test cases
- Test scripts
- Test data
- Test reports
Test Roles
- Tester
- Test lead / Test manager
- Developer (unit testing)
- Business analyst / Product owner (acceptance testing)
1.5 Essential Skills and Good Practices in Testing
Tester Skills
- Analytical thinking
- Attention to detail
- Communication skills
- Curiosity
- Technical knowledge
Whole Team Approach
- Testing is everyone’s responsibility
- Testers collaborate with developers and business roles
Independence of Testing
Levels of independence:
- No independence (developer tests own code)
- Tester within team
- Independent test team
- External testers
Higher independence → more objective testing
시험 직전 전략 (중요)
지금 시점에서:
- 7 Testing Principles 암기
- Error / Defect / Failure 구분
- Verification vs Validation
- Test Process 단계 순서
- Testing objectives에서 “prove no defects” 배제
Tags
ISTQB
