0% found this document useful (0 votes)
57 views

Importance of Testing in SDLC: January 2017

Uploaded by

Akuzike Nguku
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)
57 views

Importance of Testing in SDLC: January 2017

Uploaded by

Akuzike Nguku
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/ 4

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

net/publication/312041152

Importance of Testing in SDLC

Article · January 2017

CITATIONS READS
0 3,022

1 author:

Ijeacs Uk
Empirical Research Press Ltd.
56 PUBLICATIONS   30 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Hydrolysis of cinnamate ester in different solvent mixture View project

University Research View project

All content following this page was uploaded by Ijeacs Uk on 03 January 2017.

The user has requested enhancement of the downloaded file.


International Journal of Engineering and Applied Computer Science (IJEACS)

Importance of Testing in SDLC


Tanu Jindal
Department of Computer Science & Engineering
Noida Institute of Engineering & Technology (NIET)
Greater Noida, India.

 helps in finding the defects of the system. So, testing plays an


Abstract— From previous year researches, it is concluded that important role in software engineering.
testing is playing a vital role in the development of the software
product. As, software testing is a single approach to assure the II. RELATED WORK
quality of the software so most of the development efforts are Gelperin and Hetzel [4] presented the evolution of
put on the software testing. But software testing is an expensive software test engineering which traced by examining changes
process and consumes a lot of time. So, testing should be start as in the testing process model and the level of professionalism
early as possible in the development to control the money and over the years. Two phase models such as the demonstration
time problems. Even, testing should be performed at every step and destruction models and two life cycle models such as the
in the software development life cycle (SDLC) which is a evolution and prevention models are given to describe the
structured approach used in the development of the software
growth of software testing. Hamlet and taylor [10] presented
product. Software testing is a tradeoff between budget, time and
quality. Now a day, testing becomes a very important activity in
more extensive simulations, and reach at more precise results
terms of exposure, security, performance and usability. Hence, about the relationship between partition probability, failure
software testing faces a collection of challenges. rate, and effectiveness. Vishwas Massey and K.J.Satao [7] in
their paper have also compared various SDLC Models for
Keywords — Software Engineering; SDLC; Software testing; performance and have also proposed a new model for better
Verification and Validation. performance. But both the papers do not make a comparison
between the research methodology and SDLC process.
I. INTRODUCTION Richardson and Malley[1] proposed one of the earliest
Everyone knows the importance of computer in his life. In approaches focusing on utilizing specifications in selecting
today’s world computer is using in many fields like industry, test cases. They proposed approaches to specification-based
education, transportation, medical, agriculture and research. testing by extending a wide range of implementation-based
Means, it is becoming an important element in the industry testing techniques to be applicable to formal specification
and advanced technology as well as developing countries. In languages and determine these approaches for the Anna and
today’s life every field is dependent on computer for the Larch specification languages. Madeyski Lech et al.[9]
betterment of their work. Also, with the help of computer a lot presented the concept of using a set of second order mutants
of time is saved. And time saving is indirectly a cost benefit by applying them to large open source software with number
approach. So software engineering is a best approach to of different algorithms. They show that second order mutation
develop a computer based system for every field in order to techniques can significantly improve the efficiency of
save the time and reduces its cost. Software Engineering is mutation testing at a cost in the testing strength. Ntafos [2]
used to develop a system in a systematic way. For this purpose presented the comparisons of random testing, partition testing
software/system development life cycle (SDLC) is used, as it and proportional partition testing. The author guaranteeing
is the process of developing the system with proper analysis, that partition testing has at least as high a probability of
design, implementation and maintenance to improve the detecting a failure comes at the expense of decreasing its
quality of the system. Even SDLC is a systematic approach relative advantage over random testing. Juristo et al. [6]
for the development of the efficient system but without testing analyzed the maturity level of the knowledge about testing
it is not possible. Because SDLC tells the process for the techniques. For this, they examined existing empirical studies
development of the system to improve the quality but doesn’t about testing techniques. According to knowledge, they
classified the testing techniques and choose parameters to
compare them. J. A. Whittaker[3] presented a four phase
approach to determine how bugs escape from testing. They
offer testers to a group related problems that they can solve
Volume: 01, Issue: 02, December 2016 www.ijeacs.com 54
ISBN: 978-0-9957075-1-1
Tanu Jindal International Journal of Engineering and Applied Computer Science (IJEACS)

