Ad-hoc Testing is an informal and unplanned type of testing, where testers randomly perform testing on any part of the application without using any formal test plans/test cases/Other documents. The purpose of performing this testing is to identify the defects which are generally not identifiable using planned way of testing.
More Details on Ad-hoc Testing: The below are few points, which help you in understanding Ad-hoc Testing in detail:
- Testing is performed with an intention of breaking the application and finding the defects which are generally not found in a planned way of testing.
- This is an unplanned way of testing where the testing team won’t create any test plans/test cases/others documents. With this, the testing team can focus more on testing without worrying about the documentation.
- Testing is performed by a tester having very good command on the application under test.
- Testing team will perform Ad-hoc Testing with the help of the technique known as Error Guessing. This technique is used by the people having good knowledge on the application to guess the error sources in the system.
- Ad-hoc Testing is also known as Random Testing/Monkey Testing.
- As this is an informal way of testing, the defects identified during this testing won’t be mapped to any test cases.
- As this testing is performed in a random way without following any test cases/requirements, it will be difficult for the testing team to reproduce the defects when identified.
- Ad-hoc testing is performed after the formal way of testing with test cases/requirement documents complete.
- Ad-hoc testing needs to be performed when there is limited time and detailed testing of the application is required.
- Ad-hoc testing is a form of Black Box Testing performed in an informal way.
Different types of Ad-hoc Testing: The following are the different types of Ad-hoc testing:
- Buddy Testing: This type of testing is performed by two buddies working on the same application, in which one buddy is from the development team and another buddy is from the testing team. By performing this testing, the tester will be able to develop better test cases and avoid invalid scenarios.
- Pair Testing: This type of testing is performed by two testers working on the same application. These two testers will work on the same machine to share their ideas while testing. The purpose of this testing is to create a maximum number of test scenarios for testing.
- Monkey Testing: In this type of testing, the testing will be performed randomly to test the application without using any formal test cases with an intention of breaking the application. The purpose of this testing is to find bugs, which are in general not found from the planned way of testing.
Best Practices: The following best practices need to be followed by the testing team while performing Ad-hoc testing:
- Testing should be performed by the experienced testing team having good command on the application, in order find defect easily with error guessing technique.
- Testing team should focus on testing the key functionalities of the applications first.
- Defects identified during this testing needs to be written on a notepad, assigned to developers and respective test cases need to be added to the planned test cases.
- Using tools like profilers, debuggers and task monitors can help us in uncovering several defects.
- Though it is not required to do detailed planning, instead penning down rough pointers/ideas during the testing will help the tester.
Conclusion: Ad-hoc Testing is an informal and unplanned way of testing, where the testing team having good command on the application will perform random testing on any part of the application without using any formal test cases/requirements documents. The purpose of this testing is to identify the defects apart from the defects identified in the planned way of testing. This testing is generally performed when there is very less time and detailed testing of the application is required.
Please leave your questions/comments/feedback below.
Happy Learning 🙂
Arun Motoori (www.QAFox.com)