0% found this document useful (0 votes)
11 views3 pages

A Strategic Review of Exploratory Testing Techniques

Uploaded by

phuonglediem1990
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views3 pages

A Strategic Review of Exploratory Testing Techniques

Uploaded by

phuonglediem1990
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

International Journal of Engineering Trends and Technology (IJETT) – Volume 10 Number 12 - Apr 2014

A Strategic Review of Exploratory Testing


Techniques.
Syed Shujauddin Sameer#1
#
Lecturer,Department of Computer Science ,King Khaled University,Abha
Saudi Arabia

Abstract— Building quality software is always an important part


of SDLC stages. Testing builds a confidence to examine the A. Exploratory Testing in Small Domain
quality of software developed. Exploratory testing requires the Exploratory testing is an experience-based testing approach
use of knowledge of the testers. There is a requirement to reduce that differs from the highly document-driven test-case-based
the involved in the testing .we provide an overview of testing approach [1].Exploratory testing can be defined as a
exploratory testing with the basic knowledge to the introduction
of heuristics for efficient testing.
simultaneous learning approach that includes test design, and
test execution. The tests are not defined in advance in an
established test plan, but are dynamically designed, executed,
Keywords— Testing, Exploratory Testing, Knowledge, and modified [6]. The term exploratory testing was introduced
Heuristics . by Kaner et al. [4]. The Exploratory Testing approach is in
software testing books since the 1970s [2], but mostly referred
to as an “ad hoc approach” or error detection without any
I. INTRODUCTION
description of how to perform it. Exploratory Testing in small
Software development gives rise to software bugs .Bugs can be broken into parts like inputs, state, code paths, user
have always been a part of software development .They keep data, and execution environment. An input is a stimulus
on their interference with every new software. Bug prevention generated from an environment that causes the application to
techniques are developer oriented. Writing code reviews, respond in some manner. Accepting an arbitrarily large
running tool analysis ,unit testing are some of the techniques. number of inputs is usually done in many applications. These
Developers are good at writing the bug detection programs but may vary from tens to hundreds. Software testers must decide
if they were why would the software develop bugs. Every in selecting one input as a better test than another input .It can
software needs some input and output data .The accumulation often team up on software to cause it to fail. The first way that
of data over a large amount of time leads to the development testers can decide over this problem is based on what the
of bugs. Humans can test manually the software by developers think constitutes an illegal input. Developers have
themselves. Test-case design techniques are for ensuring three basic mechanisms to define error handlers: input filters,
coverage, and finding of different types of error [2], [3], input checks, and exceptions. A State refers to the
Event though manual testing finds many of the software environment of the system. We need to understand the way in
bugs when compared with automated testing [13].Many which the input travels from one stage to the other stage in the
manual testers are guided by scripts, written in advance, that system. This will help us to find the error if caused at a certain
guide input selection and dictate how the software’s results are point in the system. This can simply be understood as the state
to be checked for correctness. When the scripts are removed may change in a mobile system as to whether the operator is
entirely, the process is called exploratory testing. The testers in within the range, or the device does not receive the calls. A
are free to interact with the application in whatever way they code path is a sequence of code statements beginning with
want to find the flaws in the system. A Documentation is invocation of the software. Branching condition like If then
often required for the Testers using exploratory methods. Test else, switch statements can also cause a tester to be mislead in
results, test cases, and test documentation are generated as understanding the fault.
tests are being performed instead of being documented ahead Whenever software is expected to interact with large data
of time in a test plan. Exploratory testing is especially suited stores, such as a database or complex set of user files, testers
to modern web application development in agile environment. have the unenviable task of trying to replicate those data
. stores in the test lab. Now a days the data is increasing in
large amounts and stores in large data bases like data
II. EXPLORATORY SOFTWARE TESTING
warehouses. Real user databases evolve over months and
The Exploratory testing risk’s wasting a great deal of years as data is added and modified, and they can grow very
time wandering around an application looking for things to large. We may also need to maintain the privacy for the
test and trying to find bugs. This may result in a lot of time sensitive data, as most of the data may turn out to be personal
being spent finding no good results. To understand avoiding data which should not be relieved to the outside world .Finally
such situation we need to know Exploratory testing in small, the environment also holds a major part for the system in
large and hybrid environment which the application is developed.

