Importance of Testing in SDLC: January 2017
Importance of Testing in SDLC: January 2017
net/publication/312041152
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:
All content following this page was uploaded by Ijeacs Uk on 03 January 2017.
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
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/).