0% found this document useful (0 votes)
23 views11 pages

AComparative Study of Dynamic Software Testing Techniques

research on ai
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)
23 views11 pages

AComparative Study of Dynamic Software Testing Techniques

research on ai
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/ 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/348172351

A Comparative Study Of Dynamic Software Testing Techniques

Article · January 2021


DOI: 10.35444/IJANA.2020.12301

CITATIONS READS

14 9,240

2 authors:

Mubarak Albarka Umar Zhanfang Chen


United Arab Emirates University Changchun University of Science and Technology
21 PUBLICATIONS 177 CITATIONS 37 PUBLICATIONS 312 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Mubarak Albarka Umar on 24 January 2021.

The user has requested enhancement of the downloaded file.


Int. J. Advanced Networking and Applications 4575
Volume: 12 Issue: 03 Pages: 4575-4584(2020) ISSN: 0975-0290

A Comparative Study of Dynamic Software


Testing Techniques
Mubarak Albarka Umar
School of Computer Science and Technology, Changchun University of Science and Technology, Jilin, China
Email: [email protected]
Chen Zhanfang
School of Computer Science and Technology, Changchun University of Science and Technology, Jilin, China
Email: [email protected]
-------------------------------------------------------------------ABSTRACT---------------------------------------------------------------
The growing need for quality software makes software testing a crucial stage in Software Development Lifecycle.
There are many techniques of testing software, however, the choice of a technique to test a given software
remains a major problem. Although, it is impossible to find all errors in software, selecting the right testing
technique can determine the success or failure of a software testing project. Knowing these software testing
techniques and their classification is a vital key in selecting the right technique(s). Software testing can broadly be
classified as static or dynamic, this paper presents a broad comparative study of the various dynamic software
testing techniques. An explanation of the dynamic testing techniques, their advantages and disadvantages, as well
as some of the commonly used types of testing under each technique are presented. Finally, a comparison of the
dynamic testing techniques is also made to enable a clear and definite understanding of the techniques for the
betterment of testing and subsequent improvement in software quality.

Keywords -Software Testing, Software Testing Paradigm, Dynamic Testing Techniques,


TestingTypes, Software Quality.
--------------------------------------------------------------------------------------------------------------------------------------------------
Date of Submission: Nov 6, 2020 Date of Acceptance: Nov 23, 2020
--------------------------------------------------------------------------------------------------------------------------------------------------
1. INTRODUCTION the four testing techniques. The study aims to provide a
clear and definite explanation of the techniques for the
S oftware testing is defined as the process of evaluating a betterment of testing and subsequent improvement in
software program with the intent of finding fault or errors software quality. Some of the contributions of this work
in software. Software testing is mainly performed to include:
achieve the following three aims:  Thorough explanation of all the dynamic
 To ensure that the software program can correctly software testing techniques. Umar[17] is the
perform its intended purpose [1]. closest work to cover most of the dynamic testing
 To verify that the software is fit for use [2]. techniques from the available literature.
 To achieve and maintain software quality as per a  A detailed literature review covering significant
given standard [3], [4]. papers on software testing techniques, their
In Software Development Life Cycle (SDLC), software is common limitations are highlighted and
not considered finished until it has passed its testing comparison of the papers is also made.
phase[5]. Software testing is very important for various The remaining part of this work is organized as follows; a
reasons [6], [7]. The overall purpose of testing software is review of the related studies from the literature along with
not to demonstrate that software is free of errors but to their common limitation is presented in the next Section.
give confidence that the software is working well before Section III provides a brief explanation of the two
installation[1]. There are various approaches of testing software testing approaches, their comparisons, and the
software that can be broadly classified as static or dynamic various activities and/or techniques under each. A broad
[2], [7]–[9]. The former involved methods that are used to overview of the software testing paradigm is also
determine software quality without reference to actual presented. Then Section IV provides a thorough
execution of the program while the later does the same explanation of the four dynamic testing techniques along
thing but with a reference to actual program execution. with the common testing types under each, their pros and
This study focuses on the dynamic testing approach. cons are also identified. A comparison of the testing
The dynamic testing comprises of experience-based techniques is made in Section V and finally, Section VI
testing techniques in addition to the three well-known concludes the study.
techniques of testing software, namely, white box, black
box, and grey box [7]. Precisely, our study is centered on 2. LITERATURE REVIEW
all the dynamic testing techniques, their explanation, Over the years, several works on software testing
advantages and disadvantages, as well as an explanation of techniques were presented in the literature. In this section
some of the commonly used types of testing under each of we review some of the significant works among them,
the dynamic testing approaches and lastly, a comparison of specifically focusing on works that provide a detailed
Int. J. Advanced Networking and Applications 4576
Volume: 12 Issue: 03 Pages: 4575-4584(2020) ISSN: 0975-0290

