🧪

Software Quality and Testing Basics

Nov 12, 2025

Overview

  • Topic: Basics of software quality and testing, including roles of testing, QC, and QA throughout the project life cycle.
  • Focus: Key definitions, the importance of testing, stages where testers are involved, and what defects are.

Quality: Definitions and Perspectives

  • ISO: Quality is how well inherent characteristics fulfill requirements.
  • ISTQB: Quality is how much a component or system meets requirements or customer needs.
  • ASQ: Quality is meeting stated needs and being free from deficiencies.
  • Developer view: Quality means code matches specs, follows best practices, and works correctly.
  • User view: Quality is reliability, security, appearance, speed, ease of use, and friendliness.
  • Core idea: The main goal of quality is happy users.

Why Testing Is Necessary

  • People make mistakes, which leads to defects and unhappy users.
  • Testing does not guarantee zero defects, but improves quality by finding and fixing issues.
  • Helps prevent users from finding defects in production.
  • Testing is sometimes required for product delivery to meet standards.

Testing, Quality Control (QC), and Quality Assurance (QA)

  • Testing: Compares actual app results to expected outcomes; aims to find defects and report on quality.
  • Quality Control: Analyzes metrics and statistics after testing; checks if the product meets acceptance criteria and is ready for use.
  • Quality Assurance: Improves development processes to prevent defects; focuses on proactive process improvement.

Product vs Process Focus

  • Testing and QC focus on the product and its current quality.
  • QA focuses on the process to prevent defects before they happen.

QC vs QA: Comparison

AspectQuality Control (QC)Quality Assurance (QA)
FocusProduct quality and readinessProcess quality and improvement
GoalConfirm readiness for use and deliveryPrevent defects in the project
ResponsibilityPrimarily the testing teamWhole team
ApproachReactive (responds to found issues)Proactive (prevents issues in advance)
ExamplesTesting, metrics, defect stats, reportingCode reviews, onboarding, Agile, audits, training

Project and Project Life Cycle

  • Project: An activity to achieve a goal with fixed resources and within limited time.
  • Project features: Clear goal, coordinated actions, uniqueness, and resource limits (budget, time, people).
  • Life cycle stages: Initiation, Planning, Development, Testing, Release, Support, Closure.

Testing Team Involvement Across Stages

  • Initiation: Rare; may assess idea or concept viability.
  • Planning: Test requirements and create detailed test documentation.
  • Development: Continue test documentation, review and expand functional specifications, and perform prototype testing.
  • Testing: Execute functional and non-functional tests; report results.
  • Release: Process user feedback, validate fixes, and do regression testing.
  • Support: Similar to release; handle fixes and do regression testing as needed.
  • Closure: Testers usually not involved.

Cost of Defects Over Time

  • Early defect discovery is less costly—fixes can be made by adjusting concepts.
  • Late discovery (after release) increases costs, as it may require redoing major project phases.

Defects and Bugs

  • Defect/bug: An error in the system or program that causes incorrect or unexpected behavior.
  • The terms are similar; the main point is both refer to problems that affect the product.

Key Terms & Definitions

  • Quality: Meeting requirements and user needs; absence of deficiencies.
  • Testing: Comparing actual vs. expected outcomes to find defects and report on quality.
  • Quality Control (QC): Analyzing outcomes after testing to determine product readiness.
  • Quality Assurance (QA): Improving processes to prevent defects.
  • Defect/Bug: Error in the system causing incorrect or unexpected behavior.

Action Items / Next Steps

  • Learn how to raise and describe defects.
  • Study testing strategy to better organize work and increase defect detection.