Logo

Navigation
  • Home
  • Services
    • ERP Solutions
    • Implementation Solutions
    • Support and Maintenance Solutions
    • Custom Solutions
    • Upgrade Solutions
    • Training and Mentoring
    • Web Solutions
    • Production Support
    • Architecture Designing
    • Independent Validation and Testing Services
    • Infrastructure Management
  • Expertise
    • Microsoft Development Expertise
    • Mobile Development
    • SQL Server Database and BI
    • SAP BI, SAP Hana, SAP BO
    • Oracle and BI
    • Oracle RAC
  • Technical Training
    • Learn Data Management
      • Business Intelligence
      • Data Mining
      • Data Modeling
      • Data Warehousing
      • Disaster Recovery
    • Learn Concepts
      • Application Development
      • Client Server
      • Cloud Computing Tutorials
      • Cluster Computing
      • CRM Tutorial
      • EDI Tutorials
      • ERP Tutorials
      • NLP
      • OOPS
      • Concepts
      • SOA Tutorial
      • Supply Chain
      • Technology Trends
      • UML
      • Virtualization
      • Web 2.0
    • Learn Java
      • JavaScript Tutorial
      • JSP Tutorials
      • J2EE
    • Learn Microsoft
      • MSAS
      • ASP.NET
      • ASP.NET 2.0
      • C Sharp
      • MS Project Training
      • Silverlight
      • SQL Server 2005
      • VB.NET 2005
    • Learn Networking
      • Networking
      • Wireless
    • Learn Oracle
      • Oracle 10g
      • PL/SQL
      • Oracle 11g Tutorials
      • Oracle 9i
      • Oracle Apps
    • Learn Programming
      • Ajax Tutorial
      • C Language
      • C++ Tutorials
      • CSS Tutorial
      • CSS3 Tutorial
      • JavaScript Tutorial
      • jQuery Tutorial
      • MainFrame
      • PHP Tutorial
      • VBScript Tutorial
      • XML Tutorial
    • Learn Software Testing
      • Software Testing Types
      • SQA
      • Testing
  • Career Training
    • Career Improvement
      • Career Articles
      • Certification Articles
      • Conflict Management
      • Core Skills
      • Decision Making
      • Entrepreneurship
      • Goal Setting
      • Life Skills
      • Performance Development
      • Personal Excellence
      • Personality Development
      • Problem Solving
      • Relationship Management
      • Self Confidence
      • Self Supervision
      • Social Networking
      • Strategic Planning
      • Time Management
    • Education Help
      • Career Tracks
      • Essay Writing
      • Internship Tips
      • Online Education
      • Scholarships
      • Student Loans
    • Managerial Skills
      • Business Communication
      • Business Networking
      • Facilitator Skills
      • Managing Change
      • Marketing Management
      • Meeting Management
      • Process Management
      • Project Management
      • Project Management Life Cycle
      • Project Management Process
      • Project Risk Management
      • Relationship Management
      • Task Management
      • Team Building
      • Virtual Team Management
    • Essential Life Skills
      • Anger Management
      • Anxiety Management
      • Attitude Development
      • Coaching and Mentoring
      • Emotional Intelligence
      • Stress Management
      • Positive Thinking
    • Communication Skills
      • Conversation Skills
      • Cross Culture Competence
      • English Vocabulary
      • Listening Skills
      • Public Speaking Skills
      • Questioning Skills
    • Soft Skills
      • Assertive Skills
      • Influence Skills
      • Leadership Skills
      • Memory Skills
      • People Skills
      • Presentation Skills
    • Finding a Job
      • Etiquette Tips
      • Group Discussions
      • HR Interviews
      • Interview Notes
      • Job Search Tips
      • Resume Tips
      • Sample Resumes
 

What is Exploratory Testing

By Exforsys | on September 12, 2011 |
Software Testing Types

Is exploratory testing similar to an ad-hoc test or monkey testing?  Among software testers, there is admittedly, still some confusion with regard to the term "exploratory testing".  The confusions lie in its technicalities; An exploratory test is almost similar to monkey testing or an ad-hoc testing and these 3 testing methods are unscripted in their nature.

The term ‘exploratory testing’ was first publicly used by Cem Kaner in the book “Testing Computer Software”. Another known pioneer of exploratory testing is James Bach.  The definition provided by Bach states that, “Any testing to the extent that the tester actively controls the design of the tests as those tests are performed and uses information gained while testing to design new and better tests.”