explanation of all or one of the three main software testing technique knowledge is very limited and is based on
techniques in chronological order. Their common impressions and perceptions. Jamil et al., [14] conducted a
limitations are identified, a comparison of the reviewed review on software testing techniques with the aims of
literature is summarized in Table 1below. discussing as well as improving the existing testing
Jovanovic [10] provides a short description of the two techniques for the better-quality assurance purposes. They
widely known testing techniques – white and black box briefly explain the three testing techniques, in addition to
techniques. Furthermore, the author explains broadly the software release life cycles. The authors also proposed the
various and frequently used forms of testing under each of use of a tool to enhance the existing testing processes.
the two testing techniques. Jovanovic’s work is among the Sneha and Malle[15] researchedsoftware testing
earliest works on software testing techniques and it techniques and software automation testing tools intending
provides the basis of many similar testing research that to explain different testing techniques and types together
follow it, similarly. Khan and Khan [11] performed a with explaining some of the most used automation tools.
study on the three most prevalent and commonly used Their research also highlighted the important role played
software testing techniques for detecting errors. The three by automation tools in comparison to the manual testing
testing techniques are white-box testing, black-box testing, approach in software testing. Syaikhuddin et al., [16]
and grey-box testing. The authors provide a clear conducted a study on conventional software testing with a
description of the techniques along with a brief specific focus on the white-box testing technique, they
explanation of some of the important testing types of each provide a simple explanation and case scenarios of some
testing technique. They also compared the three testing white box testing methods. The authors concluded that it
techniques. Nidhra and Dondeti[12] conduct a study on will be necessary to find an experienced tester to conduct
black-box and white-box testing techniques with the aim the testing process using White Box Testing method due to
of providing a clear explanation of the two different its complexity.Umar[17] presented a comprehensive study
testing techniques, their advantages, and their usefulness. of software testing. The study provides a clear explanation
In conducting their studies, the authors carefully retrieved and shows how the various testing categories, testing
qualitative data, which mainly focus on testing techniques, levels, the three testing techniques, and numerous types of
their types, advantages, and case scenarios, from 29 testing relate to each other. The study provided the
articles and used them in succinctly explaining the testing advantages and disadvantages of various testing methods
techniques as well as the various testing types under those and made some comparisons of different testing levels in
two testing techniques. Kaur and Singh [13] reviewed addition to comparing the three testing techniques. The
software testing techniques intending to analyze and author also highlighted the role played by verification and
compare many types of testing techniques to find out the validation in achieving software quality.
best testing typefor finding errors from a software
program. The authors concluded that the current testing
Table 1 - Literature Reviewed Summary
S/No. Work Testing White Black Grey Experienced-
Dynamic/Static Comparisons
‘Year Levels box box box based
1 [10] ‘09       
2 [11] ‘12       
3 [12] ‘12       
4 [13] ‘14       
5 [14] ‘16       
6 [15] ‘17       
7 [16] ‘18       
8 [17] ‘19       
9 This work       

From the reviewed literature, there exists one common


limitation in all the reviewed papers, it can be seen that 3. SOFTWARE TESTING PARADIGM
none of the papers discussed the experienced-based testing
There are various testing activities and techniques that are
technique. Majority of the existing literature mostly
used in testing software to ensure it performs as expected.
focused on white-box and black-box of dynamic testing
The entire testing activities and techniques can be
techniques, none of them studied all the dynamic testing
classified as either static or dynamic testing [7], [9], they
techniques, or provide a clear classification order of the
are both complementary to each other as they tend to find
various testing types under each technique with a detailed
defects/failures effectively and efficiently. The static
explanation of some of the most used testing types in each
testing is the testing of software or its component at the
technique. This study aims to cover this gap.
specification or implementation level without executing
the software, it is a powerful way of improving the quality
and productivity of software development [7]. About 40%
of software failures estimated to be due to static fault can
Int. J. Advanced Networking and Applications 4577
Volume: 12 Issue: 03 Pages: 4575-4584(2020) ISSN: 0975-0290