ISSN: 2231-5381 http://www.ijettjournal.org Page 590


International Journal of Engineering Trends and Technology (IJETT) – Volume 10 Number 12 - Apr 2014

B. Exploratory Testing in Larger Domain otherwise limited scenarios. When I implement such strategy
Feature interaction, data flows, and choosing paths are on my students they all end up wandering as a new tourist and
some of the larger decisions that testers are to make through really finding the flaws. But they stick up to the type of data in
the user interface .Here we need to gain an understanding the input box, Length of the data, size of the data.
about how the application works, how bugs can be detected,
and how to force the software to express its capabilities. D. Heuristic Knowledge
Metaphors can be a powerful guide for software testers. A
metaphor will act as a guide to help testers choose the right One way of applying knowledge in software testing is to
input, data, states, code paths, and environment settings to get use it as a test oracle. A test oracle is a concept referring to a
the most out of their testing time and budget. The name of the method used to distinguish between a correct and an incorrect
metaphors itself helps us understand the reality behind it result during software testing [3], [6], [7], [8].Recognizing
which is very useful in testing. failure is one of the most crucial activities in testing, and the
Some examples include tourist metaphor is just as a tourist existence of a test oracle is recognized as a fundamental
travels around different places exploring, entering in requirement in all kinds of testing [7], [8],[9], [10].
mysterious lanes finding new routes will help them a lot. This The main idea of Exploratory testing is that a tester uses
requires a lot of planning, Just like it Exploratory testing also any available source of information available at the context
should be applied as if we do not know where to end .We keep of the system. We need to discuss the different types of
on testing the things as they turn up till we reach our knowledge and search for their application in different parts of
solution .Like a tourist who finds new routes we also end up the system. Faults have to be identified within the system and
finding new faults in the system. Some of the tours may be rectification should be carried on. Searching a strong
through business districts, historical districts, tourist districts, Hypothesis is essential in Exploratory Testing . Analysis
entertainment districts, hotel districts , Landmark tour, revealed three types of knowledge that testers utilized to
intellectual tour[14] . Tours give a structure to testing and help recognize failures in the observed sessions.[1]. There is also a
guide testers to more interesting and relevant scenarios than question of application of knowledge to exploratory testing.
they would ordinarily come up with using only freestyle Based on analysis, there are two main approaches. First, the
testing. A goal is required to be set for the testers, by giving a most common way of applying knowledge was using
goal to testers, the tours help guide them through interesting knowledge as a test oracle . A predefined set of assumptions
usage paths that tend to be more sophisticated than traditional of results .In real testing, the outcome is predicted and
feature-oriented testing where an individual tester will try to documented before the test is run [3]. In practice,
test a single feature in isolation. requirements, specifications, and test cases, are not more
A tester can also create his own strategies to be applied to perfect in terms of accuracy. The test results are evaluated in
the application to find the faults. The inputs should be handled practice using the human oracle [11], [12].
very carefully not giving rise to new bugs. Applying knowledge as an oracle differs clearly from the
traditional test-case based paradigm in which the expected
result is specified prior to test execution. Knowledge can be
C. Hybrid Exploratory Testing categorized into domain knowledge, system knowledge, and
Here we try and explore some traditional scenarios to be generic software engineering knowledge.
induced to the strict working strategy of testing. Based on the These issues can still be enhanced by the application of
above two environments of testing in small and large we may heuristics .Heuristics can be defined as the process that
include describing the requirements of domain ,demonstrate requires a number of testers to find the usability problems in
how the feature works ,demonstrating integration with new various scenario’s of interfaces and also most important
data, demonstrating things that could go wrong. Scenario require less amount of time .It is one of most important
operators are constructs that operate on steps within a scenario mechanism and used in both industry and academics .The
to inject variation into the scenario. When we apply a scenario testers should become familiar with the environment first.
operator to an existing scenario, we get a new scenario that we This will help them to understand the purpose of their work.
call a derived scenario. The tester here can increase the The domain should be made familiar to the testers. The testers
number of records to be tested, repeat some of the records should add new heuristics as they get deep in their effort and
many number of times, make use of additional most important they should validate them whenever required.
inputs ,optional steps can be removed, finding more than one Usability testing in makes use of end user representatives who
way to do the step with the optimal one .Few tours that can perform a set of carefully designed task. The heuristical
be included may be landmark tour like selecting a specific approach finds more usablity problems when compared to
feature landmarks out of the scenario. Now randomize the other testing strategies .The testers are free to use their
order of the landmarks so that it is different than the original knowledge in many scenarios and find new ways to explore
scenario. Run some tests with the new order of landmark faults.It is the responsibility of the tester to ensure that no path
features and repeat this process as often as you think is is lead unexplored. Heuristic approach would help him in a lot
necessary. Scenarios can represent an excellent starting point of extent.
for exploration, and exploration can add valuable variation to