Bach and Kaner define exploratory testing as any testing process that involves simultaneous learning, test design, and test execution. There are many other additional descriptions or definitions of exploratory testing which are more or less rewordings or rephrasing of the definitions provided by Bach and Kaner.

Some of the features of exploratory testing that are quite helpful in understanding the basic details of exploratory testing are listed here below:

  • You can perform both test design and test execution at the same time. Unlike in scripted software testing, the test design is not determined before the start of the test. The tester is free to decide what follows next, based on the outcome of the previous test. Almost all testing steps depend on the skill and know-how of the tester in finding possible errors. This characteristic of exploratory testing is also referred to as concurrence cognition and execution.
    .
  • This test is very informal. There is no standard and prescribed approach for exploratory testing. The tester’s knowledge influences or will decide the kind of approach used for testing. Different testers have different knowledge, skills or expertise depending on their respective experiences and trainings.
    .
  • The tester has the freedom to temporarily stop testing and do advanced researches to learn more and understand the program in a better manner, especially when the information is mandatory for designing the next test. In fact, the tester’s response to the results is very important to the success or failure to detect errors.
    .
  • An exploratory test is a journey of many discoveries. One important trait of a good exploratory tester is the curiosity to investigate about the software and the test results. Exploratory testing gives testers the chance to develop his or her creative side.
    .
  • Limited documentation of the actual tests performed or designed based on the results of the previous tests is an added advantage. The complete documentation will distract the tester from conducting the fully loaded exploratory test.
    .
  • It offers lot of value and importance to unearth errors are still misunderstood or undetected. Some testers are not comfortable with an unscripted test procedure like exploratory test, because there would be no control on the kind of testing the product will undergo. Some testers even doubt on the viability of this test.
    .
  • It offers you a situational structure. The course or path taken depends largely on the situation or test results at hand. To be successful, the tester should have the required knowledge to correctly assess the situation and consequently arrive at the right design for the next test.
    .
  • It is learn and work type of testing approach. The tester learns about a product, not just a testing method. To be able to react correctly, the tester must know the entire product very well.

Exploratory testing will be handy and useful for deployment, if the requirements and specifications are incomplete, or when there is a paucity of time. You can use exploratory testing approach to verify and confirm that previous testing was successful in finding the most important defects and errors.

Why do we need Exploratory Testing?

Why testers are trained to conduct exploratory testing? Why do we need exploratory testing?  Although often misunderstood, every tester performs exploratory testing. Basically, the knowledge of exploratory testing will help testers to create robust and better software systems. There are many more reasons that make testing software with exploratory testing very important.

  • While preparing a testing procedure, the author usually conducts exploratory testing to come up with a workable testing script.
    .
  • The lack of/or incomplete requirements or specifications make it difficult to write a testing procedure. Exploratory testing is suitable in this situation, where there is limited knowledge or information about the product.
    .
  • When there is a paucity of time to write a test script or when software testing information is needed immediately, you may be forced to conduct this test. A skilled exploratory tester could design a special test for the specific characteristic to be tested.
    .
  • Repaired units should undergo exploratory testing, until all discrepancies are satisfactorily corrected.

Advantages of Exploratory Testing

There are several advantages and benefits to an exploratory test. Here are some of them:

  • You can introduce it in the early stages of the software development, since there is no restriction on the number of tests you can perform. The tester may design and create the test that is applicable in all stages of development
    .
  • It is flexible and cost effective.
    .
  • It is more productive than scripted testing, because the tester can omit or prevent unnecessary tests, if the preceding tests confirm no further tests are needed. In a scripted test, you should perform and document the whole testing process, regardless of the previous results.
    .
  • Preparation time is very less for preparing testing script.
    .
  • You can find errors and bugs quickly and easily, if you choose to go directly to performing a test that would detect such errors. You can do this exercise based on the software information learned from reliable sources. The tester’s ability to identify the areas where the errors are most likely to occur comes from acquiring knowledge and skills of software testing.
    .
  • Learning, research, design and execution of the test will be stimulating to the investigative mind of the tester. The tester can learn more about the software for testing and can do some research to determine the best design for the next stage, which is to design the test and execute it at the same time.
    .
  • The tester may perform only the tests that are deemed necessary. However, in case potential errors are suspected, the tester has the complete freedom to explore immediately, to ensure that potential concerns have been addressed. This is a real advantage over scripted testing, where the tester tests strictly according to the designed steps or instructions. The tester will focus on the compliance aspect of the testing method rather than observing the preliminary results.

Disadvantages of Exploratory Testing