be prevented using static testing [9]. On the contrary, the current literature, dynamic testing is referred to as
dynamic testing involves the execution of the software or “testing” while “verification activities” is the term used for
its component with a given set of test cases [7]. It's static testing [2], [8]. Table 2 shows a comparison of the
performed when the software is run and it may begin testing approaches, and Figure 1 provides a graphical view
before the software is 100% complete such as testing a of the software testing paradigm.
particular section of code. Most of the commonly known
types of testing are under dynamic testing; and in most of
Table 2 - Static VS Dynamic Testing [7], [9]
Criteria Static Testing Dynamic Testing
Execution No execution required Required code execution
Test case No test case is used Performed using test cases
Nature Often implicit, like proofreading Very explicit
Test Stub/driver None is required May required either or both
Verification/validation Involves verification process Involves validation process
Active/passive A form of Passive testing Active testing
Manual/automated Usually performed manually Performed mostly using automation tools
Main goal Seeks to find defects in software Aimed at finding software failures
Cost Low cost of finding and fixing defects High cost of finding and fixing failures
Begin before completion of the software,
Execution time Can be performed before compilation usually on the smallest executable code
section of a software.
Can be performed on software source
code, design documents and models, Only performable on software source
Target component
functional and requirement specifications, code.
and any other documents.

The dynamic testing involves any type of testing activity


which requires running the software program or code [9].
White-box, black-box, and grey-box are three well-known
forms of testing that require code execution, along with
experienced-based testing they formed the four main
dynamic testing techniques [7]. Any type of testing that
requires code execution can be categorized in any of the
aforementioned techniques. Each of the types of testing
techniques determines the strategy that can be used in
developing test cases for conducting the testing and in
analyzing test results to achieve more effective testing[2].
They help identify test conditions that are otherwise
difficult to recognize. There are several kinds of testing
under each technique with each covering different aspects
of software to reveal its quality. Utilizing all the testing
techniques in testing a given software is not possible, but a
tester can select and use more than one technique
depending on the testing requirements, software type,
budget, and time constraint. The higher the number of Figure 1 - Software Testing Paradigm [7], [17]
testing technique types combine, the better the testing
result, coverage, and quality [10]. This study thoroughly 4. DYNAMIC TESTING TECHNIQUES
discusses all the dynamic testing techniques, the various In software engineering, dynamic testing is a form of
types of testing under each, their advantages and testing the dynamic behavior of code to examine the
disadvantages, and a comparison of the techniques on physical response from the software to variables that are
many grounds is performed. not constant and change with time. In dynamic testing, the
software must be compiled and run to check how it will
perform in a run-time environment. It involves giving
input values to the software and checking if the output is
as expected by executing specific test cases which can be
done manually or with the use of an automated
process[18]. All the testing levels utilize dynamic testing
and most of the testing activities in software testing are
based on a dynamic testing approach. Specification-based,
Structured-based, Translucent, and Experienced-based
Int. J. Advanced Networking and Applications 4578
Volume: 12 Issue: 03 Pages: 4575-4584(2020) ISSN: 0975-0290

testing are the four major testing techniques [9], [17]. Structured-Based Testing Types
Table 3 shows the advantages and disadvantages of the Some structured-based testing types include Control Flow,
dynamic testing approach. Data flow, Branch, Loop, Path Testing [19]. Some
commonly used structured-based testing types are
Table 3 - Pros and Cons of Dynamic Testing discussed below.
Advantages Disadvantages
Very time consuming
Can identify weak area in because of the need to
the runtime environment execute the software
program often
Supports application
analysis even if the tester Hard to find trained
does not have an actual dynamic test professionals
code
Hard to track down the
Can verify the correctness
vulnerabilities in the code,
of static testing as well as
and it takes longer to fix
find vulnerabilities that
the problem. Therefore, Figure 3 - Structured-Based Testing Types
are difficult to find with
fixing bugs becomes
static testing.
expensive 4.1.1. Control-Flow Testing
Control flow testing is a type of structured-based testing
4.1. Structured-Based Testing that essentially checks the flow of control and order of
This is a dynamic testing technique in which internal executionof software using a control flow graph (CFG). It
structure and implementation of software under test are selects paths, nodes, and conditions from the CFG, and
known to the tester. Structured-based testing required full test cases are designed for executing these paths,with each
knowledge of source code because test cases selection is path, node, or statements being traversed at least once
grounded on the implementation of software entity, during the testing process. Studying the control structure
specifically the internal view of the system and tester’s of the software is important in selecting and designing test
programming skills are used to design test cases [12]. cases [20]. Typically,a test case is anentire path from entry
Tester selects inputs to exercise program paths and to exit nodes of the CFG. The selected set of paths are
compare the output with the expected output, the test used to achieve a certain degree of testing thoroughness.
oracle. Structured-based testing, although usually done at Control-flow testing is most applicable at the unit level of
the unit level, is also performed at integration and system software [21].
levels of the software testing process. Structured-based
testing is also calledWhite Box, Transparent Box, Glass A typical CFG of a program comprises a set of nodes and
Box, Clear Box, Logic Driven, Open Box Testing. edges, with each node representing a set of statements.
There are five types of CFG nodes, viz.: unique entry and
exit nodes, decision node (containing a conditional
statement that can havea minimum of 2 control branches
(such as a switch or if statements)), then merge node
(which mostly represent a point where multiple control
branches merge), and statement node having a sequence of
statements. The control must flow from the first statement
and exit from the last statement, and the CFG may have an
Figure 2 - Structured-Based Testing additional edge between nodes for the reverse order flow
of control (i.e. from the last to the first statement) [22].
Table 4 – Pros and Cons of Structure-Based Testing There are several conventions for CFG models with subtle
Advantages Disadvantages differences (e.g., hierarchical CFGs, concurrent CFGs).
Specialized tools are Control-flow testing supports the following test coverage
Code optimization can criteria [22]:
required such as debugging
be performed
tools and code analyzers.  Statement/Node Coverage:Executes each statement in
Easy to identify data the program at least once
and cover more test It’s often expensive and  Edge Coverage: Executes each statement in the
cases due to tester’s difficult to maintain program at least once using all possible outcomes at
knowledge of the code. least once on every decision in the program.
Impossible to find and test  Condition Coverage: Executes each statement in the
Errors in hidden codes all the hidden error and program at least once using all possible outcomes at
are revealed deal with them without least once on every condition in each decision.
going out of time
Int. J. Advanced Networking and Applications 4579
Volume: 12 Issue: 03 Pages: 4575-4584(2020) ISSN: 0975-0290

