Manual Testing, its future with AI
Software Testing definition? Software testing is a systematic process for evaluating software product to identify defects and ensure whether the Software meets the required expectation. There are various techniques to identify the defects in various stages, which are listed below with explanation: Black Box Testing: This technique is used to identify the defects in software functionality without looking into the code of the software. Testers use application’s interface and inputs is user defined to verify whether the software behaves as expected according to the requirement. Example: Imagine a car’s performance in which we focus on drives, handles, feature and comfortableness without knowing the engine’s inner part’s capacity. White Box Testing: White box is contrast to Black Box. In Black box code will not be considered, but in white box it involves in testing internal code and structure. This testing is done by designing test cases for verify code structure, logic and behavior. Example: Imagine a car’s performance in which we focus on engine’s inner part’s capacity and performance without knowing the design and comfortableness. Grey Box Testing: This is the combination of Black Box Testing and White Box Testing, testers will have some knowledge on internal structure or data this allows them to test in more targeted tests but still focusing on application’s functionalities in the user’s perspective. Example: Imagine Task Management Application where sending the weekly update on every Friday. Exploratory Testing: This testing is an unstructured testing where testing is done without any predefined plan. This helps the testers to reveal unexpected issues and also identify the potential or important areas to improve from user perspective. Example: Testing a new login page with different combination of possibilities, both success and fail cases. Usability Testing: This testing is done to explore user friendliness for the software. Testers interact with the application by interacting and find usability issues. Which will be helpful to improve the usability of the application? Example: User is asked to search for available wished product using the search bar in e-commerce website. Testers are asked to test the application after the users reported difficulties in application to shop the product. Functional Testing: This testing includes many sub level testing techniques to verify software’s ability to perform intended requirements. Some of the types are listed below Smoke Testing: A quick check to confirm the software is stable and ready to undergo more extensive testing. This testing done by developers, testers will not involve in this testing phase. This testing will be done on checking critical functionality of the software. Example: Very common example for Smoke Testing ins Login page, where user login with correct credentials and check whether the page navigates to correct destination. Sanity Testing: This testing is done after a bug fix or small changes to application. Purpose of testing is to identify whether any new issues introduced which affects the progress of testing. This testing will be done on checking area of minor functionalities. This testing will be done by testers and developers will not be involved in this testing. This is also a sub set of regression testing. Example: Imagine a e-commerce website where there is an issue in payment gateway, developer fixed the issue and its working fine but tester need to check whether the related area affected due to the fix. Regression Testing: This testing is done to verify whether any new issues are introduced due to new code change which affects existing functionality are broken. Example: Imagine a e-commerce website which need to enhance the site by including wish list, tester will check by adding the wish list whether existing login system work fine, shopping cart and checkout remains fine and accurate. Re-testing: This testing is done to verify whether reported bugs are fixed and also verifying whether the fixed bugs cause any other introduced issues. Example: Let’s take save as button, while testing first it’s not working and issue is reported to developer and it was fixed. Tester again tests the same functionality and confirms its working as expected. Acceptance Testing: This testing is done before the final release of the application, to confirm whether the application meets the required requirement and user expectation of the application. Non-functional Testing: Non-functional testing check the non-functional attributes of any software like performance, usability, reliability, security, visual testing. Performance Testing: Testing involves testing Load, Stress, and spike which ensures software resilience. Load Testing: Testing done to identify the system’s behavior under both normal and peak load conditions. For example we take result publishing. Example: Results will be published all over the division the browser should not hang, crash the syst

