Quality Assurance vs Quality Control

Software Testing Part 3

ยท

4 min read

Quality Assurance vs Quality Control

Expected vs Actual Behaviour - Understanding The Difference

For each software feature, the expected behaviour is characterized by a set of test cases. Each test case is characterized by :

  1. The environment under which the test case is to be executed.
  2. Inputs that should be provided for that test case.
  3. How these inputs should get processed.
  4. What changes should be produced in the internal state or environment.
  5. What outputs should be produced.

The actual behaviour of a given software for a given test case, under a given set of inputs, in a given environment and in a given internal state is characterized by :

  1. How these inputs actually get processed.
  2. What changes are actually produced in the internal state or environment.
  3. What outputs are actually produced.

If the actual behaviour and expected behaviour are indentical in all their characteristics, then that test case is said to be passed. If not, then the given software is said to have a defect on that test case.

Two methods for ensuring that the chances of the product meeting its requirements are increased - Quality Assurance and Quality Control.

Quality Control

  • Attempts to build a product and test it for expected behaviour after it is built.
  • If the actual behaviour and expected behaviour are not similar, then fixes and rebuilds are done.
  • This iteration is repeatedly done till expected behaviour of the product matches the actual behaviour for the scenarios tested.
  • Works on the product rather than processes, focused on defect detection and correction.

Quality Assurance

  • Attempts defect prevention by concentrating on the process of producing the product rather than working on defect detection/correction after the product is built.
  • To ensure production of better quality code, a quality assurance process may mandate coding standards to be followed by all programmers.
  • Quality assurance tends to apply to all the products that use a process.
  • QA continues throughout the life of the product, it is everybody's responsibility, hence it is a staff function.
  • In contrast, the responsibility for Quality Control is usually localized to a quality control team.

Quality Assurance vs Quality Control - Tabular Form

Quality AssuranceQuality Control
1. Concentrates on the process of producing the products.1. Concentrates on specific products after they have been built.
2. Defect prevention oriented.2. Defect detection and correction oriented.
3. Usually done throughout the life cycle.3. Usually done after the product is built.
4. This is usually a staff function.4. This is usually a line function.
5. Ex - Reviews and Audits.5. Ex - Software testing at various levels.

Conclusion

You can read other articles written by me through these links.

Software Testing Series
1. Fundamental Principles of Software Testing
2. Software Development Life Cycle Models
3. Quality Assurance vs Quality Control
4. Testing Verification vs Testing Validation
5. Process & Life Cycle Models For Testing Phases
6. White Box Testing
7. Black Box Testing
8. Integration Testing
9. System Testing
10. Regression Testing
11. Performance Testing
12. Ad Hoc Testing
13. Checklist & Template For Test Plan & Management
14. Software Test Automation

Operating System Series
1. Introduction & Types of OS
2. Process States & Lifecycle
3. System Calls
4. User Mode vs Kernel Mode
5. CPU Process Scheduling
6. Process Synchronization
7. Deadlocks
8. Memory Management
9. Disk Management & Scheduling
10. File System in OS
11. Protection & Security

System Design Series
Introduction To Parallel Computing
Deep Dive Into Virtualization
Insights Into Distributed Computing

Cloud Computing Series
1. Cloud Service Models
2. Cloud Deployment Models
3. Cloud Security
4. Cloud Architecture
5. Cloud Storage
6. Networking In The Cloud
7. Cloud Cost Management
8. DevOps In Cloud & CI/CD
9. Serverless Computing
10. Container Orchestration
11. Cloud Migration
12. Cloud Monitoring & Management
13. Edge Computing In Cloud
14. Machine Learning In Cloud

Computer Networking Series
1. Computer Networking Fundamentals
2. OSI Model
3. TCP/IP Model : Application Layer
4. TCP/IP Model : Transport Layer
5. TCP/IP Model : Network Layer
6. TCP/IP Model : Data Link Layer

Version Control Series
1. Complete Guide to Git Commands
2. Create & Merge Pull Requests
3. Making Open Source Contributions

Linux
Complete Guide to Linux Commands

Thanks For Reading! ๐Ÿ’™
Garvit Singh

ย