Software Testing and Quality Assurance
Software Testing and Quality Assurance: Simplified for Students

Introduction to Software Testing
Software Testing checks if the software meets all expected requirements and functions correctly. It helps identify and fix bugs before the software is released.
Objectives of Testing
- Detect defects
- Verify software against requirements
- Ensure accuracy and reliability
- Boost user confidence
- Lower future maintenance efforts
Principles of Software Testing
- Testing shows presence of bugs, not their absence
- Exhaustive testing is not possible
- Start testing early
- Most bugs exist in a few modules
- Change tests regularly (pesticide paradox)
- Testing depends on context
- Bug-free ≠ useful software
Testing Process
- Plan what, how, and who will test
- Design test cases
- Execute the test cases
- Log defects found
- Re-test and perform regression testing
- Prepare final reports and analysis
Types of Testing
Based on Code Access
- White Box: Internal logic tested (by developers)
- Black Box: Functionality tested without code access (by testers)
Based on Stage
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
Other Types
- Smoke and Sanity Testing
- Regression Testing
- Load and Stress Testing
Software Quality Assurance (SQA)
SQA ensures the quality of the development process, not just the final product.
Goals of SQA
- Ensure quality during all phases
- Prevent defects early
- Follow standards like ISO and CMMI
SQA Activities
- Reviews and Audits
- Standards enforcement
- Data and metrics analysis
- Training and process planning
Software Quality Attributes
- Correctness
- Reliability
- Efficiency
- Integrity
- Usability
- Maintainability
- Portability
- Testability
Defect Life Cycle
Stages a defect goes through:
- New → Assigned → Open → Fixed → Retested → Closed
- May also be marked: Rejected, Duplicate, Deferred
Verification vs. Validation
Term | Meaning |
---|---|
Verification | Are we building the product right? (During development) |
Validation | Are we building the right product? (After development) |
Want to keep improving? Bookmark this post and read our next guide on Software Project Management!