ISSN: 2231-5381 http://www.ijettjournal.org Page 591


International Journal of Engineering Trends and Technology (IJETT) – Volume 10 Number 12 - Apr 2014

Eng.,vol. 4, no. 4, pp. 293-298, July 1978.


[8] L. Baresi and M. Young, “Test Oracles,” Technical
Report CISTR-01-02, Dept. of Computer and
Information Science, Univ. of Oregon, Eugene, Aug.
Exploratory Testing 2001
[9] J.A. Whittaker, “What Is Software Testing? and Why Is
It So Hard?”IEEE Software,vol. 17, no. 1, pp. 70-79,
Jan./Feb. 2000.
Small domain [10] A. Memon, I. Banerjee, and A. Nagarajan, “What Test
Oracle Should I Use for Effective GUI Testing?”Proc.
18th Int’l Conf. Automated Software Eng.,pp. 164-173,
2003.
Larger Domain [11] D. Martin, J. Rooksby, M. Rouncefield, and I.
Sommerville,‘Good’ Organisational Reasons for
‘Bad’ Software Testing: An Ethnographic Study of
Testing in a Small Software Company,”Proc. Int’l
Hybrid Testing Conf. Software Eng.,pp. 602-611, 2007.
[12] J. Rooksby, M. Rouncefield, and I. Sommerville,
“Testing in the Wild: The Social and Organisational
Dimensions of Real WorldPractice,”Computer
Heuristics Supported Cooperative Work,vol. 18, nos. 5/6,
pp. 559-580, 2009.
[13] Defect Detection Efficiency: Test Case Based vs. Ex-p
loratory Testing Juha Itkonen, Mika V. Mäntylä, and
Casper Lassenius Proceedings of International
Fig 1.Classification of Exploratory Testing. Symposium on Empirical Soft-ware Engineering and
Measurement, 2007, pp. 61–70.
[14] Exploratory Software Testing ,James A.Whittaker.
The above Figure aids us in understanding Exploratory 1965.
Testing in various domains.

III.CONCLUSION
Exploratory testing is an essential approach from the low
levels to the high levels. It is efficient way to understand the
domain knowledge. Software failures aid in developing an
efficient product at the end. Exploratory testing has many
more aspects to be explored .Experience and knowledge play
a very important role in it. Here we have focused on some
basic aspects of Exploratory testing with a application of
knowledge ,failure recognition .Application of heuristical
approach should be at a greater depth to analyse exploratory
testing with results. Further this study will help the
researchers to get an overview of the exploratory testing
techniques helping them to perform better analysis of
software.

REFERENCES

[1] The Role of the Tester’s Knowledge in Exploratory Software Testing Juha
Itkonen,Member, IEEE,MikaV.Ma¨ntyla¨, Member, IEEE, and Casper
Lassenius,Member, IEEE. IEEE Trans on Software Engineering, vol.
39, No. 5, May 2013
[2] G.J. Myers,The Art of Software Testing.John Wiley & Sons, 1979.
[3] B. Beizer,Software Testing Techniques.Van Nostrand Reinhold,1990
[4] C. Kaner, J. Falk, and H.Q. Nguyen,Testing Computer Software.John
Wiley & Sons, Inc., 1999
[5] J.B. Goodenough and S.L. Gerhart, “Toward a Theory
of Test Data Selection,”IEEE Trans. Software Eng., vol.1, no. 2,
pp. 156-173,Mar 1975
[6] A. Abran, J.W. Moore, P. Bourque, R. Dupuis, and L.L.
Tripp,Guide to the Software Engineering Body of
Knowledge.IEEE CS, 2004.
[7] W. Howden, “Theoretical and Empirical Studies of
Program Testing,”IEEE Trans. Software

ISSN: 2231-5381 http://www.ijettjournal.org Page 592

You might also like