Path Coverage: Executes each complete path in the All-du-paths (ADUP) coverage: which covers all paths
program at least once. Except for loops, which usually has between definitions and uses for each def-use pair. It is
an infinite number of complete paths. thesuperset of all other data flow testing strategies and the
strongest data-flow testing strategy. Moreover, this
Table 5 – Pros and Cons of Control-Flow Testing strategy requires the greatest number of paths for testing.
Advantages Disadvantages
Cannot detect Table 6 – Pros and Cons of Data-Flow Testing
Catches 50% of all bugs specification errors as Advantage Disadvantage
caught during unit testing well as Interface Can define intermediary
Unscalable Data-Flow
[21] mismatches and Control flow analysis
Analysis algorithm for
mistakes criteria between all-nodes
large real-world programs
Very effective testing and all-paths testing
Cannot catch all
method for code that follows Test case design
initialization mistakes Handles variable definition
unstructured programming difficulties compared with
and usage
Enable experienced testers to Time-consuming and control flow testing.
bypass drawing CFG by required Infeasible test objectives
doing path selection on the programming It spans the gap between all which might lead to
source knowledge paths and branch testing wastage of time on testing
in vain [24].
4.1.2. Data-Flow Testing Can have an infinite
Identify multiple variable
Data-flow testing is a type ofstructured-based testing in number of paths due to
declarations
which Control flow graph (CFG) paths are used to detect loops
inappropriate definition or usage of data in predicates,
computations, and termination (killing). It examines
patterns in which a piece of data is used to identifies 4.2. Specification-Based Testing
potential bugs [20]. Data flow testing searches for This is a dynamic testing technique in which the internal
unreasonable things that can happen to data. Data flow structure and implementation of software under test are
anomalies are identified based on the associations between not known to the tester, and it can be functional (such as
variables and values (unused initialized variables or integration testing) or non-functional (such as performance
uninitialized used variables). Data flow testing focuses on testing), though usually functional. It is called
variables definition, use occurrence, and both predicate specification-based because test cases are built around
and computational use at different points within the requirement specifications and user stories. The
program. There are two main data flow testingforms:(1) specification-based testing emphasizes evaluating the
define/use testing which uses some simple rules and test fundamental aspects of software using thorough test cases,
coverage metrics, and (2) program slices that use segments and generally, on maintaining the integrity of external
of a program [23]. Data flow testing use the following test information [19]. For a given test case, the tester verifies
coverage criteria in creating test cases for the test [20]: proper acceptance of inputs and correct production of
 All-defs (AD) coverage: which has a path from every outputs against its test oracle. Specification-based
definition to at least one use of that definition testingcan be applied at all levels of software testing
 All-uses (AU) coverage: in which for every use of processes such as Unit, Integration, System and
variable, there is at least one path from the definition Acceptance Testing levels, although done mostly on
to its use. System testing and Integration testing.This testing is also
 All-c-uses (ACU) coverage: in which for every called Opaque, Functional, Black-box, Close-box,
variable, there is a path from each of its definition to Behavioral, and Input-Output testing.
each of its c-use,any defined variable with no
subsequent c-use is dropped from contention.
 All-c-uses/some-p-uses (ACU+P) coverage: in which
for every variable, there is a path from each of its
definition to each of its c-use. p-use is considered if
there is any defined variable with no c-use following
it.
 All-p-uses (APU) coverage: in which for every
