Chapter 1 - Fundamentals of Testing

1.1 Why Is Testing Necessary?

Purpose of Testing

Testing is performed to:

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)

TermDefinition
ErrorA human mistake
Defect (Bug/Fault)Flaw in a work product
FailureSystem behavior deviates from expected result

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:

Testing:

  • Verifies that requirements are met
  • Validates that the system meets user needs


Verification vs Validation (Classic Exam Question)


VerificationValidation
Are we building the product right?Are we building the right product?
Against specsAgainst user needs
Reviews, inspectionsTest 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


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


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)

ActivityKey Purpose (English)Focus Keywords
Test PlanningDefining the objectives and the approach.Objectives, Strategy, Resources
Test Monitoring & ControlComparing progress against the plan.Metrics, Status Reports, Corrective Action
Test AnalysisDetermining "WHAT" to test.Test Basis, Test Conditions
Test DesignDetermining "HOW" to test.Test Cases, Test Data, Infrastructure
Test ImplementationCreating and organizing everything needed.Test Procedures, Test Suites, Execution Schedule
Test ExecutionRunning the tests.Actual Results, Logging, Defect Reporting
Test CompletionFinalizing the testing.Summary Reports, Archiving, Lessons Learned

Test Basis (Very Important)

Examples of test basis:

  • Requirements
  • User stories
  • Design specifications
  • Risk analysis


Testware

Artifacts produced during testing:


Test Roles


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:

  1. No independence (developer tests own code)
  2. Tester within team
  3. Independent test team
  4. External testers

Higher independence → more objective testing


시험 직전 전략 (중요)

지금 시점에서:

  1. 7 Testing Principles 암기
  2. Error / Defect / Failure 구분
  3. Verification vs Validation
  4. Test Process 단계 순서
  5. Testing objectives에서 “prove no defects” 배제

다음 이전