AdHoc Testing
Testing plays an important part in ensuring that the application is functioning correctly and providing the best user experience. While there are many testing techniques that use structure and test cases, sometimes issues only occur with adhoc testing.
What is AdHoc Testing?
Ad hoc testing is where you essentially just go into an application with no specific methodology. The main goal here is to find issues, unexpected behaviour, and usability issues.
There are no specific testing documents, test cases, or steps to follow. Testers can interact with various features, use unusual data, move around pages, and do any actions.
For example, if you are testing an online shopping site, you may:
- Add multiple items to the basket
- Type unusual characters in the search box
- Refresh the checkout page while purchasing
- Delete items whilst adjusting the quantity
- Navigate back and forth whilst paying
This can often pick up issues that wouldn’t be found in normal test cases.
How does AdHoc Testing Work?
As we aren’t using any formal documents to test, it is very straightforward. However, testers need to know what the application does and what the main features are.
The general process is:
- Know what the application does: Before testing, the testers should know what features the application has, what it does, and what the expected outcome is. This will help them to test key areas and identify any unusual outcomes.
- Test Various Features: Allow the testers to interact with the application freely. Testers can type in various inputs, press buttons, move between pages, and do any actions.
- Identify Any Unexpected Issues: While testing, we want to find any issues such as crashing, incorrect results, broken links, layout issues, etc.
- Record Any Issues Found: If there is an issue, we want to record how to recreate the issue. This includes taking screenshots, noting down any error messages, and any other useful information to give to the developers.
- Confirm Fix: Once the developers have fixed the issues, confirm they have and that no new issues have been caused.
Types of AdHoc Testing
There are various types of informal testing techniques. The most common are:
- Buddy Testing: Buddy testing is when two members of the team (usually a developer and a tester) work together to find issues with the same application. This can help improve communication and gives the developers a better understanding of the issue.
- Pair Testing: Pair testing is when two testers work together when testing. One person performs the actions whilst the other suggests ideas and identifies any potential issues. This helps when testing complex features.
- Monkey Testing: Monkey testing is when testers enter random inputs and do unexpected actions. This helps to see how the application behaves in unusual situations. For example, typing random characters into a registration form or pressing a button repeatedly to see if the application crashes.
Benefits of AdHoc Testing
There are many benefits to using this testing technique, especially when wanting to find unexpected issues quickly.
- Time Saving: As there is no detailed test case to create, we can start testing straight away.
- Find Unexpected Bugs: As the testers can freely interact with the application, issues can be found that may not be included in a structured testing environment.
- Less Resources: There doesn’t need to be much documentation or specialized testing tools. Just basic knowledge of the application and testing.
- Improved User Experience: Testers can interact with the software in different ways to find confusing navigation, unexpected reactions, and usability issues.
- Can be used with other testing methods: Can be used with manual, functional, and regression testing.
Disadvantages of Ad Hoc Testing
Whilst there are benefits to using this method, there are some disadvantages:
- No documentation: If there isn’t any proper documentation, it can be hard to understand what was tested.
- Unpredictable coverage: Testers can miss key features as there is no set testing.
- Hard to recreate: If there are no notes on how to recreate the issue, it can be difficult to do so.
- Experience: More experienced testers are more likely to find meaningful issues.
- Not easily tracked: If there is no organized way of recording the testing, it can be difficult to track progress.
It is important to note any issues found and use structured testing methods when coverage needs to be consistent.
Best Practice
To get the best results, testers should:
- Know what the main functions of the application are.
- Focus on areas where errors could impact important user functions.
- Use unusual inputs and unexpected user actions.
- Test different navigation routes and application features.
- Note down any key issues with clear steps to recreate.
- Work with developers to understand and fix the issues.
- Use a mix of informal and structured testing techniques.
When testing a banking application, testers could test how the login works, form validation, confirmation of transactions, and timeout of sessions. Taking note of any unexpected outcomes will help developers to investigate and fix any issues quickly.
Final Thoughts
Adhoc testing is a great technique to use when testing software. It lets testers interact with the application outside of test cases to find unexpected issues.
Whilst it can’t replace structured testing methods, it can be used effectively with them. Using testers’ experience, creativity, and proper reporting of issues can help improve the quality of the software, find any hidden issues, and provide a more reliable application.
