What is Exploratory Testing?

In this article, we are going to learn some basic idea on exploratory testing.

What is exploratory testing and when should it be done?
It is a form of an unscripted testing that is used to explore the system's behavior. It has concurrent design and execution. Usually
testers may be learning the software as they test it. It is one kind of search & find approach. Like exploring a system( that why it is called exploratory testing). People with good R&D skills, good finding capacity like detectives can be a good exploratory tester. 
It will be inappropriate to mix up with Exploratory testing and "Ad hoc" testing. "Ad hoc" testing refers to search for bugs by any person where an Exploratory testing refers to add intelligence, skills and techniques with "ad hoc" approach by a professional tester.

Typically Exploratory testing is effect when
-System’s behavior or specification is poorly defined
-A lot of scripted testing are left to complete.
-Crucial time is going on before release.



Exploratory testing also helpful when

-Bug finding rates becomes less and team want some interesting bugs to come up.
-New SQA member is waiting to get in to the team

Exploratory Mindset while testing :
- Be Stupid and Simple : Believe it or not, to get more bugs on usibility issues, the more stupaid you behave , the more bug you can find. This stupid &simple means how simple & stupid way you think and measure the software.
- Take product Ownership : To get more bugs, you should be able to take responsibilities of the whole product. You should have the feelings that you are the product owner, you will justify how your product should behave that follows the requirement. Think big picture, take care of small things, perform like an end user.
- Compare with similar System : If you can compare functionality with a similar system , it would be more convenient to find more interesting issues.
- Take reference with a same system existed : If you can refer the functionality with a system which exists , running at live, customers are using, that would be a great to find the behavioral , functionality problems or enhancements.
- Try to Break the system: Keep the mind set that you have to play with the system like a game, like a goal to find the weak point, try to break the system logically/Illogically( sometimes you may need to be extreme to find tolerance)
- Smell & Note : The best way to do Exploratory testing is to keep note on every issue or dis similarities. Smell & note any problem that comes in font of you or in your mind(you sense it). Use this list later on while dong system testing or functional testing, This approach can find many serious issues. 

In a conclusion , I should say, this is from what I have experienced with. I will incrementally input my new ideas and thoughts. 
...Thanks....:) ....