Testing is the process of finding errors in a program. To improve the performance of the software we perform testing.
Test Cases should meet the customer requirements.
Software testing should be executed by a third party.
Exhaustive testing is impossible.
Test Cases should be planned in advance before implementing.
It also follows the Pareto rule(80/20 rule) which states that 80% of errors come from 20% of programs.
Start testing from small components and extend it to large components.
Unit Testing
Integration Testing
Regression Testing
Smoke Testing
Alpha Testing
Beta Testing
System Testing
Stress Testing
Performance Testing
Object-Oriented Testing
Unit Testing is done during the development by developers. It is one of the white box testing. It is performed on the individual or group of interrelated units.
a.When we are checking if a loop, method, or function is working fine within a program.
b. Misunderstood or incorrect, arithmetic precedence.
In Integration testing, a group of units or components are combined to produce a single output. It takes unit tested components and builds a complete program using design.
Top-down
Bottom-up
Sandwich
Big-Bang
Black Box testing: It is used for validation. It ignores internal working mechanisms and focuses on What is the output?.
White Box testing: It is used for verification. It focus on internal mechanism i.e. How is the output achieved?
Whenever a new module is added or any changes in the program. Regression testing is performed to make sure that the whole component works properly after adding components.
In the school suppose we have components of staff, students, and finance combining these components and checking if the integration of these components works fine is regression testing.
Smoke testing is performed to make sure that software or application under testing is ready or stable to perform other testing.
If a project has 2 modules so before going to module 2, ensure that module 1 works properly.
Alpha testing is a type of validation testing also called acceptance testing which is done before the product is released to customers. It is mostly done by the QA team.
Alpha testing is performed within the organisation.
Beta Testing is performed by the end-user of the application. Software version is released for a limited number of users for testing in a real-time environment.
When testing is performed by end-users.
System Testing is performed to test the application on different operating systems. It comes under the black box testing technique.
It also involves security testing, recovery testing, stress testing, and performance testing.
Mostly involve functional as well as non functional testing.
Stress Testing is performed in unfavourable conditions to monitor the application performance.
Example:
1. Test cases that require maximum memory or other resources.
2. Test cases that may cause thrashing in a virtual operating system.
3. Test cases that may cause excessive disk requirement.
It is performed to test the speed and effectiveness of the application. We also called it to load testing.
Example:
Checking a number of processor cycles.
It is a combination of various testing techniques that help to verify and validate object-oriented software.
This testing is done in the following manner:
Testing of Requirements,
Design and Analysis of Testing,
Testing of Code,
Integration testing,
System testing,
User Testing.
Why do we call “Smoke” testing ?
It is called a smoke testing as the initial pass is done to check if it did not catch the fire or smoke in the initial switch on.
If you have any questions, or simply would like to share your thoughts, then feel free to reach out in the comments section below.