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

Importance of Software Testing in The Process of Software Development

This document summarizes an article about the importance of software testing in the software development process. It discusses how software testing plays a vital role in developing high-quality software by helping to find and prevent defects. The objectives of software testing are outlined, including verifying that software meets requirements and identifying differences between actual vs. expected results. An effective software tester needs good communication skills, domain knowledge, the ability to write high-quality test cases, manage time well, and maintain a quality-oriented approach.

Uploaded by

da6789121
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
98 views

Importance of Software Testing in The Process of Software Development

This document summarizes an article about the importance of software testing in the software development process. It discusses how software testing plays a vital role in developing high-quality software by helping to find and prevent defects. The objectives of software testing are outlined, including verifying that software meets requirements and identifying differences between actual vs. expected results. An effective software tester needs good communication skills, domain knowledge, the ability to write high-quality test cases, manage time well, and maintain a quality-oriented approach.

Uploaded by

da6789121
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

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

net/publication/331223692

Importance of Software Testing in the Process of Software Development

Article · January 2019

CITATIONS READS

19 15,890

2 authors, including:

Abhineet Anand
Chandigarh University
109 PUBLICATIONS 404 CITATIONS

SEE PROFILE

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

CLOUD COMPUTING AND SECURITY View project

Comparitive study on realtime data processing systems View project

All content following this page was uploaded by Abhineet Anand on 20 February 2019.

The user has requested enhancement of the downloaded file.


IJSRD - International Journal for Scientific Research & Development| Vol. 6, Issue 12, 2019 | ISSN (online): 2321-0613

Importance of Software Testing in the Process of Software Development


Azeem Uddin1 Abhineet Anand2
1,2
Galgotias University, Greater Noida, Uttar Pradesh, India
Abstract— Software Testing is the process to check whether So, this paper is all about understanding the need of
the software is defect- free or not. It is the process of Software Testing so that an error-free, reliable, flexible and
verification and validation of software service or application efficient Software can be delivered to customers.
by checking whether it is meeting the user requirements and
what all is implemented as per the characteristics. Software II. NEED OF SOFTWARE TESTING
testing plays a vital role in the process of developing a high In order to understand the need of Software Testing in a better
quality software. Testing is necessary because we all make way, we should go back to 1960s and 1970s when software
mistakes. Some of those mistakes are unimportant but some crisis occurred and there were many difficulties in the
of them are expensive and dangerous. Therefore, there is a development of software systems. Some examples are stated
need to check everything that we produce. Hence, this paper below-
presents an introduction to Software Testing and its
importance with strong exemplary illustrations. It not only A. The Northeast Blackout In 2003
provides a vivid account of the need, objectives and It has been major power system failures in the history of
principles of testing but also summarises traits of an excellent North America that involves 100 power plants, suddenly, the
Software tester. At last, this paper includes a comparative power plant was failed. 50 million customers faced this
study of present scenario of software testing with regard to problem and there was a financial loss of $6 billion.
testing in early days. Moreover, this paper focuses on “Why
to test” not How to test, so that the need of carrying out B. Arian 5-Space Rocket
Software testing can be crystal clear in a more effective In 1996, Arian 5- space rocket, developed at cost of $7000
manner. million over a period of 10 years was destroyed within less
Key words: Software Testing, Need of Software Testing, than one minute after its launch as there were software bugs
Software Testing Objectives, Software Testing Principles, in Rocket Guidance system.
Software Testing Importance, A Good Software Tester
C. US Banks Credit
I. INTRODUCTION In 1996, US banks credited $924 lakhs in the accounts of
nearly 800 customers. This problem was due to programming
Testing is not a PIT, it is a LADDER…! bugs in the Banking System.
In simple words, Testing is finding out how well something If we try to find out the causes of above failures,
works. Relating it to the software, Software Testing is the then, there can be many factors responsible for the same.
process to check the correctness, completeness and accuracy They can be
of developed computer software. In technical terms, we can  Hardware oriented World
say, Testing is the combination of Verification and
 Inexperienced developer
Validation.
 User changing requirements
