Define different types of testing
We follow different types of testing approach to deliver high quality product to the customer which will be free from any bugs or defects. And it is classified into functional testing and non-functional testing.
Functional Testing
Functional testing talks about the behavior of the application and how the features should work in the application. It is categorized into different types.
Smoke Testing
Sanity Testing
Regression Testing
Retesting Testing
Ad-hoc Testing
Exploratory Testing
User Interface Testing(UI)
End To End Testing
1. Smoke Testing
Smoke testing is performed by developer and the QA team and it is used to check the basic functionalities of the software after every release. Smoke testing is do…
Define different types of testing
We follow different types of testing approach to deliver high quality product to the customer which will be free from any bugs or defects. And it is classified into functional testing and non-functional testing.
Functional Testing
Functional testing talks about the behavior of the application and how the features should work in the application. It is categorized into different types.
Smoke Testing
Sanity Testing
Regression Testing
Retesting Testing
Ad-hoc Testing
Exploratory Testing
User Interface Testing(UI)
End To End Testing
1. Smoke Testing
Smoke testing is performed by developer and the QA team and it is used to check the basic functionalities of the software after every release. Smoke testing is done on initial builds to check whether application is stable or not. For example: User install a new version of a food delivery app. User quickly check: -App installs successfully -App opens -Login works -Home screen loads -User don’t place an order yet. -If the app crashes on launch → testing stops -If basics work → build is accepted -User don’t check main functionality user will only look for basic functionality here this is a smoke testing.
2. Sanity Testing
Sanity testing is only done by QA members and it is used to check the main functionality of the software once the software builds gets stable. For example: A bug was fixed where orders were failing at checkout. Tester Verifies: -Add item to cart -Checkout works -Payment goes through -Order confirmation is shown -User don’t test login, profile, or notifications. -User will only look for fixed bugs and main the functionality this is a sanity testing.
3. Regression Testing
This testing verifies there will be no impact on existing software while releasing the new builds for the given software.
For example: User has designed a piece of software where he can add/delete/modify customers. Tester Verifies: -Existing customers can still be viewed -Customer details can be modified successfully -Customers can be deleted without errors -Search and filter functionality works -Previously saved customer data is not affected
4. Retesting
In retesting whatever bugs will get in the previous builds that should be verify in the next build that is called retesting. For example, in a cab booking app, users were not able to see the confirmation message after booking a ride.
The developers fixed the issue in the latest build. During retesting, the QA team verifies that: -After booking a cab, the confirmation message is displayed correctly -The message shows accurate ride details (pickup, drop, fare) -No new issues are introduced in the booking process -This ensures that the previously reported bug is completely resolved in the new build.
5. Ad-hoc Testing
Ad-hoc testing will be done without having any requirement or test design. Tester will randomly test the application.
For example: We have a web shop application. Tester will randomly test:- -Logs in with valid and invalid credentials -Adds random products to the cart -Refreshes the page during checkout -Uses browser back and forward buttons
6. Exploratory Testing
In exploratory testing tester will explore the entire application. And identify all the possible scenarios and document it and use use it for testing.
For example: We have online shopping application. Tester verifies: -Browses product categories -Searches products using different keywords -Adds multiple products to the cart -Applies filters and sorting options -Proceeds to checkout and observes validations
7. User Interface Testing
User Interface testing test the basic functionalities of the software. For example: Font size, Font color, Spell Mistakes, Buttons and alignment issues.
8. End To End Testing
Testing the overall functionalities of the software including the data integration among all the module is called end to end testing.
For example: E-Commerce Mobile App -Tester will verify placing and tracking order: -User browses products and adds items to cart. -Proceeds to checkout and applies a discount coupon. -Selects a payment method and completes payment. -Order confirmation is displayed, and email notification is sent. -User tracks order delivery status in the app. -Admin system reflects the order accurately.
Validates the entire purchase workflow, including front-end, payment, notifications, and admin tracking.
Non-Functional Testing
Non-functional testing is used to verify the different aspects of the software such as performance, speed, response and compatibility to ensure that software perform well under expected condition. And it has various types.
Performance Testing(Load, Stress, Volume)
Security Testing
Recovery Testing
Compatibility Testing
Localization & Globalization Testing
1. Performance Testing
Performance testing is used to check the speed response and stability of the software while gradually increasing and decreasing the load at the application.
Load Testing: It checks the response of the software under expected user. For example: We have a demo web shop, and you want to check if it can handle 1000 simultaneous users browsing and placing orders without slowing down or failing. User will send the request to the server for 1000 users and will check the response of the software whether it is working or not.
Stress Testing: It checks the response of the software beyond expected user. To find the breaking point in a software. For example: Verify how the system performs when user load exceeds normal expectations, and check how it recovers. User will send the request to the server for 2000-3000 users and will check the stability of the software like software is working as expected or it is failing and slowing down, once user will decrease the load at the software, application should recover and start working as expected.
Volume Testing: It checks how much data is handled by the application. For example: Verify that the web shop can store, process, and retrieve large volumes of data without slowing down or crashing. Test Setup: -Insert 1 million product entries into the system. -Create 100,000 registered users in the database. -Simulate normal user actions: -Search products -View product details -Place orders
Execution: -Monitor response time of queries and pages -Monitor database performance (CPU, memory, storage) -Check if search, filters, and reports are working correctly
2. Security Testing
It ensure that user data are protected from any unauthorized access and it can not be stolen or misused by any other users.
For example: We have web shop application, If user try to login it will check credentials or valid or not.
3. Recovery Testing
It checks how fast system data is getting recover after facing any kind of failure in our system.
For example: Network Failure & Power Failure
4.Compatibility Testing
It checks the compatibility of the designed software in different devices browser and in operating system.
For example: We have an web shop application so user will check it different browser and devices.
- Browsers: Chrome, Edge, Firefox, Safari
- Devices: Mobile, Laptop, Desktop, Tablet
- Operating System: Android, iOS, Windows, macOS
5. Localization & Globalization
It checks our system is able to support different languages, currencies and date/time format.
For example:
- The system should allow users to select different currencies: USD, EUR, INR
- Language translation: English → French
- Dates should adjust to regional formats (MM/DD/YYYY for USA, DD/MM/YYYY for UK).