<aside>
đź’ˇ
This will only contain notes from the book that I think I’ll find helpful in my bug hunting. You should read the entire book if you want takeaways that’ll suit you.
</aside>
Exploratory Testing:
- Testers may interact with the application in whatever way they want and use the information the application provides to react, change course, and generally explore the application’s functionality without restraint. This process is called Exploratory testing.
<aside>
đź’ˇ
thoughts:
while exploring the application, there are several choices which takes us further into the application. in that case - keep a list of unexplored paths so that you can explore them when you are done with one.
</aside>
Testing is infinite; we’re never really done, so we must take care to prioritize tasks and do the most important things first.
Don’t allow stubbornness to force you into testing the same paths over and over without any real hope of finding a bug or exploring new territory.
Exploratory Testing in the Small
- Decision-making at the Micro Level:
- Exploratory testing requires testers to make numerous, tiny decisions, such as selecting input values or testing specific paths through an interface.
- This is referred to as “testing in the small”, as it focuses on specific interactions with in a given testing scenario.
- Guiding Exploratory Testing:
- Input Variation: Try testing with varying inputs such as valid, invalid, bounadary, and random values.
- Environment and state: testing should account for different operating env or states.
- User interactions and code paths: testing should vary user actions (like clicks, scrolls, or keyboard inputs) and follow different code paths.
đź’ˇ if you feel like you are wandering around looking for shadows, stop testing and try to establish some better guiding goals for your effort.
- For an explorer, having a goal to pursue is better than just wandering around.
- Example goals:
- To gain an understanding of how an application works, what its interface looks like, and what functionality it implements.
- To force the software to exhibit its capabilities
- To find bugs.