02 | Software Testing

Published on Aug 10, 2021 | By Tesvan team

What is software testing?


Software Testing is a method to check whether the actual software product matches expected requirements and to ensure that software product is Defect free. It involves execution of software/system components using manual or automated tools to evaluate one or more properties of interest. The purpose of software testing is to identify errors, gaps or missing requirements in contrast to actual requirements.


Why is Software Testing important?

Software Testing is Important because if there are any bugs or errors in the software, it can be identified early and can be solved before delivery of the software product. Properly tested software product ensures reliability, security and high performance which further results in time saving, cost effectiveness and customer satisfaction.

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 300,000 traders on financial markets. It forced the government to postpone a 3bn pound debt sale.
  • Nissan cars recalled 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, the store served coffee for free as they were unable to process the transaction.
  • Some of Amazon's third-party retailers saw their product price is reduced to 1p due to a software glitch. They were left with heavy losses.
  • Vulnerability in Windows 10. This bug enables users to escape from security sandboxes through a flaw in the win32k system.
  • In 2015 fighter plane F-35 fell victim to a software bug, making it unable to detect targets correctly.
  • China Airlines Airbus A300 crashed due to a software bug on April 26, 1994, killing 264 innocents live
  • In 1985, Canada's Therac-25 radiation therapy machine malfunctioned due to software bug and delivered lethal radiation doses to patients, leaving 3 people dead and critically injuring 3 others.
  • In April of 1999, a software bug caused the failure of a $1.2 billion military satellite launch, the costliest accident in history
  • In May of 1996, a software bug caused the bank accounts of 823 customers of a major U.S. bank to be credited with 920 million US dollars.


Positive testing

Positive Testing is a type of testing which is performed on a software application by providing the valid data sets as an input. It checks whether the software application behaves as expected with positive inputs or not. Positive testing is performed in order to check whether the software application does exactly what it is expected to do.

For example:

There is a text box in an application that can accept only numbers. Entering values up to 99999 will be acceptable by the system and any other values apart from this should not be acceptable. To do positive testing, set the valid input values from 0 to 99999 and check whether the system is accepting the values.


Negative testing

Negative Testing is a testing method performed on the software application by providing invalid or improper data sets as input. It checks whether the software application behaves as expected with the negative or unwanted user inputs. The purpose of negative testing is to ensure that the software application does not crash and remains stable with invalid data inputs.

For example:

Negative testing can be performed by entering characters A to Z or from a to z. Either the software system should not accept the values or else it should throw an error message for these invalid data inputs.

In both the testing, the following needs to be considered:

  • Input data
  • An action which needs to be performed
  • Output Result

Testing Technique used for Positive and Negative Testing:

Following techniques are used for Positive and negative validation of testing is:

  •  Boundary Value Analysis
  • Equivalence Partitioning



Useful links
1. Software testing /video tutorial/eng/
2. Software testing /video tutorial/rus/
3. Software testing /article/eng/
4. Software testing /article/eng/

Next Lessons

03 | 7 Software Testing Principles

Aug 11, 2021

7 Principles of Software Testing   Exhaustive testingYes! Exhaustive testing is not possible. Instead, we need the optimal amount of testing based on the risk a...

By Tesvan team

04 | SDLC

Aug 11, 2021

What is SDLC? SDLC is Software Development Life Cycle. It is the sequence of activities carried out by Developers to design and develop high-quality software. R...

By Tesvan team

05 | STLC

Aug 11, 2021

 Requirement Collection and analysisRequirement Phase Testing also known as Requirement Analysis in which test team studies the requirements from a testing poin...

By Tesvan team

06 | Verification and Validation

Aug 11, 2021

Verification and Validation VerificationVerification in Software Testing is a process of checking documents, design, code, and program in order to check if the ...

By Tesvan team

07 | Unit testing

Aug 12, 2021

Testing levels There are mainly four Levels of Testing in software testing Unit testingA Unit is a smallest testable portion of system or application which can ...

By Tesvan team

Interesting For You

32 | Kanban methodology

Aug 18, 2021 | By Tesvan team

Kanban methodology Visualize what you do today (workflow): seeing all the items in context of each other can be very informativeLimit the amount of work in prog...

28 | Test Plan

Aug 18, 2021 | By Tesvan team

A TEST PLAN is a document describing software testing scope and activities. It is the basis for formally testing any software/product in a project.Test Plan tem...