variable, there is a path from each of its definition to
each of its p-use, any defined variable with no
subsequent p-use is dropped from contention.
 All-p-uses/some-c-uses (APU+C) coverage: in which Figure 4 - Specification-Based Testing
for every variable, there is a path from each of its
definition to each of its p-use. c-use is considered if
there is any defined variable with no p-use following
it.
Int. J. Advanced Networking and Applications 4580
Volume: 12 Issue: 03 Pages: 4575-4584(2020) ISSN: 0975-0290

Table 7 – Pros and Cons of Black-box Testing Table 8 – Pros and Cons of Equivalence Partitioning
Advantages Disadvantages Testing
Code knowledge is not Advantages Disadvantages
Limited coverage, few test
required, tester’s Provide a sense of complete Suitable only for range-
scenarios are
perception is very testing and eradicates the wise and discrete values
designed/performed.
simple need for exhaustive testing input data
User’s and developer’s Some parts of the backend are Enables large domain of
Assumes that the data in
view are separate not tested at all. inputs or outputs coverage
the same equivalence class
Access to code is Inefficient testing due to the with a smaller subset
is processed in the same
unrequired, quicker limited knowledge of code selected from an
way by the system
test case development possesses by a tester. equivalence class
Test cases are difficult to Can’t handle boundary
Efficient and suitable Avoid test redundancy by
design without clear value errors. Need to be
for large parts of code selecting a subset of test
specification supplemented by boundary
inputs from each class.
value analysis
Specification-Based Testing Types
Some specification-based testing types include 4.2.2. Boundary Value Analysis Testing (BVA)
equivalence Partitioning, Cause-Effect Graph, Fuzzing, This is a specification-based testing technique that aims at
Boundary Value Analysis, Decision Table, State finding software errors at the boundaries of equivalence
Transition, Orthogonal Array, and All Pair Testing [11]. classes. Unlike the Equivalence Partitioning technique that
Some common specification-based testing types are uses only the input domainin creating test cases, the BVA
discussed below. uses both input and output domains. The BVA
complements EPtesting such that while EP tests program
with test cases from within equivalence classes, the BVA
focuses on testingthe program using test cases at and near
the boundaries of equivalence classes [25]. Furthermore,
test cases derived using either of the two techniques may
overlap.
Table 9 – Pros and Cons of Boundary Value Analysis
Testing
Advantages Disadvantages
Complements Equivalence
Partitioning testing by Generate a high number
handling equivalence class of test cases
boundary errors.
Works well with variables Can’t be used for
that represent bounded Boolean and logical
physical quantities variables
Figure 5 - Specification-Based Testing Types Can be used at unit, Function nature and
integration, system and variable meaning are not
4.2.1. Equivalence Partitioning Testing (EP) acceptance test levels considered
This is a specification-based testing technique that Computationally less costly in Not that useful for
dividesthe input domain into different equivalence classes creating test cases strongly-typed languages
to reduce the number of test cases andselects one element
from each equivalence class (EC) as a test case. It is used 4.3. Translucent Testing
to avoid test redundancy and give a sense of complete Translucent testing also known asGrey Box testing, is
testingsince exhaustive testing is not possible. EC Testing another dynamic testing technique that takes the
can be either weak or strong. In Weak Equivalence Class straightforward technique approach of specification-based
Testing (WECT), some test cases are defined by choosing testing and combines it with the code-targeted oriented
one variable value from each equivalence class and then testing approach of structured-based testing. Some
taking the maximum value from the chosen variables, knowledge, usually of the part to be tested, of the internal
while test cases in Strong Equivalence Class Testing working of the software is required in designing test cases
(SECT) are defined based on the cartesian product of at a specification-based level. More understanding of the
partition class, i.e., testing all interactions of all internal implementation of software is required in grey-
equivalence classes [25]. box testing than in specification-based testing, but less
compared to structured-based testing [19]. Grey box
testing is much more effective in integration testing and is
the best approach for functional or domain testing, it is
also a perfect fit for testing web-based applications [26].
Int. J. Advanced Networking and Applications 4581
Volume: 12 Issue: 03 Pages: 4575-4584(2020) ISSN: 0975-0290

Table 11 – Pros and Cons of Regression Testing