This can be well-explained with the help of the
simplest example. Suppose, you have to buy a pen from the  Rapid increase in software cost
stationary shop. You will ask the shopkeeper about the same, But, the main aspect that is totally responsible for
he will give you a new pen. Now, there can be two the failures in big projects is LACK OF PROPER TESTING
possibilities, that particular pen can be working and at the because at that time also, developers were trying their level
same time, it can be defective as well. So, in order to check best to develop a robust software according to the available
it, you will ask the shopkeeper for a rough page, you will resources, skills and technology, but they were lagging in
write something and you will test it whether it is defective or Testing process that resulted in severe loss of time and money
not. This is nothing but a straightforward example of Testing. due to the absence of appropriate testing methodologies, tools
Developing a software is not a cakewalk. Everyone wants to and knowledge.
get things that work well. They don’t want to receive a Therefore, to know how to test the system is an
defective piece and that’s quite obvious as well. Applying this issue, more importantly, one should know why to test the
concept to customer service, customers also expect an error- system that requires knowledge of goals, objectives and
free software from the development team that is made principles of testing.
according to their requirements. Hence, from here, Testing
plays a very crucial role in the development of a high quality III. OBJECTIVES OF SOFTWARE TESTING
software. Therefore, by summing up all these ideas, Software The major role of Software Testing is that there should be no
Testing may be defined as the process of exercising or discrepancy in software development process. The goals and
evaluating a system by manual or automatic means to verify objectives of testing are numerous, which when achieved help
that it satisfies specified requirements or to identify developers build a defectless and satisfactory software.
differences between actual and expected results. A successful Some of the Objectives of Software Testing are summarised
test is one that does detect a fault. Testability is one of the below-
most important Software Quality Attributes that influence the
Software product.

All rights reserved by www.ijsrd.com 141


Importance of Software Testing in the Process of Software Development
(IJSRD/Vol. 6/Issue 12/2019/035)

A. To Find and Prevent Defects software tester so that correct requirement analysis and test
The foremost task of a tester is to find defects in the software plans can be conducted.
and report them to developer so that they can be rectified. A D. Good Time Manager
tester must form best set of test cases so that maximum
Time is the biggest constraint in the process of software
defects can be arised. After all, Testing shows presence of
development. A software with extraordinary functionalities,
defects.
best coding, and proper design can be of no use to customer
B. Satisfies the SRS & BRS if it is not delivered on desired time. Testing is the part of
Another objective of testing is to check whether the software development lifecycle (SDLC), hence, early testing
developed software satisfies the Software Requirement must be done at each and every phase of SDLC to prevent
Specification and Business Requirement Specification or not delay in software delivery process. For this, testers must be
because until or unless the software is satisfying user able to manage time in such a way that desired testing results
requirements, it is of no use to the customer inspite of using can be achieved and at the same time, software can be
best programming skills, designing and tools. delivered on time.

C. Writing High Quality Test Cases E. Quality-Oriented