during each phase. Claessen et al. [5] developed a lightweight and correct delivery to the client within budget and other
and easy to use tool named “quickCheck”, that is a constraints and project requirements. SDLC co-operates
combination of two old techniques (specifications as oracle project control and management activities as they must be
and random testing) works extremely well for Haskell introduced within each phase of SDLC.
program. They present a number of case studies, in that the
There is various software development approaches
tool was successfully used and also point out some pitfalls to
avoid. Harrold et al. [8] presented a new approach to class defined and designed which are used during development
testing that supports data flow testing for data flow interaction process of software, these approaches are also referred as
“Software Development Process Models”.
in a class. They also describe class testing and the application
of dataflow testing to class. V. PHASES IN SOFTWARE DEVELOPMENT LIFECYCLE
III. FUNCTIONS AND GOALS OF TESTING Testing phase has much importance in SDLC due to a
The primary function of testing is to detect bugs. The major role in debugging and error correction. The phases of
scope of testing includes execution of that code in various SDLC is being followed in both testing and development
cycle of any software application. Here are the phases of
environments and also to examine the aspects of the code -
does the software do what it is supposed to do and function SDLC that is being followed:
according to the specifications? Testing is an activity that is a) Requirements Gathering and Analysis: Under this phase,
performed for evaluating software quality and also for proper requirements of project are gathered. All close
improving it. The goal of testing is systematically and functions are brought in to focus. All kinds of
stepwise detection of different classes of errors within a requirements and analysis of user requirement are done in
minimum amount of time and also with a much less amount of this phase.
effort. The basic purpose of testing is verification and
validation in order to find various errors and problems – and b) System Design: This is the next phase in SDLC where a
the aim of finding those problems is to get them fixed. Testing rough system design is made. With all data and
is more than just error detection. Testing is done under information being gathered, a system design is made.
controlled conditions. c) Development: This is the next phase after system design
when development of project is made. According to
Verification: To verify if system behaves as specified. It is
design, proper coding is done to gain that design.
the checking and testing of items, which includes software,
Programming language might be selected according to
for conformance and consistency of software by evaluating
the results against pre-defined requirements. In verification the project.
we ask a question, are we building the product right? d) System Testing: Just after development phase, testing is
carried out to know the outcome of application. Testing is
Validation: In this we check the system correctness which made to know the actual result and the expected result.
is the process of checking that what has been specified by user
and what the user actually wanted. In validation we ask a e) Operations and Maintenance: This is the final stage of
question: Are we building the right system? SDLC, where the software that is being developed is
being distributed to end users who are responsible for
IV. SDLC (SOFTWARE DEVELOPMENT LIFE CYCLE) maintaining and using it for proper operations. The
SDLC serves as a guide to the project and provides a software that is being developed must be open to any
flexible and consistent medium to accommodate changes and changes being made in coding.
perform the project to meet the client’s objectives. There are
VI. ROLE OF TESTING IN SDLC
various stages used in the life cycle of software development.
Software development life cycle is basically a systematic way Testing is required to remove the discrepancy in the
of developing software. It includes various phases starting software product development process. In order to implement
from the functional requirement of software (means what any software product, it has passed through a set of various
software is supposed to do). After that designing takes place phases. With the help of testing we can catch small problems
then development and then testing. After testing is finished, before they become big problems later on. Testing activities
the source code is generally released for Unit Acceptance also provides the chance to review requirements for important
Testing (UAT) in client testing environment. After approval quality attributes, to ask questions and to resolve issues
from client, the source code is released into production earlier. There are many activities that are performed during
environment [11]. There is various software development the testing. These are:
approaches defined and designed which are used during
 Test Analysis
development process of software, these approaches are also
referred as "Software Development Process Models". Each  Test Design
process model follows a particular life cycle in order to ensure  Test Execution
success in process of software development. SDLC phases These activities are required to reduce the rework which
define key schedule and delivery points which ensure timely results in reducing the cost and time. Software testing is an

