Flipkart

Monday, 21 November 2016

What is Software Testing?


Definition of Software Testing

  • It is a process of finding or identifying defects in software is called software testing. It is verifying the functionality of the application against requirements specification.
  •  It is the execution of the software with the intention of finding defects.
  •  It is checking whether the software works according to the requirements.
 There are 3 types of Software testing:

  1. White box testing  also called unit testing or structural testing or glass box testing or transparent testing or open-box testing.
  2. Black box testing – also called as functional testing or behavioral testing.
  3. Grey box testing - combination of both White & Black box testing method.


1) White box testing : 
  • It is done by developers. It is the testing of each and every line of code in the program. 
White box testing consists of the following tests :
  1. Path testing  Write flow graphs and test all the independent paths
  2. Condition testing : Test all the logical conditions for both true and false values i.e, we check for both “if” and “else” condition.
  3. Loop testing : Test the loops(for, while, do-while, etc) for all the cycles and also check for terminating condition if working properly and if the size of the condition is sufficient enough.
Test engineers should not be involved in fixing the bug because,
  1.  if they spend time in fixing the bug, they lose time to catch some more other defects in the Software
  2. fixing a defect might break a lot of other features. Thus, testers should always identify defects and developers should always be involved in fixing defects.
2) Black box testing :
  • It is verifying the functionality ( behavior ) against requirement specifications.
Types of Black Box Testing : 

1.Functional testing : It is Called as component testing

  • Testing each and every component thoroughly (rigorously) against requirement specifications is known as functional testing.
2. Integration Testing : 
  • Testing the data flow or interface between two features is known as integration testing.
3. System Testing : 
  • It is end-to-end testing wherein testing environment is similar to the production environment.
4. Acceptance Testing :

  • Acceptance testing is done by end users. Here, they use the s/w for the business for a particular period of time and check whether the s/w can handle all kinds of real-time business scenarios / situations.
  • end-to-end testing done by engineers sitting in customer’s place. Here, they take real time scenarios and check whether the s/w works or not.

No comments:

Post a Comment