Importance of Software Testing in Software Development Life Cycle Mohd. Ehmer Khan1, Farmeena Khan2 1 Department of Information Technology, Al Musanna College of Technology, Sultanate of Oman 2...

1 answer below »
report shouldbelimitedtoapprox.1500words (notincludingreferences)


Importance of Software Testing in Software Development Life Cycle Mohd. Ehmer Khan1, Farmeena Khan2 1 Department of Information Technology, Al Musanna College of Technology, Sultanate of Oman 2 Department of Computer Science, EIILM University, Jorethang, Sikkim, India Abstract Software development life cycle is a structure imposed on the development of a software product. Software development life cycle is closely linked to what has come to known as structured analysis and design. Testing is an important part of software development. Testing should be started as early as possible to make it a part of a process of deciding requirement .The major role of testing involves checking, that there should be no discrepancy in the software development process anywhere throughout. In my paper I have explained various phases and importance of testing in software development life-cycle. Keywords: Software Development Life Cycle, Software Development Process, Software Testing 1. Introduction Software testing plays a vital role in the software development life-cycle to recognize the difficulties in the process very well. [1] But before explaining the importance of testing in SDLC, I would like to explain different phases of software development process. Phase 1 Requirement/Problem Definition: An investigation about requirement is conducted to state the problem to be solved. Main work in this phase is to determine the condition to meet for a new product or altered product. [2] Phase 2 Specification: It describes the requested behavior of a required system. It also describes that technical requirement for software. It helps avoiding redundancy and inconsistency. Examples of functional specification are single UNIX specification and multi boot specification. [3] Phase 3 Architecture: It defines the set of structures needed to understand the software system and elements of software. [4] Phase 4 Software Construction: Development of user documentation for the system through the combination of coding, verification, testing (integration and unit) and debugging. The main fundamentals of software construction are: - [5] 1) Constructing for verification. 2) Minimizing complexity. 3) Anticipating change. 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 specification, which describes both WHAT (system will do) and HOW (it will work). [6] Some of the main design concepts are: 1) Abstraction 2) Modularity 3) Data structure 4) Information hiding, and 5) Structural partitioning Phase 6 Software Testing and Evaluation: It includes software testing, verification and validation of the system just built. Software testing can be implemented at any time in the development process .One of the most important purpose of testing is to detect software failures so that defects may be discovered and corrected. [7] Phase 7 Debugging: Debugging is a necessary process in almost every new software or hardware development process. It is a process of finding and reducing the defects in a computer program or electronic hardware. Debugger is a debugging tool helps in identifying coding errors at various software development phases. [8] Phase 8 Software Deployment and Maintenance: Deployment should be interpreted as a general process that 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 120 Copyright (c) 2014 International Journal of Computer Science Issues. All Rights Reserved. has to be customized according to specific characteristics and it starts after the code is properly tested and approved for release. [9] Software maintenance includes error connections, enhancement of capabilities and optimization. [10] Four main maintenance activities are:- 1) Adaptive Maintenance 2) Preventive Maintenance 3) Perfective Maintenance 4) Corrective Maintenance 2. Importance of Testing in Software Development Process The major role of software testing involves that there should be no discrepancy in the software development process. According to one survey software errors costs U.S economy 0.6 percent of the gross domestic product and about 80% of the software development costs of a project are spent on identifying and fixing errors. [11] Each software development life cycle has passed through a set of common phases one or more times. So starting activities early means we can catch small problems before they become big problems later on. Starting testing activities early also provides the chance to review requirements for important quality attributes, to ask questions and to resolve issues. There are three different testing phases in SDLC are: [12] i. Test Analysis: tester tries to understand about the project. ii. Test Design: tester design the test cases based on user requirement. iii. Test Execution: tester execute the test cases and raise defects, if any. Various types of testing involves throughout SDLC are: [1] [12] 1. Acceptance Testing: Formal testing with respect to user needs, requirements, and business processes conducted to determine the acceptability of the system. 2. Ad-Hoc Testing: It is performed without planning or documentation and its main work is to find errors that are not uncovered by other types of testing. 3. Alpha and Beta Testing: Alpha testing is the testing done by test teams at development site after the acceptance testing. Beta testing carried out by real users in real environment. 4. Black Box Testing: Black box testing is the testing technique whereby the internal workings of the item being tested are not known by the tester. 5. White Box Testing: White box testing is the testing of a software solution's internal coding and infrastructure. 6. Automated Testing: Using automation tools to write and execute test cases is known as automation testing. 7. Grey Box Testing: Grey box testing is a software testing technique that uses a combination of black box testing and white box testing. 8. Integration Testing: In integration testing the individual tested units are grouped as one and the interface between them is tested. 9. Regression Testing: Regression testing means rerunning test cases from existing test suites to build confidence that software changes have no unintended side-effects. 10. Stress Testing: Stress testing is a software testing activity that determines the robustness of software by testing beyond the limits of normal operation. 11. UAT (User Acceptance testing): It is performed by the end users of the software. This testing happens in the final phase of testing. 12. Security Testing: Security testing tests the ability of the software to prevent unauthorized access to the resources and data. 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 Copyright (c) 2014 International Journal of Computer Science Issues. All Rights Reserved. Determine the condition to meet for a new or altered product Describe the behaviour of an engineering system Development of user documentation for the system Designing of Software Fix known and unknown issue methodology Involves installation and customization Requirement Verification and Validation of the system Describe WHAT (system will do) and HOW (it will work) Specification Architecture Construction Requirement Debugging Deployment Maintenance Design SOFTWARE DEVELOPMENT LIFE CYCLE Fig. 1 Represent different phases of software development life cycle Enhancing and maintaining software to cope with newly discovered faults 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 Copyright (c) 2014 International Journal of Computer Science Issues. All Rights Reserved. 13. Performance Testing: The goal of application performance testing is to appraise any user experience in realistic scenarios on our target application. In software engineering, performance testing is in general testing performed to determine how a system performs in terms of responsiveness and stability under every condition. Hence, software testing is one of the major parts of the SDLC and it should be carried out effectively for the quality of the product. [1] 3. Conclusion Software development life-cycle is a structure imposed on the development of a software product. There are different activities involved in SDLC such as requirement, specification, architecture, software-construction, design, software testing, debugging, deployment and maintenance. Software testing plays a vital role in each and every phase of SDLC. [12] An effective and efficient testing will provide timely visibility into the quality and readiness of the system and its input artifacts that is necessary to enable effective decision making throughout the SDLC. In my paper, I have explained various phases of SDLC and importance of testing in each and every phase. 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 Mohd. Ehmer Khan I completed my B.Sc in 1997 and M.C.A. in 2001 from Aligarh Muslim University, Aligarh, India. I have worked as a lecturer at Aligarh College Engineering & Management, Aligarh, India from 1999 to 2003. From 2003 to 2005 worked as a lecturer at Institute of Foreign Trade & Management, Moradabad, India. From 2006 to present working as a lecturer in the Department of Information Technology, Al Musanna College of Technology, Ministry of Manpower, Sultanate of Oman. I am recipient of PG Merit Scholarship in MCA. My research area is software engineering with special interest in driving and monitoring program executions to find bugs, using various software testing techniques. Farmeena Khan I completed my BCA in 2003 from Dr
Answered Same DaySep 28, 2021MITS5501

