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

Exploring Testing Strategies: Ajay Jangra, Gurbaj Singh, Jasbir Singh & Rajesh Verma

The document summarizes different software testing strategies. It defines software testing and its importance in the software development life cycle. It then discusses various testing strategies in detail, categorizing them as manual/static testing and automated/dynamic testing. The key testing strategies discussed include unit testing, integration testing, white box testing, black box testing, regression testing, and functional testing. A diagram is also provided to illustrate the relationships between different testing types and strategies.

Uploaded by

Anirban Bhar
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)
35 views3 pages

Exploring Testing Strategies: Ajay Jangra, Gurbaj Singh, Jasbir Singh & Rajesh Verma

The document summarizes different software testing strategies. It defines software testing and its importance in the software development life cycle. It then discusses various testing strategies in detail, categorizing them as manual/static testing and automated/dynamic testing. The key testing strategies discussed include unit testing, integration testing, white box testing, black box testing, regression testing, and functional testing. A diagram is also provided to illustrate the relationships between different testing types and strategies.

Uploaded by

Anirban Bhar
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 Information Technology and Knowledge Management

January-June 2011, Volume 4, No. 1, pp. 297-299

EXPLORING TESTING STRATEGIES


Ajay Jangra1, Gurbaj Singh2, Jasbir Singh3 & Rajesh Verma4

Software testing refers to the inspection of the software with an intention to find out the errors in it. It plays an important
role in all SDLC stages. Testing performs to build a quality software, to build confidence in user/developer and to examine
the performance of software in all possible circumstances. In this paper we briefly explore all strategies with a single diagram;
we draw a testing hierarchy diagram to explain all kinds of testing strategies and their interrelations as a complete in one
picture.
Intended Audience: This work provides fundamental knowledge about software testing for researchers, software developers,
testers and clients/user’s also.
Keywords: Testing, Software Failure, White Box Testing, Black Box Testing, Testing Objectives

1. INTRODUCTION Testing But Why?


Testing simply refers to the validation and verification Simple answer is “To find out the faults”. Testing performs
specially to built a good quality software. Testing also for following reasons: i) Defect Removal. ii) Correctness.
defined as “Software testing is technique of evaluating the iii) Quality. iv) Consistent v) Completeness vi) Performance.
attributes (i.e.correctness, completeness, security, vii) Reduce cost & time…etc. Testing can also perform to
consistency, unambiguousness, quality etc.) of software and add the functionality in software such as: i) Reliability ii)
determining that whether it meets its required functionality Portability. iii) Reusability. iv) Interoperability. v)
or not”. Purpose of testing is to find out Defects and causes Maintainability. vi) Flexibility vii) Testability. viii) Integrity.
and fixed them as early as possible. Testing requires more ix)Usability. x) Efficiency. [1, 3, 6, 8, 12]
project effort and time than any other software development
activity; therefore it needs a suitable strategy to make testing
successful. Testing is an activity to find the bugs in software
that may perform by tester or by applying strategies like
white box or black box. So, the activities involved in the
testing should be in planned way. [1, 3, 6, 8, 11]

Fig. 1

Some interesting facts about Testing:


· If testing is conducted successfully it will uncover
errors in the software. Also it doesn’t guarantees
that after testing, software is free of defects.
· Testing cannot show the absence of defects, it can
show only the defects are present. Fig. 2: Testing Strategies in Brief
· 100% testing is not feasible. The above diagram (fig-2) shows the interrelations
between various testing Strategies. This diagram mainly
divide software testing into two categories (manual/static
1, 2, 3
CSE Department U.I.E.T. Kurukshetra University, & automated/dynamic). Both White box and Black box
Kurukshetra, India testing drives common strategy known as Integration Testing
4
Prof. & Head CSE department, K.I.T.M. Kurukshetra, India Strategy. From this testing hierarchy (fig.2) it is easy to
Email: 1 er_jangra@yahoo.co.in, 2gurbaj1986@yahoo.com, understand types of testing and there interrelations, which
3
jasbir.singh02@gmail.com, 4vermar.rajesh1974@gmail.com are explain in the following sections [3, 11].
298 AJAY JANGRA, GURBAJ SINGH, JASBIR SINGH & RAJESH VERMA