Volume: 01, Issue: 02, December 2016 www.ijeacs.com 55


ISBN: 978-0-9957075-1-1
Tanu Jindal International Journal of Engineering and Applied Computer Science (IJEACS)

ongoing process which we can’t stop in between. Testing is [7] Glenford J. Myers, “The Art of Software Testing, Second Edition”
required in SDLC due to the following reasons: Published by John Wiley & Sons, Inc., Hoboken, New Jersey.
[8] Harrold Mary Jean, and Gregg Rothermel. "Performing data flow
 To identify the errors testing on classes." ACM SIGSOFT Software Engineering Notes. Vol.
 To remove ambiguity 19. No. 5. ACM, 1994.
 To improve the reputation of the company [9] Madeyski Lech et al. "Overcoming the Equivalent Mutant Problem: A
 To improve quality of the product Systematic Literature Review and a Comparative Experiment of
 To remove Hazards Second Order Mutation." (2013): 1-1.[LR4]
 For verification and validation [10] Hamlet Dick, and Ross Taylor. "Partition testing does not inspire
 To improve reliability confidence (program testing)." IEEE Transactions on Software
Engineering 16.12 (1990): 1402-1411.
 To improve cost
[11] Accessibility Summit. (2006). Public Sector NeedsBetter Guidance On
 To increase the usability Web Accessibility, E-Government Bulletin (Issue 226, 13 November
2006)http://www.ukoln.ac.uk/webfocus/events/meetings/accessibility
VII. CONCLUSION
-summit-2006-11/egovernment- 2006-11-13.php (Accessed August
From the above discussion it is clear that without testing it 30th2007)
is not possible to implement an effective product. If the
product is not effective then it will decrease the quality of the AUTHOR PROFILE
product. So, Testing is essential to improve the quality of the
Tanu Jindal is working as Assistant Professor in
system as well as to the success of the overall effort. Testing is
Computer Science & Engineering Department of
performed by developer end and customer end but it can Noida Institute of Engineering and Technology,
ensure a performance of the product by predicting its Greater Noida. She received Master’s degree in
behavior. In this paper, it is concluded that testing should be Software Engineering from Thapar University,
used in all the phases of SDLC and not in one or two phases. Patiala. She is pursuing Ph.D. in Software
Life cycle of Software development is that type of structure Engineering. Her main research interests are Software
Engineering and Grid Computing. She has guided
which is imposed on the development process of the software many M.Tech. students for their thesis. She has guided many B.Tech
product. As there are different activities involved in SDLC so, students in their Projects. She has more than 10 publications in National and
testing plays a different role in different-different phase. For International Journals and Conferences.
timely readiness of the system testing is very important as it
provides the visibility of the quality of the product at each
step.
REFERENCES
[1] D. Richardson, O. O’Malley and C. Tittle, “Approaches to
specification-based testing”, ACM SIGSOFT Software Engineering
Notes, Volume 14 , Issue 9, 1989, pp. 86 – 96.
[2] Ntafos Simeon C. "On comparisons of random, partition, and
proportional partition testing." Software Engineering, IEEE
Transactions on 27.10 (2001): 949-960.
[3] J. A. Whittaker, “What is Software Testing? And Why Is It So Hard?”
IEEE Software, January 2000, pp. 70-79.
[4] D. Gelperin and B. Hetzel, “The Growth of Software Testing”,
Communications of the ACM, Volume 31 Issue 6, June 1988, pp. 687-
695.
[5] Claessen Koen, and John Hughes. "QuickCheck: a lightweight tool for
random testing of Haskell programs."
[6] Juristo Natalia, Ana M. Moreno, and Sira Vegas. "Reviewing 25 years
of testing technique experiments." Empirical Software Engineering
9.1-2 (2004): 7-44.

© 2016 by the author(s); licensee Empirical Research Press Ltd. United Kingdom. This is an open access article
distributed under the terms and conditions of the Creative Commons by Attribution (CC-BY) license.
(http://creativecommons.org/licenses/by/4.0/).

Volume: 01, Issue: 02, December 2016 www.ijeacs.com 56


ISBN: 978-0-9957075-1-1

View publication stats

You might also like