[Testing-QA] Introduction to Fundamentals of Testing
Categories: Testing-QA
Tags: Testing
📋 Here are the notes summarizing what I learned from the course!
Introduction to Fundamentals of Testing
Fundamentals of Testing
- Purpose of Testing: To identify defects, ensure software meets the requirements, and assess its readiness for deployment.
- What is Testing: Testing involves activities both static (like reviews) and dynamic (like executing the software) to ensure correctness, efficiency, and usability of software products.
What is Quality?
- Definition of Quality: The degree to which a software system meets specified requirements or user/customer expectations.
- Aspects of Quality:
- Measurable Attributes: Characteristics like response time and throughput.
- Fitness for Use: The software’s ability to perform its intended functions satisfactorily.
- Value for Money: The software’s cost-effectiveness in fulfilling user needs.
Testing Principles
- Presence of Defects: Testing can show that defects are present but cannot prove that no defects exist.
- Exhaustive Testing: It is impossible to test all configurations and scenarios, making strategic testing essential.
- Early Testing: Starting tests early in the software development life cycle can prevent complex and costly defects later.
- Defect Clustering: A small number of modules may contain the majority of defects.
- Pesticide Paradox: Repeatedly running the same set of tests will eventually no longer find new defects.
- Context Dependency: Testing should be adapted based on the environment and expected use.
- Absence of Errors Fallacy: Even software without detected defects may not fulfill user needs if it doesn’t meet user requirements.
Testing Goals
- Validation Testing: Confirms that the software meets the needs and expectations of the users, ensuring it is fit for use.
- Verification Testing: Ensures the software operates according to the specified functional and non-functional requirements.
Leave a comment