Advantages Disadvantages
Tests can be automated
Tedious and time-
thereby saving time and
consuming if done
improving the quality of
without automated tools
software.
It ensures that a fix doesn't Testing is required even
adversely affect working on making slight changes
functionality. to the program
Figure 6 - Translucent Testing One of the main causes
Improves and maintain
of software maintenance
Table 10 – Pros and Cons of Grey-box Testing software quality
expensiveness.
Advantages Disadvantages
Complete white-box 4.3.2. Orthogonal Array Testing (OAT)
Provides combined
testing cannot be done This is a grey-box testing type that usesindependent pair-
benefits of both white-box
due to inaccessible wise combinations of data or entities as test input
and black-box testing
source code/binaries parameters to increase the testing scope. OAT is handy
Can handle design of Defect association is when maximum coverage is required with minimum test
complex test scenario difficult in distributed cases and a huge number of test data having many
more intelligently systems. permutations and combinations. It’s extremely valuable
Maintain boundary for testing complex applications and e-comm products
Not suitable for
between independent [28].
algorithm testing.
testers and developers
Table 12 – Pros and Cons of Orthogonal Array Testing
Translucent Testing Types (OAT)
Some grey-box testing types include Orthogonal Array, Advantages Disadvantages
Regression, Pattern, and Matrix Testing. Some of these Increase in Test
testing types are discussed. Test pair-wise combinations of all case complexity as
the selected variables input data
increases
Creates fewer Test cases which Tedious and time-
cover the testing of all the consuming if done
combination of all variables. manually.
Improves productivity because of
reduced test cycles and testing
times.

4.4. Experienced-Based Testing


This is atechnique of testing software with the help of
experience gained through several years of working. The
working experience here can be from testing or
development experience, dealing with similar software or
previous release of the same software, as well as
experience in the respective domain. The knowledge of
tester is very useful in designing the test cases.
Experience-based testing is usually performed on software
with fewer risks [29].
Figure 7 - Translucent Testing Types
Table 13 - Pros and Cons of Experienced-Based Testing
4.3.1. Regression Testing Advantages Disadvantages
Regression testing is a grey-box testing strategy that is Very crucial in the absence
performed every time changes are made to the software to Not ideal for high-risk
of requirements and
ensure that the changes behave as intended and that the software
specifications
unchanged part of the software is not negatively affected Performable with limited Required highly skilled
by the changes. Errors that occurred at unchanged parts of knowledge of software and experienced testers
the software are called regression errors. Regression Software may still require
testing starts with a (possibly modified) specification, a Doable when there is
a more formal and
modified program, and an old test plan (which requires restricted time for testing
thorough testing
updating) [27].
Int. J. Advanced Networking and Applications 4582
Volume: 12 Issue: 03 Pages: 4575-4584(2020) ISSN: 0975-0290

Experienced-Based Testing Types knowledge of the software and that of testing approaches
Generally, there are four types of testing techniques where determines the quality and effectiveness of the testing
the experience of a tester plays a major role. These are result. It provides work flexibility and freedom to the
Error Guessing, Checklist-based testing, Attack testing, tester. Exploratory testing is a progressive learning
and Exploratory testing. Some of these testing types are approach that helps in performing maximum testing with
discussed. minimal planning. It is ideal when there are inadequate
specifications or requirements and severely limited time
Figure 8 - Experienced-Based Testing Types
[31].

Table 15 - Pros and Cons of Exploratory Testing


Advantages Disadvantages
Require less preparation Testing cannot be
and/or no schedule reviewed
Critical defects are found
It is difficult to keep
very quickly and reveal
track of which tests
bugs typically overlooked
have been run.
by other testing methods.
More intellectually
Dependable on the skill
stimulating than the
and knowledge of the
execution of scripted tests at
tester.
run time
4.4.1. Error Guessing
This is a testing technique in which an experienced tester 5. COMPARISON OF DYNAMIC SOFTWARE
applies his/her skills, gained knowledge, and experience to TESTING TECHNIQUES
identify the vulnerable areas of the software that are likely It is important to note that there is no particular testing
to be affected by potential defects. Thereafter, tester marks technique that is always better, however, depending on
each area according to its prone to defects with low-risk, testing requirements, needs, budget, among others, one
medium-risk,or high-risk, and prepares the test cases to
technique can have advantages over others.
locate the possible existence of defects. This technique
may be considered as a risk analysis method and it has no
Furthermore, in testing any software, exploring and
explicit testing rules; test cases can be designed depending combining many testing techniques can help better in
on the situation, either drawing from functional documents eliminating more bugs thereby increasing the overall
or when an unexpected/undocumented error is found quality of the software than sticking to one technique.
during testing operations [30]. Table 16below presents comparisons of the four
discussed testing techniques based oncertain criteria.
Table 14 - Pros and Cons of Error Guessing
Advantages Disadvantages
Person dependent and thus
Very effective when used
the experience of the tester
with other formal testing
controls the quality of test
techniques
cases.
Uncovers defects which
Not for newbie testers, only
will otherwise be
experienced testers can
impossible to find using
perform this testing.
formal testing.
Provides no guarantee to
Tester’s experience saves a
the achievable level of
lot of time and effort.
quality

4.4.2. Exploratory Testing


