Software Testing
If we want to know, What is Software Testing, We should know first, What is Software and What is Testing.
So, Let’s understand both the Concepts.
Let’s start with Testing first.
What is Testing
Testing – Process to Check if the Product or a Software is defect free i.e. the Product is a Good Quality Product.
Let’s say
If you want to buy a plastic chair, then what will you check in that chair, May be the following
- Are you able to sit on the chair
- Plastic is of good Quality
- Chair is strong and Plastic is thick
- There is no crack on the Chair
These Quality checks are nothing but Testing.
So, In Simple words, We can say, that,
Checking the Quality of a product is called Testing.
Or, We can say, that
Checking if a product is defective or not, is called Testing.
What is Software
Software – Some lines of code. Programs written in Programming Language is called Software.
Let’s say
- Calculator Application in our laptop or desktop or Mobile.
- WhatsApp is a Software Application
- Microsoft word is a software
So, These are some example of Software.
How Software is developed or created
Now the Question is, How these Software were created, So these Software were created by using some programming language.
We write programs using programming languages and these programs could be anything, such as Addition of 2 numbers, Subtraction of 2 numbers or anything else.
When we write program using programming language and then combine all the program together in 1 single application, then that is called Software.
for Example,
If we have to create Calculator Application Software, then
We need to write a program for Addition, Subtraction, Multiplication etc …
Then we need to combine all these programs and create a Software Application, that is Calculator.
What is Software Testing
Now, As we have understood, that what is a Software and What is Testing, then we can simply say now that
Software Testing is a Process of checking the quality of a Software.
In this process, We make sure that the Software is defect free Working Software.
Software Testing is a process to check the functionality of a Software
Software Testing is a process to check whether the Software actually works the same way as it was expected to.
let’s understand how to do Software Testing.
Let’s understand this with an example of Calculator Software.
Example of Software Testing
Now. let’s say if we have to do Software Testing for that Calculator, So How do we do that.
First of all, we must know all the functionality that we need to test, for Example a Calculator will have Addition, Subtraction and Multiplication etc .. functionalities.
So, we have to prepare some Scenarios for that
- Scenario 1 – Testing the Addition Functionality
- Scenario 2 – Testing the Subtraction Functionality
- Scenario 3 – Testing the Multiplication Functionality
and these scenarios are called Test Scenarios
Then we have to prepare Test Cases based on these Test Scenarios
Test Cases and Test Scenarios
Here are the Test Cases
Test Scenario | Test Case 1 | Test Case 2 | Test Case 3 |
---|---|---|---|
Addition | Add 2 Numbers | Add 3 Numbers | Add a positive and a negative number |
Subtraction | Subtract a small number from a big number | Subtract a big number from a small number | Subtract a positive and a negative number |
Multiplication | Multiply a positive number and a negative number | Multiply two positive numbers | Multiply two negative numbers |
Test Execution Status
In Test Execution Process, We have something called as Expected or Desired Results and another thing is Actual Result, I don’t have to explain them as the name itself tells us, what is meaning of each of them.
Now, let’s say while testing these Test Scenarios or Test Cases, We don’t get the expected or desired results, i.e. the expected result and actual results are not same, then we say that the Test Case is Failed.
But if we get the expected or desired results, i.e. the expected result and actual results are same, then we say that the Test Case is Passed.
This thing is called Test Execution Status.
Let’s see it with an example.
Test Case | Test Data | Expected Result | Actual Result | Status |
---|---|---|---|---|
Add 2 Numbers | 4+2 | 6 | 6 | Passed |
Add 3 Numbers | 4+2+4 | 10 | 10 | Passed |
Add a positive and a negative number | 4+(-2) | 2 | 6 | Failed |
Subtract a small number from a big number | 4-2 | 2 | 2 | Passed |
Subtract a big number from a small number | 2-4 | -2 | -2 | Passed |
Subtract a positive and a negative number | 4-(-2) | 6 | 2 | Failed |
Multiply a positive number and a negative number | 4*(-2) | -8 | -8 | Passed |
Multiply two positive numbers | 4*2 | 8 | 8 | Passed |
Multiply two negative numbers | (-4)*(-2) | 8 | 8 | Passed |
Summary
So, in this session, we have covered below topics.
- What is Software Testing
- What is Test Scenarios
- What is Test Case
- What is Test Execution status
Question
So, Question for this session will be,
Explain Software Testing Process with the help of some example of some software application, such as WhatsApp Application