adhoc means unplanned / random approach to test any functionality and try to break it at some point! anyone can do this in the qa team. Its very true that this is generally done at the end of release cycle or at the end of project (before deployment).
so that one can catch the bugs randomly.
whereas error guessing is normally done by the person who is well versed to the product and has an experience into testing product, so he may guess that which are the error prone areas / where can error occurs while prod development.
adhoc testing means testing the total application without any proper documentation is called adhoc testing,
error guessing means in which situation the error will raise in the application is called error guessing.
Please see replies below: a) What adhoc testing?- Adhoc testing means we are just randomly testing any module or any part or any functionality of the system. The purpose is just to make sure that the module is working fine. Adhoc testing is performed at any point of time.
b) What is error guessing?- This is purely based on the knowledge of the product or experience with the same or same kind of product. By experience we guess the area where we might have bugs/errors and testing that part.
c) What is difference between adhoc testing and error guessing
- 1.Adhoc testing can be done by anyone while for doing error guessing the person must have experience with product. 2. Adhoc testing is normally done to find normal bugs not necessarily the blocker critical or major bugs but error guessing is generally done to find functionality level bugs.
Ad hoc testing is a commonly used term for software testing performed without planning and documentation.
The tests are intended to be run only once, unless a defect is discovered. Ad hoc testing is a part of exploratory testing, being the least formal of test methods. In this view, ad hoc testing has been criticized because it isn't structured, but this can also be a strength: important things can be found quickly. It is performed with improvisation, the tester seeks to find bugs with any means that seem appropriate. It contrasts to regression testing that looks for a specific issue with detailed reproduction steps, and a clear expected result. Ad hoc testing is most often used as a complement to other types of testing.
There are different situation ad-hoc testing will be performed.
1. If there is no time to test all functionality.
2. If you do not have proper documents, as per the experience they will conduct testing.
3. Ad hoc is nothing but exploratory testing.it means that it could be chance to find irregular defects.
Adhoc testing comes in different manner.
1)Some times Tester will do this type of testing,When they don't have sufficient time to test the application.
2)Tester will do it after completion of the all the test cases executed and when they are going to realese the build.
3)The end user will do this type of test to know whether the application is working or not.
Error Guessing is a test case design technique where the tester has to guess what faults might occur and to design the tests to represent them.
The purpose of error guessing is to focus the testing activity on areas that have not been handled by the other more formal techniques, such as equivalence partitioning and boundary value analysis. Error guessing is the process of making an educated guess as to other types of areas to be tested. For example, educated guesses can be based on items such as metrics from past testing experiences, or the tester's identification of situations in the Functional Design Specification or Detailed Design Specification, that are not addressed clearly.
I've attached doc related to Adhoc testing ... might be helpful for all.