Testing Fundamentals
Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. It is the process of executing a system to identify any gaps, errors, or missing requirements in the functional, performance, and security aspects.
1.Understanding Testing Fundamentals
Purpose of Testing:
- Ensure the quality of the software product.
- Validate and verify if the software product meets the business requirements.
- Identify and fix defects to ensure a smooth running system.
Different Aspects of Testing:
Functional Testing: Focuses on testing the functionality of the software. It ensures that each function or component performs the desired function accurately.
Non-Functional Testing: Involves testing aspects like performance, reliability, usability, security, and more.
Manual Testing: The process of testing software manually by a human tester without using any automated tools or scripts.
Automated Testing: The process of testing software using scripts and automated tools to reduce human intervention.
2.Types of Testing:
Unit Testing: Individual components or units of the software are tested. It is usually done by developers.
Integration Testing: Different units of the software are combined and tested as a group to ensure they work together.
System Testing: The complete and integrated software is tested for the first time to check if it meets the specified requirements.
Acceptance Testing: The software is tested for acceptance by the end-users or stakeholders to check if it satisfies the business requirements.
Regression Testing: Ensures that new changes or modifications have not adversely affected existing functionalities.
Performance Testing: Checks how fast the system responds under different conditions.
Security Testing: Ensures the system is secure and protected against unauthorized access.
Usability Testing: Checks the user-friendliness of the software.
3.Testing Methods:
White-Box Testing: The internal structure of the software is known to the tester. They design test cases based on the internal structure.
Black-Box Testing: The internal structure of the software is not known to the tester. They design test cases based on the software’s external functionality.
Grey-Box Testing: A combination of both white-box and black-box testing.
4.Test Levels:
Unit Testing: Tests the smallest units of the software.
Integration Testing: Tests how different units of the software work together.
System Testing: Tests the entire system.
Acceptance Testing: Tests the software for acceptance by end-users or stakeholders.
5.Test Plan and Test Cases:
Test Plan: A document that outlines the objectives, scope, approach, resources, and schedule of testing.
Test Case: A set of conditions under which a tester will determine whether the software meets its requirements.
6.Quality Assurance (QA) and Quality Control (QC):
QA: The process of managing the quality of the software development process.
QC: The process of ensuring the quality of the product.
Comments
Post a Comment