This a form of software testing that is concisely described
as simultaneous learning, test design, and test execution. It
is formal testing where a skilled tester uses his/her skill
and experience to investigate bugs or errors in software
without any preparation or a particular schedule. The tester
identifies the proper working ofthe functionality of the
software or otherwise, and consequently applies his/her
skill and ability for exploring the application and set the
test scenarios for the higher execution as well. The tester’s
Int. J. Advanced Networking and Applications 4583
Volume: 12 Issue: 03 Pages: 4575-4584(2020) ISSN: 0975-0290

Table 16 – Comparison of Testing Techniques


Criteria Structured-based Specification-based Translucent Experienced-based
Knowledge of
Full knowledge of Limited knowledge Require thorough
Required internal working of
internal working of of the internal knowledge of
knowledge software is not
software. workings of software. testing and domain
required.
End-users, End-users,
Performed Usually testers and Experienced testers
developers, and developers, and
by developers. and end-users
testers testers
Internal workings, Evaluating High-level database Not very structured,
Testing
coding structure, and fundamental aspects diagrams and data depends on tester’s
focus
flow of data and control. of the software flow diagrams. instincts.
Granularity High Low Medium Low
Partly time- Random and the
Time Very exhaustive and high Exhaustive and low
consuming and least time-
consumption time-consuming time-consuming.
exhaustive. consuming
Can be done on Less emphasis is
Data Data domains and Can be performed
identified Data given to data
domain internal boundaries can through trial-and-
domains and internal domain compared to
testing be better tested. error method.
boundaries internal coding
Algorithm Suitable for testing Unsuitable for Inappropriate for Less suitable for
testing algorithms. testing algorithm. testing algorithms. testing algorithm
White-box, Transparent- Closed-box, data-
Also known box, Open-box, Logic- driven, functional,
Grey-box testing N/A
as driven, or code-based or Black-box
testing. testing.

6. CONCLUSION https://doi.org/10.5281/zenodo.3924795
Delivering quality software is the main goal of any [7] D. Graham, E. Van Veenendaal, I. Evans, and R.
software project. Software Testing has been widely used Black, Foundations of Software Testing: ISTQB
and remains a truly effective means of assuring the quality Certification. 2008.
of software. In this paper, the most important and most [8] P. Ammann and J. Offutt, Introduction to Software
applied dynamic software testing techniques, their Testing. Cambridge University Press, 2008.
advantages and disadvantages are discussed, their [9] W. L. Oberkampf and C. J. Roy, Verification and
comparisons are also presented. Learning about and validation in scientific computing. Cambridge
effective usage of these dynamic software testing University Press, 2010.
techniques in software development will help testers to [10] I. Jovanovic, ‘Software Testing Methods and
carry out a successful software testing thereby improving Techniques’, IPSI BgD Trans. Internet Res., vol.
software quality. 5, no. 1, pp. 30–41, 2009.
[11] M. E. Khan and F. Khan, ‘A Comparative Study
REFERENCES of White Box , Black Box and Grey Box Testing
Techniques’, Int. J. Adv. Comput. Sci. Appl., vol.
[1] G. J. Myers, C. Sandler, and T. Badgett, The Art of
3, no. 6, pp. 12–15, 2012.
Software Testing 3rd Edition, 3rd Ed. Canada:
[12] S. Nidhra and J. Dondeti, ‘Black Box and White
John Wiley & Sons, Inc., 2012.
Box Testing Techniques’, Int. J. Embed. Syst.
[2] L. Luo, ‘A Report on Software Testing
Appl., vol. 2, no. 2, pp. 29–50, 2012.
Techniques’, Pittsburgh, USA, 2001.
[13] M. Kaur and R. Singh, ‘A Review of Software
[3] E. Miller, Software testing & validation
Testing Techniques’, Int. J. Electron. Electr. Eng.,
techniques. [Washington D.C.]: IEEE Computer
vol. 7, no. 5, pp. 463–474, 2014.
Society Press, 1981.
[14] M. A. Jamil, M. Arif, N. Sham, A. Abubakar, and
[4] D. R. Graham, ‘TESTING, VERIFICATION
A. Ahmad, ‘Software Testing Techniques : A
AND VALIDATION’, Int. J., vol. XVI, pp. 1069–
Literature Review’, in 2016 6th International
1101, 1979.
Conference on Information and Communication
[5] A. Dennis, B. H. Wixom, and R. M. Roth, Systems
Technology for The Muslim World Software, 2016,
Analysis and Design 5th Edition, 5th Editio. USA:
pp. 177–182.
John Wiley & Sons, Inc., 2012.
[15] K. Sneha and G. M. Malle, ‘Research on software
[6] M. A. Umar and C. Zhanfang, ‘A Study of
testing techniques and software automation testing
Automated Software Testing : Automation Tools
tools’, in 2017 International Conference on
and Frameworks’, Int. J. Comput. Sci. Eng., vol. 8,
Energy, Communication, Data Analytics and Soft
no. 06, pp. 217–225, 2019. DOI:
Computing, ICECDS 2017, 2017, pp. 77–81.
Int. J. Advanced Networking and Applications 4584
Volume: 12 Issue: 03 Pages: 4575-4584(2020) ISSN: 0975-0290

[16] M. M. Syaikhuddin, C. Anam, A. R. Rinaldi, and gte-


M. E. B. Conoras, ‘Conventional Software Testing emner/INF4290/v10/undervisningsmateriale/INF4
Using White Box Method’, Kinetik, vol. 3, no. 1, 290-WBT.pdf. [Accessed: 03-May-2019].
p. 67, 2018. [26] ‘Software Testing Class - Grey box’. [Online].
[17] M. A. Umar, ‘Comprehensive study of software Available:
testing : Categories , levels , techniques , and https://www.softwaretestingclass.com/gray-box-
types’, Int. J. Adv. Res. Ideas Innov. Technol., vol. testing/.
5, no. 6, pp. 32–40, 2019. DOI: [27] L. Briand, ‘Software Verification and Validation
10.36227/techrxiv.12578714 (INF4290) - Regression Testing’, 2010. [Online].
[18] G. J. Myers, The art of software testing, Second Available:
Edition, 2nd Ed. Hoboken, New Jersey: John https://www.uio.no/studier/emner/matnat/ifi/nedla
Wiley & Sons, Inc., 2004. gte-
[19] E. Khan, ‘Different Forms of Software Testing emner/INF4290/v10/undervisningsmateriale/INF4
Techniques for Finding Errors’, Int. J. Comput. 290-RegTest.pdf.
Sci. Issues, vol. 7, no. 3, pp. 11–16, 2010. [28] Alex Samurin, ‘Explore the World of Gray Box
[20] J. Badlaney, R. Ghatol, and R. Jadhwani, ‘An Testing’, 2003. [Online]. Available:
Introduction to Data-Flow Testing’, Control, pp. http://extremesoftwaretesting.com/Articles/World
1–8, 2006. ofGrayBoxTesting.html. [Accessed: 19-May-
[21] S. Mancoridis, ‘CS576 Dependable Software 2019].
Systems - Topics in Control-Flow Testing’. [29] G. Bath and J. McKay, The Software Test
[Online]. Available: Engineer’s Handbook : A Study Guide for the
https://www.cs.drexel.edu/~spiros/teaching/CS576 ISTQB Test Analyst and Technical Test Analyst
/slides/2.control-testing.pdf. [Accessed: 05-May- Advanced Level Certificates, 1st ed. Rocky Nook,
2019]. 2008.
[22] N.-W. Lin, ‘Software Testing (CS5812) - Control [30] B. Homès, Fundamentals of Software Testing.
Flow Testing’. [Online]. Available: John Wiley and Sons, 2013.
https://www.cs.ccu.edu.tw/~naiwei/cs5812/st4.pdf [31] C. Kaner, ‘A Tutorial in Exploratory Testing.
. Software Engineering’, 2008.
[23] M. New, ‘Data Flow Testing Swansea University
UK’.
[24] T. Su et al., A Survey on Data-Flow Testing, vol.
50, no. 1. 2017.
[25] L. Briand, ‘Software Verification and Validation -
WBT’, 2010. [Online]. Available:
https://www.uio.no/studier/emner/matnat/ifi/nedla

Authors Biographies
MUBARAK ALBARKA UMAR was ZHANFANG CHEN, Ph.D.,
born in Dutsinma, Katsina State, Associate Professor of School of
Nigeria. He received the BSc. (Honors) Computer Science and Technology in
Degree in Software Engineering from Changchun University of Science and
the University of East London in 2015, Technology, China. His research
and MEng. Degree in Computer interests include network engineering,
Applied Technology from the software engineering, computer
Changchun University of Science and architecture, data mining, soft
Technology, China in 2020. computing, and software engineering.
He is a staff of Katsina State Institute of Technology and He is currently a teacher of Changchun University of
Management (KSITM), Katsina, Nigeria. He previously Science and Technology and has worked for 15 years. He's
did a one-year national service at Usmanu Danfodiyo worked on over 20 projects and published 20 articles in
University, Sokoto (UDUS), Nigeria from 2015 to 2016. peer-review international journals.
He has published 7 articles in peer-review international
journals. His research interests include data mining, soft
computing, software engineering, network security and
fuzzy logic.

View publication stats

You might also like