With all its positive advantages, exploratory testing has some demerits and pitfalls too. Some of them are as follows:

  • The test conducted to catch the errors is not repeatable. This could result in the wastage of money and time, especially when there is are large numbers of software applications that are waiting for testing. The company may assign somebody to document the testing process, as the tester will continue to work on the exploratory testing.
    .
  • An apparent lack of documentation can be a big bottleneck. Test records are important references. Records are solid proofs that the tester can provide to the management.
    .
  • You may need the services of skilled testers to improve the error-detection capability. Expertise is surely a great advantage, but a tester, who is willing to learn about the product and research on the most effective way to proceed with testing, can be a good exploratory tester. An inquisitive mind, with the ability to spot signs of potential troubles is an important asset in exploratory testing.

Software testing is one of the important quality control tools. Testing an application not only screens out non-conforming or sub-standard products, it also becomes the part of the feedback loop to inform the development personnel of possible errors encountered during testing. From the error data provided by the testing group, appropriate corrective measures can be implemented very easily. Testing would also develop the ability to check that the corrective actions have really eliminated the errors previously encountered, and later feedback the results to the developers.

Due to incomplete exploratory testing documentations, the feedback from the developing group will be usually verbal and immediate. As the exploratory testers are not mere testing machine operators, an intelligent discussion about the problems encountered during testing could be exchanged among the team members.

Real-time discussion of the defects and errors encountered is vital to a company’s quality improvement program. This feedback loop will plan to improve the product in terms of quality and cost. Improvement in the product would shorten development time, because of lowered time requirement for trouble shooting and re-testing. Eventually, the cost of software development would become less too.

Exploratory testing could be a powerful tool to detect software errors, depending on how you use it. Exploratory testers should have creativity, knowledge or past information about the product, attention to details, imagination, intuition, and the willingness to learn. The right attitude and proper training, to be able to react correctly and quickly to emerging situations or varying test results are necessary for an effective exploratory testing procedure. It is very important to use both the scripted and the unscripted methods.

In this way, you can balance the weaknesses of scripted testing with the strengths of exploratory testing and vice versa. Exploratory software testing is a powerful and entertaining approach to testing software. In some situations, it can be even more productive and beneficial than scripted testing.

« « C Algorithms – Merge Sort
C Algorithms – Quick Sort » »

Author Description

Avatar

Editorial Team at Exforsys is a team of IT Consulting and Training team led by Chandra Vennapoosa.

Free Training

RSSSubscribe 391 Followers
  • Popular
  • Recent
  • What is Monkey Testing

    December 17, 2011 - 0 Comment
  • What is White Box Testing

    February 22, 2012 - 0 Comment
  • What is Comparison Testing

    June 4, 2011 - 0 Comment
  • What is Mutation Testing

    December 21, 2011 - 0 Comment
  • What is Database Testing

    July 26, 2011 - 0 Comment
  • What is Ad Hoc Testing

    March 24, 2011 - 0 Comment
  • What is Negative Testing

    December 27, 2011 - 0 Comment
  • What is Data Recovery Testing

    January 9, 2012 - 0 Comment
  • What is Alpha Testing

    May 13, 2011 - 0 Comment
  • What is Performance Testing

    January 1, 2012 - 0 Comment
  • What is White Box Testing

    February 22, 2012 - 0 Comment
  • What is Usability Testing

    February 16, 2012 - 0 Comment
  • What is Stress Testing

    February 15, 2012 - 0 Comment
  • What is Static Testing

    February 10, 2012 - 0 Comment
  • What is Smoke Testing

    February 6, 2012 - 0 Comment
  • What is Security Testing

    January 27, 2012 - 0 Comment
  • What is Sanity Testing

    January 23, 2012 - 0 Comment
  • What is Regression Testing

    January 11, 2012 - 0 Comment
  • What is Data Recovery Testing

    January 9, 2012 - 0 Comment
  • What is Performance Testing

    January 1, 2012 - 0 Comment

Exforsys e-Newsletter

ebook
 

Related Articles

  • What is White Box Testing
  • What is Usability Testing
  • What is Stress Testing
  • What is Static Testing
  • What is Smoke Testing

Latest Articles

  • Project Management Techniques
  • Product Development Best Practices
  • Importance of Quality Data Management
  • How to Maximize Quality Assurance
  • Utilizing Effective Quality Assurance Strategies
  • Sitemap
  • Privacy Policy
  • DMCA
  • Trademark Information
  • Contact Us
© 2023. All Rights Reserved.IT Training and Consulting
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptReject Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT