Professional Documents
Culture Documents
tmpC738 TMP
tmpC738 TMP
tmpC738 TMP
Raghava Nallanthighal
Innocent Mapanga
Prudence Kadebu
Department of Information
Technology
Department of Information
Technology
Department of Computer
Science
Department of Software
Engineering
Harare, Zimbabwe
wmakondo@hit.ac.zw
Harare, Zimbabwe
imapanga@hit.ac.zw
Harare, Zimbabwe
pkadebu@hit.ac.zw
I. INTRODUCTION
Software testing has always been a crucial phase in the
software development life cycle. The previous studies has
witnessed many software projects failures that result from lack
of proper testing. Software that has been improperly tested can
easily break a companys reputation. A better relationship
between testing and requirements would finally result in
enhanced tests and better-quality software [1]. Consequently,
test methods were established to mitigate this limitation [2].
When the flow of requirements is parallel to the
development phase, the systematic test case based approach is
considered difficult to use owing to the constant requirement
change while designing tests [3]. Hence, an approach such as
ET can be worthwhile for such environments, where the
requirements elicitation has not been completed early in the
software development process.
ET is a software testing approach, at times called ad-hoc
testing [4] which is not dependent on test cases documentation
prior to execution. Today, most researchers defined ET as an
activity where a tester learns, design and execute the tests
simultaneously [4]. To summarize, this means the tester is
discovering the application, studying its functions and running
tests based on his/her knowledge. There is no logical method
followed as in scripted testing that guides the tester the test steps
to run the tests. The tester himself controls the test designs
while running and studying the application under test. This
supports designing effective test cases while exploring
unrealized parts of the software.
In modern days, this approach has gained attention and
reputation particularly among professional software testers [5].
The ET term was initially coined by Bach and Kaner in 1983
and it was adopted by many professional testers [6]. ET is used
in combination with other testing techniques in industry [6]
which includes, Risk Based Testing, Cross functional testing,
Requirements based testing, Pair wise testing, Acceptance
testing, Checklist based testing, Scripted Testing, Usability
Testing, Security Testing and Boundary Value Analysis.
Exploring means focused wandering, navigating through a
space with a general assignment, but without a pre-defined
route. Exploration encompasses on going studying and
execution of tests [7].
In the context of ET, human knowledge and intelligence is
applied as a test oracle. A test oracle is defined as a technique
used to differentiate an accurate result from an inaccurate result
during testing [8]. The challenge of finding a reliable oracle is
referred to as the oracle problem.
In practice, the identification of failures is left to be decided
by a human tester [9]. Therefore, the oracle problem is very
important in ET and solved using the testers knowledge and
skills. The shortcoming of human oracle is that humans are
fallible, that is exploratory testers do not always detect a failure
even when a test case reveals it. Depending on human testers to
evaluate program behaviour has also some problems such as
cost and correctness. How could this be tackled with some
subroutines to do such work?
The motivation for work done in ET is its exponential
adoption by many software development firms. ET has been
recommended as a worthwhile approach due to numerous
advantages it has [6], [7]. The quality of the software under test
(SUT) is highly dependent on the ability of the tester. The
exploratory tester may not properly understand the
requirements and specifications of the software and
consequently endangers the quality of the product by judging
correct results as wrong or wrong results as correct. Sometimes
1166
2016 Intl. Conference on Advances in Computing, Communications and Informatics (ICACCI), Sept. 21-24, 2016, Jaipur, India
1167
2016 Intl. Conference on Advances in Computing, Communications and Informatics (ICACCI), Sept. 21-24, 2016, Jaipur, India
Testers
knowledge or
pre-designed
tests
Training
dataset
Inputs
Simulated
AUT
Testing
Phase
Training
Phase
Input
Input
Simulated
AUT
n inputs
AUT
Data
Transformation
Data
Transformation
No. hidden
neurons
No. output
neurons
MLP NN
as a Test
Oracle
Trained
MLP NN
as a Test
Oracle
Expected
output
Actual
output
Human
Comparator
Bias
Decision:
Correct
Or
Incorrect
(1)
(2)
1168
= )
(3)
2016 Intl. Conference on Advances in Computing, Communications and Informatics (ICACCI), Sept. 21-24, 2016, Jaipur, India
C. Activation functions
Activation functions decides how the neurons and the
network should process signals. The function determine when
the neuron should be active depending on the given threshold
when reached or not. We applied linear, sigmoid and
hyperbolic tangent activation functions. For training process,
experiments were carried out to evaluate the activation
functions that address the problem better.
A sigmoid activation function uses a sigmoid function and
is defined as follows:
(4)
(5)
(6)
(11)
written as
(10)
(9)
otherwise,
(12)
(13)
1169
2016 Intl. Conference on Advances in Computing, Communications and Informatics (ICACCI), Sept. 21-24, 2016, Jaipur, India
No.
Code
1
2
3
4
5
6
7
8
9
Network
Code
sig-sig
sig-tanh
sig-pul
pul-pul
Pul-sig
pul-pul
tanh-tanh
tanh-pul
tanh-sig
Class 0
Min
0.09107
0.01454
0.007612
0.06734
0.073464
Class 1
Max
Min
0.1754
0.8583
0.0437
0.9171
Infinite training
Infinite training
Infinite training
Infinite training
0.08501
0.9291
0.09352
0.41424
0.86547
Max
0.8786
0.9395
0.953
0.89706
1170
2016 Intl. Conference on Advances in Computing, Communications and Informatics (ICACCI), Sept. 21-24, 2016, Jaipur, India
1171