A. Manual Testing: What, When & How? A-B. Integration Testing: What & How?
It’s labor-intensive & slow process where tester tests the Different modules are integrated with each other to form a
software statically. When the software is in early phase of system and Integration testing use the systematic
software development life cycle like in analysis phase combination and execution of product components to insure
Manual Testing [8] is to be done, because at that time that the interfaces between the components are correct and
everything is on paper nothing is for execution therefore the product components combine to execute the software’s
Manual Testing is done at this stage. It is done by the analyst, functionality correctly. Integration Testing is done by using
developer and the testing team. Manual testing can be done following strategies/techniques: (i) Top-Down: In this testing
by (i) Walkthrough: Walkthrough team (project manager & Modules are integrated by moving downward through the
few concerned people) adapt informal method to review the control hierarchy, beginning with the main control module.
code. (ii) Review: In this, the product documentation is Modules subordinate to the main control module are
analyzed in details & the conflicts/error is detected, then incorporated into the structure in either a depth-first or
suggestion and solution are proposed in review report. (iii) breadth-first manner. (ii) Bottom-Up: In this testing, top level
Inspection: It is a formal method, minutely checks all the modules are tested and the branch of the module are tested
procedures standards and maturity of working environment step by step using ‘Stubs’ until the related module comes to
of the organization and generates an inspection report, on an end. (iii) Smoke Testing: Smoke testing is used to check
this basis the approval is given.[1, 7, 8 ] the testability of the application. It is also called ‘Build
Verification testing or Link testing’, it checks whether the
application is ready for further major testing and working,
B. Automated Testing: What, When & How? without dealing with the finer details. (iv) Interface Testing:
Here tester runs the script on any testing tool for testing It is performed to check, how user-friendly the application
automatically (to save time), repetitively, and through a is. The user should be able to use the application, without
number of iterations. Automated testing is done when any assistance by the system personnel. [1, 2, 3, 5, 8]
different modules are ready for execution. Individual/
integrated modules are tested thoroughly using different B.2. Black Box Testing : What & How ?
scripts that are run on testing tool. [2, 4, 7] Automated testing
is done by: a) White box testing b) Black box testing This testing ignores the inspection of internal mechanism
of a system and focuses solely on the outputs generated in
response to inputs and execution conditions. Tester does not
B.1. White Box Testing: What & How? have to deal with the code. It is also called as Behavioral
Also known as glass, structural, open box or clear box Testing [9]. It is done by using following strategies/
testing. Where tester test the internal structure of code. It is techniques: (i) Regression Testing: In this, tester checks
done by using following strategies/techniques: (i) Unit whether a small change in any component of the application
testing: It focuses verification effort on the smallest unit of does not affect the unchanged components. Testing is done
software design. Unit Testing comes at the very basic level by re-executing the previous versions of the application [13].
as it is carried out as and when a particular functionality is (ii) Functional Testing: In this, the software is tested for the
built. It insures that the component being tested conforms functional requirements. It checks whether the module is
to its specifications and is ready to be integrated with other behaving according to the specification. (iii) System Testing:
components. (ii) Path Testing: Each and every independent System testing validates that the software meets its
path within the code is executed at least once to find out functional and non-functional requirements and is also
any error. (iii) Branch Testing: Branch testing helps in intended to test beyond the bounds defined in the software/
hardware requirement specifications. System testing is
validating of all the branches in the code and making sure
actually a series of different tests whose main purpose is to
that no branching leads to abnormal behavior of the
fully exercise the computer-based system. Following are
application. (iv) Condition Testing: Each and every condition
different types of system testing that are important for
is executed by making it true and false in test cases, in each
software systems [14]. a)Recovery Testing: It check’s how
of the ways at least once. (v) Statement Testing: In this the
fast the software is able to recover from any hardware failure,
code is executed at least once in such a way that every
catastrophic problems or any type of system crash. b) Volume
statement of the module is executed by the test cases. (vi)
Testing: This testing process huge amount of data is to check
Mutation Testing: In this testing, the application is tested
the extreme limitations of the system. c) Security Testing:
for the code that was modified after fixing a particular defect.
It confirms how well software protects itself against
(vii) Domain Testing: In this testing, the module is tested
unauthorized internal or external damage of code.
for all possible inputs. But it is not possible to test all input d) Usability Testing: This testing checks the ease of use of
data because it is infinite so we use Equivalence partitioning an application. If user interface is an important issue & needs
and boundary value analysis techniques. [1,2,10] to be specific for specific type of user then usability testing
EXPLORING TESTING STRATEGIES 299