A test case is a set of conditions under which a tester will Great testers are always passionate and quick learners. They
determine whether an application under test satisfies keep a positive attitude. Quality-oriented nature means a
requirements or works correctly. The process of developing tester should always think about how quality of software can
test cases can also help problems in the requirement or design be enhanced. A tester must be user-oriented, he should always
of an application. The more accurate are the test cases, the think about user requirements so that proper software quality
better will be testing process. attributes can be achieved.
Other traits of a good software tester can be creative
D. Software Reliability Estimation mind, Out of box thinking, great attitude, intellectual
Testing also helps to estimate the reliability of software. curiosity etc.
Software reliability is the probability of failure-free software
operation for a specified period of time in a specified V. PRINCIPLES OF SOFTWARE TESTING
environment. Reliability estimation helps to find the number Principles are basic ideas or rules that explains or control how
of failures occurring in a specified amount of time to find the something happens or works. There are seven principles of
mean life of software and to discover main cause of failure Software Testing-
etc.
A. Testing Shows Presence of Defects
E. Minimum Cost and Effort
The first principle states that testing talks about the presence
Testing is too expensive- it’s a myth. There is always a saying of defects and don’t talk about the absence of defects. The
that we should pay less for testing and more for maintenance. goal of testing is to make the software fail. In case, testers are
But in actual, if there will be no proper testing, it unable to find defects after repeated regression testing does
may result in improper design of software that will be not mean that software is bug-free.
expensive to handle and there will be great loss of time and
money. B. Exhaustive Testing Is Impossible
F. Gain Customer Confidence The process of testing the functionality of a software in all
possible inputs (valid or invalid) and preconditions is known
Software testing helps to gain confidence of customers by as exhaustive testing. Instead of exhaustive testing, risk
providing them a quality product. analysis and priorities should be used to focus testing efforts.
For example, if we are testing a text box that accepts numbers
IV. TOP QUALITIES OF HIGHLY EFFECTIVE TESTERS between 0 to 100, we would test for boundary values, on less
A. Keen Observer than boundary value, one more than boundary value, middle
number, few random numbers, that’s it and assume that if it
A good software tester must be a keen observer so that he can
is working fine for these numbers, it will work for other
keep track of all the details about the project and can organise
numbers also. We can’t test for each number, that’s very
the testing in a better way. This attribute helps the tester to
impractical and complicated.
remain updated and informed about the test progress.
C. Early Testing
B. Good Communication Skills
To find the defect in the software, early test activity shall be
One of the most important skills that a tester must have is-
started. The defect detected in early phases of Software
Good communication skills. A tester must have good verbal
Development Lifecycle will be less expensive. So,
and written communication skills so that he can excel in
conducting early testing reduces the cost of fixing defects.
writing test plans, test cases, handling defects etc.
D. Defect Clustering
C. Analytical Skills
It states that, in a project, a small module can contain most of
Analytical skill is the skill of performing an analysis and
the defects. Pareto principle states that 80% of the problems
analysis is the key process of testing. Therefore, proper
are found in 20% of the modules. Most of the reported defects
analytical and technical skills are required to become a good
are related to small number of modles within a system.

All rights reserved by www.ijsrd.com 142


Importance of Software Testing in the Process of Software Development
(IJSRD/Vol. 6/Issue 12/2019/035)

E. Pesticide Paradox VII. EXEMPLAR ILLUSTRATION OF SOFTWARE TESTING


If you keep running the same set of tests over and over again, For practical and better understanding, some test scenarios of
chances are no more new defects will be discovered by those WHATSAPP- Messaging application are provided below.
test cases. To overcome this, the test cases need to be These are not the actual test cases in a test case format but a
regularly reviewed and revised, adding new and different test general layout how manual testing is performed. There would
cases to help find more defects. be numerous test cases for Whatsapp, but here, tests are
limited to some of the high level features according to their
F. Testing Is Context Dependent
functionality.
Testing approach depends on context of software developed.
Different types of software need to perform different types of A. Installation Testing
testing. For example- The testing of E-commerce site is This type of testing is performed to verify if the software has
different from the testing of the Android application. been installed with all the necessary components or not.
Whatsapp will be tested whether it can be installed or not.
G. Absence of Errors- Fallacy
 Check that user can download the Whatsapp application
99% of bug-free software may still be unusable, if wrong from play store or not.
requirements were incorporated into the software and the
 Check that user can register with a new mobile number.
software is not addressing the business needs. In this case,
 Check that user is getting a verification code on his
finding and fixing defects does not help. “No Amount of
mobile…..
Testing Can Prove a Software Right a Single Test Can Prove
a Software Wrong” B. Test Case on Status
 Check that user can set DP (Display Picture).
VI. LEVELS OF TESTING  Check that user can set status on Whatsapp.
A level of testing is the stage at which the software must be  Check the status privacy and settings.
tested. There are four recognized levels of testing-  Check that recent updates are available or not.
A. Unit Testing C. Test Case on Chats
In Unit testing, the smallest testable parts of an application  Check that Chats window contains the entire chat list.
called units are tested independently. It focuses on smallest  Check that Chats window shows the last updated chat
element of the software system called module. That’s why, it time.
is also called module testing. It is done by developers.  Check that Chats window contains the group chat list.
1) Example  Check that Chats window contains the users whose DP
Consider the example of Calculator. To conduct unit testing is not available.
on the calculator system, individual modules like Addition,
 Check that user can send and receive media files in chat
subtraction, multiplication, division must be tested
to individuals.
independently.
 Check that user can check all messages delivered and
B. Integration Testing received.
The purpose of integration testing is to expose faults in the  Check that CREATE NEW GROUP is available or not.
interaction between integrated units. It is the process of  Check that user can give group name.
testing the interface between two software units. It can be D. Test Case on Calls
done in three ways- Big-bang approach, top down approach
and bottom up approach.  Check that call history is available or not.
 Check that call history shows the called date and time.
C. System Testing  Check that search is working fine or not.
System testing is nothing but the testing of complete system.  Check that user can call and receive calls from person in
It is the last test that the developer performs before delivering his contact list.
the software to public for acceptance testing. Different types
of system testing are followed like usability testing, stress E. Design based Testing
testing, regression testing etc. First and important step in Design based testing is the testing in which test cases are
system testing is to prepare System test plan. designed according to the detailed or architectural design of
the system.
D. Acceptance Testing  Does the Whatsapp follow the design specification?
It is a level of testing where a system is tested for  Check that call section is available or not.
acceptability. It has various types’ like- Alpha testing, beta  Check that Chat section is available or not.
testing, user acceptance testing and business acceptance
testing. It is done by end users. Its outcome provides an F. Non-Functional Testing
important quality indication for the customer to determine It is the testing of software for its non-functional
whether to accept or reject the product. requirements.
 Test whether the application looks like an application.
 Look and feel must be good.

All rights reserved by www.ijsrd.com 143


Importance of Software Testing in the Process of Software Development
(IJSRD/Vol. 6/Issue 12/2019/035)

G. Negative Test Cases from start till end, otherwise desired testing results will not
 Check that how Whatsapp perform when user try to send be noticeable. Moreover, to conduct testing well, the various
data to blocked group. terminologies involved in the testing process must be crystal
 Check that how Whatsapp perform when app gets clear to the testers.
crashed.
 Check that how Whatsapp perform when user(Not IX. SOFTWARE TESTING TOOLS
admin) try to remove a person from group. Software testing is of two types- Manual and automation.
Hence, the above mentioned test scenarios prove that Testing Automation testing can be done with the help of several tools.
is a broad concept. We not only need to write POSITIVE test There are many software testing tools available, so it becomes
cases, but NEGATIVE test cases as well. Therefore, each and quite difficult to select the best tool for the project and these
every functionality must be tested in order to attain tools are also classified on the basis of certain parameters like
favourable testing results. So, this was just a clear-cut Test management tools, load testing tools, mobile testing
example that summarised the significance of Software tools, defect tracking tools, security testing tools etc. Some of
testing. the general testing tools are summarised below-
A. Selenium
VIII. SOFTWARE TESTING LIFE CYCLE (STLC)
Selenium is a free open source portable framework for testing
Software testing lifecycle is a sequence of activities web applications. It is written in Java. It has many
conducted to perform software testing in a systematic and components like Selenium IDE, Selenium Client API,
planned manner. In STLC, different activities are carried out Selenium web driver, Selenium remote control etc.
to improve the quality of product. STLC is a subset of
Software Development life Cycle (SDLC). The phases of B. Testpad
STLC are explained below- Testpad is a simple test management tool. There are many
A. Requirement Analysis features of testpad like it is mobile and tablet friendly, easy
in, easy out, natural way to test, drag and drop organisation
In this first phase of STLC, test team studies the requirements etc.
and checks whether the requirements are testable or not.
Business requirement specification and Software requirement C. Zephyr
specification play a very important role in this phase. Zephyr, a test management software provides a suite of tools
B. Test Planning to optimise speed and quality of testing. When the test load
increases, agile team expands, Zephyr ensures reliability and
Once the test team is clear with the requirements, the testers testability.
can start making test plans. Test plan is nothing but a proper Apart from the above tools, there are many other
strategy or approach with the help of which, testers conduct tools such as qTest, QMetry, QAComplete, Ranorex etc.
their testing.
C. Test Case Development X. A COMPARATIVE STUDY OF PRESENT SCENARIO OF
SOFTWARE TESTING WITH REGARD TO SOFTWARE TESTING IN
This phase involves the creation of test cases and test cases
THE EARLY DAYS
are also reviewed after their finalization. Test team also
prepares the Requirement Traceability Matrix in this phase. TESTING IN THE PRESENT SCENARIO
EARLY DAYS OF TESTING
D. Test Environment Setup
Management style is
Test environment decides on which conditions software is Management style was
1 leadership and
tested. This phase can run in parallel with design phase. The command and control.
Collaboration.
deliverables in this phase are test environment and smoke test 2 Risk was high. Risk is low.
results. Scope of testing in the
Scope of testing in the
E. Test Execution 3 present world is
early days was limited.
Mature and widespread.
After test environment setup, execution of test cases is
performed based on the defined test plan. All the positive and 4 Reuse was low. Reuse is high.
negative test cases must be executed and documented in a Planning of testing was Planning of testing is
5
proper format. Defect report should be prepared for failed test predictive. adaptive.
cases and should be reported to the development team for Communication Today, the
rectification. 6 between developers communication is
and testers was formal. informal.
F. Test Closure Primary objective was Primary objective is
7
Once testing is completed, matrix, reports and results are high safety. quick value.
documented. It is the last phase of STLC. Remodelling was Remodelling is less
8
STLC is a very important phase of SDLC and final expensive. expensive.
product cannot be released without passing through testing User involvement was User involvement is
9
process. The different phases of Software Testing Life cycle low. high.
must be executed in the same order in which they are defined

All rights reserved by www.ijsrd.com 144


Importance of Software Testing in the Process of Software Development
(IJSRD/Vol. 6/Issue 12/2019/035)

Knowledge
Knowledge
10 management was
management is tacit.
explicit.
INPUT+PROGRAM+ INPUT+RESULT+CO
11 COMPUTATION MPUTATION
RESULTS PROGRAM
Table 1:

CONCLUSION
Software Testing is an activity that is performed for
evaluating software quality and also for improving it. It is one
of the broader topics that wants immediate attention in this
era of new and higher demand of Quality Software. To carry
out testing in a more effective manner, this paper presented a
comprehensive account of all the terminologies that are
related to software testing. Generally, it happens that people
know the best techniques, methodologies, tools that are
involved in testing, but they don’t know the basic testing
goals and this is reflected in their bad testing reports. So, to
perform testing efficiently and accurately, everyone involved
in testing should be familiar with basic software testing goals,
objectives, principles and concepts. Then only, a robust,
reliable, accurate, flexible and efficient Software can be
delivered to public. It is the need of the hour to focus more on
WHY TO TEST rather than HOW TO TEST because when
the WHY is clear then, the HOW is easy.
KEEP CALM AND TEST ON…!

REFERENCES
[1] Glenford J. Myers, Corey Sandler and Tom Badgett,
2011. The Art of Software Testing(3rd edition)., Wiley
Publishing.
[2] Rasneet Kaur Chauhan & Iqbal Singh, Latest research &
development on Software Testing techniques and tools,
Article published in International Journal of Current
Engineering and Technology, Vol.4, No. 4(Aug-2014).
[3] Naik & Tripathy,”Software Testing & Quality
Assurance”,(Ist edition),Wiley Publishing, 2008-08-18.
[4] Mohd. Ehmer Khan & Farmeena Khan, Importance of
Software Testing in software Development Life Cycle,
International Journal of Computer science Issues,
Vol.11, No.2,March 2014.
[5] Priya Shukla & Deepesh Mishra, A Composition on
Software testing, International Journal of Technical
Research and Applications, Vol.2, (March-April 2014).
[6] Bindia Tarika, Review on Software Testing Techniques,
International Journal on Recent and Innovation Trends
in Computing & Communication, Vol.2, (January-2014).

All rights reserved by www.ijsrd.com 145

View publication stats

You might also like