Software Testing definition?
Software testing is a systematic process for evaluating software product to identify defects and ensure whether the Software meets the required expectation.
There are various techniques to identify the defects in various stages, which are listed below with explanation:
Black Box Testing:
This technique is used to identify the defects in software functionality without looking into the code of the software. Testers use application’s interface and inputs is user defined to verify whether the software behaves as expected according to the requirement.
Example: Imagine a car’s performance in which we focus on drives, handles, feature and comfortableness without knowing the engine’s inner part’s capacity.
White Box Testing:
White box is contrast to Black Box. In Black box code will not be considered, but in white box it involves in testing internal code and structure. This testing is done by designing test cases for verify code structure, logic and behavior.
Example: Imagine a car’s performance in which we focus on engine’s inner part’s capacity and performance without knowing the design and comfortableness.
Grey Box Testing:
This is the combination of Black Box Testing and White Box Testing, testers will have some knowledge on internal structure or data this allows them to test in more targeted tests but still focusing on application’s functionalities in the user’s perspective.
Example: Imagine Task Management Application where sending the weekly update on every Friday.
Exploratory Testing:
This testing is an unstructured testing where testing is done without any predefined plan. This helps the testers to reveal unexpected issues and also identify the potential or important areas to improve from user perspective.
Example: Testing a new login page with different combination of possibilities, both success and fail cases.
Usability Testing:
This testing is done to explore user friendliness for the software. Testers interact with the application by interacting and find usability issues. Which will be helpful to improve the usability of the application?
Example: User is asked to search for available wished product using the search bar in e-commerce website. Testers are asked to test the application after the users reported difficulties in application to shop the product.
Functional Testing:
This testing includes many sub level testing techniques to verify software’s ability to perform intended requirements. Some of the types are listed below
Smoke Testing:
A quick check to confirm the software is stable and ready to undergo more extensive testing. This testing done by developers, testers will not involve in this testing phase.
This testing will be done on checking critical functionality of the software.
Example: Very common example for Smoke Testing ins Login page, where user login with correct credentials and check whether the page navigates to correct destination.
Sanity Testing:
This testing is done after a bug fix or small changes to application. Purpose of testing is to identify whether any new issues introduced which affects the progress of testing.
This testing will be done on checking area of minor functionalities. This testing will be done by testers and developers will not be involved in this testing.
This is also a sub set of regression testing.
Example: Imagine a e-commerce website where there is an issue in payment gateway, developer fixed the issue and its working fine but tester need to check whether the related area affected due to the fix.
Regression Testing:
This testing is done to verify whether any new issues are introduced due to new code change which affects existing functionality are broken.
Example: Imagine a e-commerce website which need to enhance the site by including wish list, tester will check by adding the wish list whether existing login system work fine, shopping cart and checkout remains fine and accurate.
Re-testing:
This testing is done to verify whether reported bugs are fixed and also verifying whether the fixed bugs cause any other introduced issues.
Example: Let’s take save as button, while testing first it’s not working and issue is reported to developer and it was fixed. Tester again tests the same functionality and confirms its working as expected.
Acceptance Testing:
This testing is done before the final release of the application, to confirm whether the application meets the required requirement and user expectation of the application.
Non-functional Testing:
Non-functional testing check the non-functional attributes of any software like performance, usability, reliability, security, visual testing.
Performance Testing:
Testing involves testing Load, Stress, and spike which ensures software resilience.
Load Testing:
Testing done to identify the system’s behavior under both normal and peak load conditions. For example we take result publishing.
Example: Results will be published all over the division the browser should not hang, crash the system or browser.
Considering another example is OTT, where users are streaming the same content in same time which ensures smooth playback and prevent buffering.
Stress Testing:
Stress Testing is performed to verify whether the system, application performs under the extreme or abnormal conditions. This stress testing is not designed to handle nor scenario but to hands beyond the limits or capacity of application or website.
Example: Simulating a website’s ability to handle the raise of traffic during publishing of results which pushes beyond its normal limits which uses to find the failure points and bottlenecks of the website.
Boundary Value Analysis
Boundary Value Analysis is testing two values for each boundary, i.e. testing the boundary and adjacent of boundary. This testing is performed to verify the potential errors that may occur near boundaries.
Decision Table Testing
Decision table testing is useful for systems with complex business rules where different combinations of input result in different outcomes.
Below is the Decision Table
Stubs Entries
Conditionc1
c2
c3
Action a1
a2
a3
a4
- Condition Stubs: Conditions are listed below the Stubs (c1, c2, c3) which are used to determine a particular action or set of action.
- Action Stubs: Action Stubs are below the condition stubs i.e lower left portion of the decision table.
- Condition Entries: Rules are given in condition entries which contain several rows and columns. Values are given in upper right portion of the table.
- Action Entries: In the action entry, every entry has some associated action or set of actions in the lower right part of the table and these values are called as outputs.
The future of manual testing in the age of AI
Manual testing never ends, because AI cannot think like a user and also cannot do domain-specific testing which only Manual tester can do. Manual testing has both confident and adaptive in testing. Manual testers can analyze the complex code and undergo testing but AI cannot.