is used. It is also called as ‘Testing for User Friendliness’. interrelation diagram of various testing strategies. In this
e) Performance Testing : This testing checks whether the paper we provide answers to the questions that what software
system is performing properly, according to the user’s testing is?, when and how to perform ? But still there are
requirements. Performance testing is of 2 types: e1) Load some queries which are still waiting for the answer like
testing: In this testing, the software is raised beyond the testing: but how much? Good alternatives to testing?
limits, to check the performance. e2) Stress Testing: In this
testing, the software is tested beyond the normal expectations REFERENCE
or operational capacity. f) Acceptance Testing: This testing
[1] G.K.Saha “Understanding Software Testing Concepts”
verifies that whether the software is acceptable to the
Published in ACM Ubiquity, 9, Issue 6, 2008.
customer and it’s fulfilling the specified requirements.
Acceptance testing is of 2 types: f1) Alpha Testing: It is [2] Robert Nilsson and Jeff Offutt “Automated Testing of
Timeliness : A Case Study” Published in IEEE 2007.
performed at the developer’s site by the customer in a closed
environment. f2) Beta Testing: This type of Acceptance [3] Cem Kaner, J.D,Ph.D. “The Ongoing Revolution in
Software Testing” Published in 2004.
testing is done at the customer’s site by the customer in the
open environment. The presence of the developer, while [4] B.Baudry, F.Fleurey, J.M Jezequel and Y.L.Traon
performing these tests, is not compulsory.[1, 4,9 ] “Automatic Test Cases Optimization using a Bacterological
Adaption Model: Application to .NET Components”,
(iv) Miscellaneous Testing Strategies: a) Configuration Published in IEEE 2002, pp.253-256.
Testing: This testing is done to test for compatibility issues. [5] W.K.Chan, T.Y.Chen, T.H.Tse “An Overview of Integration
It checks minimum and optimal configuration of hardware Testing Techniques for Object-Oriented Programs”,
and software, and determines the effect of adding or Published in 2002.
modifying resources. b) Scenario Testing: This testing [6] Cem Kaner, Ph.D., J.D, “Inefficiency and Ineffectiveness
provides a more realistic and meaningful combination of of Software Testing: A Key Problem in Software
functions, rather than artificial combinations that are Engineering”, Published in 2000.
obtained through domain or combinatorial test design. c) [7] H.Yin, Z.L-Dengel and Y.K.Malaiya “Automatic Test
Sanity Testing: It uses to check the behavior of the system. Generation using Checkpoint Encoding and Antirandom
It is also called as Narrow Regression Testing. d) Exploratory Testing”, Published in IEEE 1997, pp.84-95.
Testing: It is performed to explore the software features. e) [8] J.E.Bentlet, W.Bank,C.NC “Software Testing
Compatibility Testing: This testing determines if software Fundamentals-Concepts, Roles, and Terminology” pp.1-12.
under supported configurations perform as expected, with [9] L.Williams “Testing Overview and Black-Box Testing
various combinations of hardware and software packages. Techniques”, Published in 2004, pp. 33-57.
f) Installation Testing: This testing identifies the ways in [10] L.Williams “White-Box Testing” Published in 2006,
which installation procedure leads to incorrect results. g) pp.60-74.
Inter-System Testing: It checks the interface between two [11] D.Graham, E.V.Veenendaal, I.Evans, R.Black, “Foundations
or more application systems. [1, 5, 11] of Software Testing”, Published in 2008.
[12] I.Sommerville “Software Engineering” Eighth Edition
2. CONCLUSION Published in 2007.
[13] William E. Perry, “Effective Methods for Software Testing”
Although testing is crucial and important to build a good
Third Edition Published in 2006.
quality software. This paper elaborates all testing strategies,
[14] R.S.Pressman “Software Engineering A Practitioner’s
their interrelations, when to perform and how. We design a
Approach” Fifth Edition Published in 2001.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy