Sunteți pe pagina 1din 6

Software testing

Software testing is nothing but the process of assessing the functionality


of software to ensure that it is in line with the requirements of the
customer. Testing is broadly classified into:

 Dynamic Testing: carried out by executing the program


 Static Testing: involves examination of code and related
documents.

Software testing is an investigation conducted to provide stakeholders


with information about the quality of the software product or service
under test.

Software testing can also provide an objective, independent view of the


software to allow the business to appreciate and understand the risks of
software implementation.

Software testing is defined as an activity to check whether the actual


results match the expected results and to ensure that the software system
is Defect free.

It involves execution of a software component or system component to


evaluate one or more properties of interest.

Software testing also helps to identify errors, gaps or missing


requirements in contrary to the actual requirements. It can be either done
manually or using automated tools. Some prefer saying Software testing
as a White Box and Black Box Testing.
Testing approaches :

Black Box Testing

Black box testing focuses only on the functionality of the software. The
tester does not look into the internal details of the software. Black box
testing is carried out at all levels of software testing – unit, integration,
system and acceptance.

The testing procedures for black box testing are very simple. The tester
only focuses on what the software is supposed to do. The tester is not
supposed to focus on how the software is managing the function
internally. The test cases for black box testing are created keeping only
the specifications and requirements in mind. No test case is created to
check the internal logic of the software. The tester just feeds in valid and
invalid inputs and checks the output for these values.

White Box Testing

Unlike black box testing, white box testing is carried out in depth to the
level of the source code. In this form of testing the internal logic, its
implementation and working is examined and the test cases are written to
check the how the software is working at the internal level. White box
testing can be carried out at the level of unit, integration and system level.
White box testing is often used to detect internal design errors which are
otherwise very difficult to uncover however, this form of testing does not
check for missing requirements or specifications.

1. Statement Coverage
2. Decision Coverage
3. Condition Coverage
4. Decision / Condition Coverage
5. Multiple Condition Coverage

Benefits of Software Testing

1) Software testing helps in identifying and fixing bugs before the


software becomes operational, the risk of failure can be reduced
considerably.
2) Any software does not necessarily work alone. Sometimes it has
to integrate and function with other existing legacy systems, as need be.
In such cases software testing gives a much needed assurance that it will
work suitably and its performance won’t get affected due to the
integration.
3) Software testing is a part of the software development process. It
performs a root cause analysis for which helps in making it more efficient.
4) Software testing is carried out keeping the end user in mind. With a
foresight for the scenarios that the end user will possibly face, tests are
carried out and their accuracy and efficiency are duly noted for any
discrepancies.
5) Reliability of software can be measured by certification or its
conformation with any set technical standard. This helps in creating
confidence and a healthy business relationship.

Why is Software Testing Important?

Testing is important because software bugs could be expensive or even


dangerous. Software bugs can potentially cause monetary and human loss,
and history is full of such examples.
 In April 2015, Bloomberg terminal in London crashed due to
software glitch affected more than 3,00,000 traders on financial
markets. It forced the government to postpone a 3bn pound debt
sale.
 Nissan cars have to recall over 1 million cars from the market due
to software failure in the airbag sensory detectors. There has been
reported two accident due to this software failure.
 Starbucks was forced to close about 60 percent of stores in the U.S
and Canada due to software failure in its POS system. At one point
store served coffee for free as they unable to process the
transaction.
 Some of the Amazon’s third party retailers saw their product price
is reduced to 1p due to a software glitch. They were left with heavy
losses.

Software Testing Types:

Manual Testing: Manual testing is the process of testing the software


manually to find the defects. Tester should have the perspective of an end
users and to ensure all the features are working as mentioned in the
requirement document. In this process, testers execute the test cases and
generate the reports manually without using any automation tools.

Automation Testing: Automation testing is the process of testing the


software using an automation tools to find the defects. In this process,
testers execute the test scripts and generate the test results automatically
by using automation tools. Some of the famous automation testing tools
for functional testing are QTP/UFT and Selenium.
Testing Levels:

1. Unit Testing
2. Integration Testing
3. System Testing
4. Acceptance Testing

In the today’s fast growing world of the Internet customer wants to get
products to be implemented and updated faster than their
competitors. Customer want more for software releases with new features
to be implemented in short time frame (as early as possible), but they
don’t like to work with defected software. As next version of the product
will releases in next few days, & gets only a couple of days of testing
before it is shipped. So due to this short time frame or continuous releases
the more bugs gets piled up into the products and which gets fixed in the
next release, but, this model has its own problems. Releasing such
software with so many bugs into it may affects the user experience which
makes bad impact on quality impression of your company brand. They
will remember about the delivered bad quality product, so there will be
Importance of testing which makes vital role in SDLC.

Importance of testing:

1. Testing should be introduce in the early stage of the SDLC, The


cost of fixing the bug is larger if testing is not done in early stage &
bugs found in later stages.
2. In the today’s competitive market only the quality product stays
longtime firmly, so to make sure the produce the good quality
product the testing of application is key factor in SDLC.
3. As it not possible makes it software application is defect free but
testing will be necessary.
4. Most important thing of testing is the development environment is
different than the Testing environment and the testing done on
testing environment is similar to the Production environment.

S-ar putea să vă placă și