Answer To: Importance of Software Testing in Software Development Life Cycle Mohd. Ehmer Khan1, Farmeena Khan2...

Roshan answered on Sep 29 2021
151 Votes
Name:
ID:
1
Software Quality, Change Management and
Testing
Importance of Software Testing in Software Development Life Cycle
Author's: Mohd. Ehmer Khan , Farmeen Khan
Name:
ID:
Introduction: Software is a set of instructions that tells the computer how to work. Software or pro
gram code is converted machine language by means of CPU. And then after processing of program the computer gives as output according to programming.
In this report, the life cycle of software testing of software and related topics are discussed. The life cycle of software for development of software includes the following process: the problem definition, specification, architecture, software construction, software design, software testing and evaluation, debugging and finally software deployment and maintenance.We will also study testing of mechanism of software like security testing, testing, integration testing, regression testing, etc. Software test also plays a vital role in error correction, detection and also provides very good quality of software. The authors in this paper has describe the importance of software testing and software development life cycle. After reviewing this report one should know process of building of a program and how facing different challenges related to Software.
INTRODUCTION TO SOFTWARE TESTING:
The testing of software is very important, it plays a major role in development of a software. Software testing is done because after that is given to the client to work on it. people who works on the field of testing are called as testers and they play a major role for providing quality software.
IMPORTANCE OF SOFTWARE TESTING:
Providing best quality of software which is main importance of testing. According to the documentation the solution architect and functional architect are adopted and gone through the test plans. All the plans should be checked thoroughly. By approving from subject matters expert they decide the standard and all aspects of project for software.
After converting the test script into test cases the software should be validated and checked properly. Test script is thing which tells what will happens and what action we have to take after execution of program. With the help of test script the complete information related to design and architecture can be understood. Hence, software testing is important for development of software ( Khan M E & Khan F 2014 ).
DEVELOPMENT PROCESS OF A SOFTWARE:
Requirement / problem definition:- Searching of new problem that is solved by means of software is the first stage of building a new product.
Specification:- Specification defines the required system behaviour that how the system is going to behave. It also suggest the technical requirement with it is necessary for building software.
Architecture:- It describes the whole structure of program that is required to make software.
Software...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here