What is Software Testing?



Google says as “ Software Testing is an Investigation conducted to provide Stakeholders with Information about the quality of Software product or Service under Test “ 


ISTQB [International Software Testing Quality Board] says as “ Software testing is a way to assess the quality of the software and to reduce the risk of software failure in operation”


And our Definition is “Software Testing is the Activity to ensure the Product meets the Desired requirements” 


But still The term “Software Testing” can accommodate various Statements and Purposes listed Below.

  • It is the process of finding errors/bugs in the system.

  • It is the process of Verification & Validation of Requirements( Stakeholder/Customer requirements) and testing it by developing Test cases.

  • Detecting valid error in each release at the early stage, is the effective way to avoid time loss and budget loss. It is the process to obtain the trust from the customer for the error free/error less/defect free product.

  • Testing gives us assurance regarding the Quality of the product.


To get more clarity , Find the below 5W1H Analysis on Software Testing


5W1H

Questions

Answers

Who

Who will be performing Software testing

Software Testing Engineer

What

What is being tested?

Product Software

When

When do we perform testing?

Throughout the Software development Life Cycle(SDLC).

Where

Where do the testing performed

Testing performed at Product development Organization/ External Organization.

It should not be with the End User Experience.

Why

Why is testing necessary?

To avoid bugs/errors.

To ensure the Quality of the product Delivered

How

How the testing performed?

Testing can be performed with real Testing Environment or Simulated Environment using test tools

Eg: H/W → ECU, Cameras 

S/W → CANoe

Automation → Scripting for automation

Languages → Python, CAPL, C# 


Simplified Software Testing Process Flow:



Input for Software Test : 1.  Requirements

      2. Product Software(Unit Under Test)

Output for Software Test: 1. Bugs/Issues Found in Testing

        2. Result of Software Test Either Pass/Fail


Result of Software testing can be Pass or Fail.

If Software Test result  Pass Meaning “Product met the Desired requirements” ,meaning “Expectations are met ”, Meaning “Quality of Product is Good”. But in Practical it is very Rare that Software test Result has 100 % Pass. Most of the time results would be conditional Passing .


If Software Test result as Fail meaning “Product Doesn’t Meet the Desire Requirements” ,Meaning “ Expectations are not met “,Meaning” Quality of product is not Good” . 



Why is Software Testing Needed ?


In Ideal Cases, Software Testing is Not Needed at all. Effort and Money Spent on Software testing is not Value Added. Ideal case meaning software build with 100% Accuracy /100% as Expected.


But in reality , Software never builds with 100% Accuracy /100% as Expected Because various factors which affects the software development process and make it less accurate and  not exactly meeting requirements. Factors including the Less understanding the Requirement, Incapability of Developers , Tools used might not be Perfect , So many Factors etc.,


So we need some activity that identifies the Gaps between the Implemented software and Expected requirements. That Activity is nothing but Software Testing.


Comments

  1. Nice informative post about software testing. Software testing is important because if there are any bugs or errors in the software, they can be identified early and fixed before the software product is delivered. Checkout the detailed information about software testing companies.

    ReplyDelete

Post a Comment