Difference Between Adhoc Testing & Exploratory Testing
Difference Between Adhoc Testing & Exploratory Testing
Difference Between Adhoc Testing & Exploratory Testing
Adhoc Testing: Learn the application then test it. Exploratory Testing: Test the application while learning. Example: If a QA is asked to test an application without any concrete documents Adhoc: Gather information about the app from all possible sources and document and then test Exploratory: Gather, Document and Test the application simultaneously ------------------------------****************************************--------------------------Ad hoc Testing: When you have a lot of time for learning application separately then u learn the application by using proper document then start testing Exploratory Testing: When you have no time for learning the application separately and you just test the application by running it and learn the application more deeply Monkey testing:-monkey testing is a testing that runs with no specific test in mind. The monkey in this case is the producer of any input data (whether that be file data, or input device data). Keep pressing some keys randomely and check whether the software fails or not. Adhoc testing(1): Testing the application randomly to find out defects where out of scope areas will also be covered. This completely depends on tester style and thinking of testing the application. No documentation and test cases preparation in this.
Exploratory Testing
Introduction
Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design and test execution. Exploratory testing is defined as a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project.
Exploratory testing
Is not random testing but it is adhoc testing with purpose of finding bugs. Is structured and rigorous. Is cognitively structured as compared to procedural structure of scripted testing. This structure comes from Charter, time boxing etc. Is highly trainable and manageable. Is not a technique but it is an approach. What actions you perform next is governed by what you are doing currently.
Exploratory testing is often thought of as a black box testing technique. Instead, those who have studied it consider it a test approach that can be applied to any test technique, at any stage in the development process. The key in exploratory testing is the cognitive engagement of the tester, and the testers responsibility for managing his or her time.
Exploratory Testing Directed from requirements and exploring Directed from requirements during testing Determination of test cases well in advance Determination of test cases during testing Confirmation of testing with the requirements Investigation of system or application Emphasizes on prediction and decision making Emphasizes on adaptability and learning Involves confirmed testing Involves Investigation Is about Controlling tests Is about Improvement of test design Like making a speech you read from a draft Like making a conversion its spontaneous The script is in control The testers mind is in control
Scripted Testing
Less preparation is needed, important bugs are found quickly, and at execution time, the approach tends to be more intellectually stimulating than execution of scripted tests. Testers can use deductive reasoning based on the results of previous results to guide their future testing on the fly. They do not have to complete a current series of scripted tests before focusing in on or moving on to exploring a more target rich environment. This also accelerates bug detection when used intelligently. After initial testing, most bugs are discovered by some sort of exploratory testing. This can be demonstrated logically by stating, Programs that pass certain tests tend to continue to pass the same tests and are more likely to fail other tests or scenarios that are yet to be explored.
Tests invented and performed on the fly cant be reviewed in advance (and by that prevent errors in code and test cases), and that it can be difficult to show exactly which tests have been run. Freestyle exploratory test ideas, when revisited, are unlikely to be performed in exactly the same manner, which can be an advantage if it is important to find new errors; or a disadvantage if it is more important to repeat specific details of the earlier tests.
Provide rapid feedback on a new product or feature. Learn the product quickly. Seek to diversify the testing. To find the single most important bug in the shortest time. To check the work of another tester by doing a brief independent investigation. To investigate and isolate a particular defect.
To investigate the status of a particular risk, in order to evaluate the need for scripted tests in that area.
Exploratory Testing also fits anywhere that testing is not completely dictated in advance. This includes all of the above situations, plus at least these additional ones:
Improvising on scripted tests. Interpreting vague test instructions. Product analysis and test planning. Improving existing tests. Writing new test scripts. Regression testing based on old bug reports. Testing based on reading the user manual and checking each assertion.