Software Testing and Types of Software Testing
In this article, we are discussion about Software Testing and Testing Types. Also we will cover Software Testing Objectives.
Just to inform our students and readers, we keep updating this article with more and more in detail as per the latest trends in the job market. Our main goal is to prepare our students and readers job ready.
Best Manual Software Testing Online Training
Our Trainer Profile
Software Testing and Types of Testings:
Manual Testing is a process to verify system is meeting the client requirements. Software testing also helps in finding the defects and deliver quality product.
Let’s talk in detail above concept by understand below example
Let’s say banking client have below requirements and would like to develop online product for their customers for online banking:
- User shall be allowed to login for net banking after entering valid use id and password
- If user enters wrong password system should display an error message stating “Please enter valid user id / password”
- If wrong password is entered more than 3 times then the user account shoulbe locked for 24 hours
- System should allow user to add beneficiary
- System should allow to transfer funds
So we have all above requirements to build a product for instance . Now let’s say development team implemented all of the above requirements. Now as a tester we need to start doing the testing.
Let’s take above requirements for testing
For 1st one we need to test by providing valid user id and valid password to verify product is allowing to login
– 2nd one we need to enter valid user id and wrong password and click on login button and check system is displaying error message as “Please enter valid user id / password”
-3rd keep enter wrong password more than 3 times and check whether user account is locked.
In 4th attempt enter right password and check system whether is not allowing to login as user account is locked.And after 24 hours again try to login with valid password as a result system should allow user to login as account locking time is more than 24 hours.
Here we are making sure system is working as expected as part of our testing.
Let’s try to understand what do you mean by Expected Result & Actual Result:
Actual Result: When client comes with some requirements to build a product developer shouldwrite the code to implement.
This is called as actual result / implementation implemented by developer
Expected Result: Every requirement from above is having expected result from the system.
Once if the product is given to test then validate actual result is meeting with expect result from above requirements.
If there any differences in actual result then we call this as a defect in the system.
Best Manual Software Testing Online Training
Our Trainer Profile
Objectives of Software Testing:
Below are the main objectives of software testing:
- Finding defects in the system
- Prevent defects from end user
- To make sure developed product meets client requirements
- Make sure it satisfies all business requirements
- Gain confidence from client by delivering quality product
Types of Software Testing
We can categorize software testing into two types
- Black Box Testing
- White Box Testing
Understanding them in detail:
Black Box Testing: Let’s look at below diagram to understand it in better:
In above diagram what we are doing is we are providing some input and expecting some output. But in between these twowe see a black box in which you have some executable code. Since it’s in the black box nothing is visible to you. It just takes some input and executes some executable code to provide output.
Since it’s black box nothing is visible as a tester you really don’t know below:
- Logic of the code how it is written
- Internal architecture of the application
- Technology used to develop a product
- Which part of the code getsexecuted from entire program
In black box testing we always concentrate on functional behavior for the system.
Let’s take an example for black box testing:
As a normal user I would like to withdraw some amount from ATM machine and I follow below steps as a input to system
- Insert your debit / credit card into ATM machine
- Input your password
- Select withdraw option
- Input amount you want to withdraw let’s say 2000$
- Collect amount from ATM machine
So, from all of the above steps / we shall verify if proper input shows valid output . In this example I should get 2000$ as my output.
But here which technology ATM machine is implemented is unknown, Architecture of ATM machine how it is designed and logic of the code that is written.
Black Box Testing Techniques:
We use below testing techniques in black box testing
- Boundary Value Analysis
- Equivalence Partition
- Error Guessing
We will discuss them in detail in coming topics.
White Box Testing: If you take reverse of black box testing it is nothing but white box testing. I mean in black box testing nothing is visible to tester whereas in white box testing you have visibility to code.
white box testing following types of testing / techniques areto be performed
- Statement Coverage Testing
- Condition Coverage Testing
- Branch Testing