Importance of Software Testing in Software Development Life Cycle
Importance of Software Testing in Software Development Life Cycle
Importance of Software Testing in Software Development Life Cycle
Abstract
Software development life cycle is a structure imposed on the Phase 4 Software Construction: Development of user
development of a software product. Software development life documentation for the system through the combination of
cycle is closely linked to what has come to known as structured coding, verification, testing (integration and unit) and
analysis and design. Testing is an important part of software debugging. The main fundamentals of software
development. Testing should be started as early as possible to
make it a part of a process of deciding requirement .The major
construction are: - [5]
role of testing involves checking, that there should be no
discrepancy in the software development process anywhere 1) Constructing for verification.
throughout. In my paper I have explained various phases and 2) Minimizing complexity.
importance of testing in software development life-cycle. 3) Anticipating change.
Keywords: Software Development Life Cycle, Software
Development Process, Software Testing Phase 5 Software Design: Designing phase usually
involves problem solving and planning up solution for
software. The output of this phase will consist of the
1. Introduction specification, which describes both WHAT (system will
do) and HOW (it will work). [6]
Software testing plays a vital role in the software
development life-cycle to recognize the difficulties in the Some of the main design concepts are:
process very well. [1]
1) Abstraction
But before explaining the importance of testing in SDLC, I 2) Modularity
would like to explain different phases of software 3) Data structure
development process. 4) Information hiding, and
5) Structural partitioning
Phase 1 Requirement/Problem Definition: An
investigation about requirement is conducted to state the Phase 6 Software Testing and Evaluation: It includes
problem to be solved. Main work in this phase is to software testing, verification and validation of the system
determine the condition to meet for a new product or just built. Software testing can be implemented at any
altered product. [2] time in the development process .One of the most
important purpose of testing is to detect software failures
Phase 2 Specification: It describes the requested so that defects may be discovered and corrected. [7]
behavior of a required system. It also describes that
technical requirement for software. It helps avoiding Phase 7 Debugging: Debugging is a necessary process
redundancy and inconsistency. Examples of functional in almost every new software or hardware development
specification are single UNIX specification and multi boot process. It is a process of finding and reducing the defects
specification. [3] in a computer program or electronic hardware. Debugger
is a debugging tool helps in identifying coding errors at
Phase 3 Architecture: It defines the set of structures various software development phases. [8]
needed to understand the software system and elements of
software. [4] Phase 8 Software Deployment and Maintenance:
Deployment should be interpreted as a general process that
Copyright (c) 2014 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 11, Issue 2, No 2, March 2014
ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784
www.IJCSI.org 121
Each software development life cycle has passed through a 8. Integration Testing: In integration testing the
set of common phases one or more times. So starting individual tested units are grouped as one and
activities early means we can catch small problems before the interface between them is tested.
they become big problems later on. Starting testing
activities early also provides the chance to review 9. Regression Testing: Regression testing means
requirements for important quality attributes, to ask rerunning test cases from existing test suites to
questions and to resolve issues. There are three different build confidence that software changes have no
testing phases in SDLC are: [12] unintended side-effects.
i. Test Analysis: tester tries to understand about the 10. Stress Testing: Stress testing is a software
project. testing activity that determines the robustness
of software by testing beyond the limits of
ii. Test Design: tester design the test cases based on normal operation.
user requirement.
11. UAT (User Acceptance testing): It is
iii. Test Execution: tester execute the test cases and performed by the end users of the
raise defects, if any. software. This testing happens in the final
phase of testing.
Various types of testing involves throughout SDLC are: [1]
[12] 12. Security Testing: Security testing tests the
ability of the software to prevent unauthorized
1. Acceptance Testing: Formal testing with access to the resources and data.
respect to user needs, requirements, and
business processes conducted to determine the
acceptability of the system.
Copyright (c) 2014 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 11, Issue 2, No 2, March 2014
ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784
www.IJCSI.org 122
Maintenance Specification
Deployment Architecture
SOFTWARE
CYCLE
Debugging
Construction
Design
Requirement
Copyright (c) 2014 International Journal of Computer Science Issues. All Rights Reserved.
IJCSI International Journal of Computer Science Issues, Vol. 11, Issue 2, No 2, March 2014
ISSN (Print): 1694-0814 | ISSN (Online): 1694-0784
www.IJCSI.org 123
Software development life-cycle is a structure imposed on I completed my BCA in 2003 from Dr. B. R. Ambedkar University,
Agra, India and MBA in 2011 from Janardan Rai Nagar Rajasthan
the development of a software product. There are different
Vidyapeeth University, Rajasthan, India, and completed my M.Sc
activities involved in SDLC such as requirement, (Computer Science) in 2013 from EIILM University, Jorethang,
specification, architecture, software-construction, design, Sikkim, India.
software testing, debugging, deployment and maintenance.
Software testing plays a vital role in each and every phase
of SDLC. [12]
References:
[1] Introduction to software testing available at
http://www.onestopsoftwaretesting.com/introduction-
and-importance-of-software-testing-in-sdlc/
[2] Requirement analysis available at
http://en.wikipedia.org/wiki/Requirements_analysis
[3] Functional specification available at
http://en.wikipedia.org/wiki/Functional_specification
[4] Software architecture available at
http://en.wikipedia.org/wiki/Software_architecture
[5] Software construction available at
http://en.wikipedia.org/wiki/Software_construction
[6] Software design available at
http://en.wikipedia.org/wiki/Software_design
[7] Software testing available at
http://en.wikipedia.org/wiki/Software_testing
[8] Debugging available at
http://en.wikipedia.org/wiki/Debugging
[9] Software deployment available at
http://en.wikipedia.org/wiki/Software_deployment
[10] Software maintenance available at
http://en.wikipedia.org/wiki/Software_maintenance
[11] Software development process available at
http://en.wikipedia.org/wiki/Software_development_pr
ocess
[12] Involve testing throughout the SDLC available at
http://www.silverpath.com
Copyright (c) 2014 International Journal of Computer Science Issues. All Rights Reserved.