top of page

Types of Software Testing

Writer's picture: rutiklone3344rutiklone3344

Updated: Aug 5, 2022

There are various types of testing in software testing. mainly they are divide into two types.

  1. Manual Testing

  2. Automation Testing

With the help of below flow chart, we can easily understand the type of software testing.



Manual Testing

Manual Testing it is a process of testing the functionality of an application as per the Client Requirement without taking an help of automation tools is known as Manual Testing.

Before performing the manual testing on an application we have a proper understanding of the product so we can easily prepare the test document.


Manual Testing divided into three types.

  1. White Box Testing

  2. Black Box Testing

  3. Gray Box Testing


 

White Box Testing

White Box Testing is software testing technique in which internal structure, design and coding of software are tested to verify flow of input-output and to improve design, usability and security. In white box testing, code is visible to testers so it is also called Clear box testing, Open box testing and Glass box testing. In this type of testing programming skills are required to design test cases. The primary goal of white box testing is to focus on the flow of inputs and outputs through the software and strengthening the security of the software.



The developers perform the white box testing. in this they will test every line of the code of the program and then send the application or the software to the testing team. where they will perform the black box testing.


The white box testing contains various tests, which are as follows:

  • Path testing

  • Loop testing

  • Condition testing

  • Testing based on the memory perspective

  • Test performance of the program


Advantages of White Box Testing
  • Code optimization by finding hidden errors.

  • White box tests cases can be easily automated.

  • Testing is more thorough as all code paths are usually covered.

  • Testing can start early in SDLC even if GUI is not available.


Disadvantages of White Box Testing
  • White box testing can be quite complex and expensive.

  • Developers who usually execute white box test cases detest it. The white box testing by developers is not detailed can lead to production errors.

  • White box testing requires professional resources, with a detailed understanding of programming and implementation.

  • White-box testing is time-consuming, bigger programming applications take the time to test fully.

 
Black Box Testing

Black Box Testing is a software testing method in which the functionalities of software applications are tested without having knowledge of internal structure or coding.

Black Box Testing mainly focuses on input and output of software applications and it is entirely based on software requirements and specifications. It is also known as Behavioral Testing.

Generic steps of black box testing
  1. Initially, the requirements and specifications of the system are examined.

  2. In the second step, the tester creates a positive test scenario and an adverse test scenario by selecting valid and invalid input values to check that the software is processing them correctly or incorrectly.

  3. Tester determines expected outputs for all those inputs.

  4. Software tester constructs test cases with help of test case techniques.

  5. The Next phase includes the execution of all test cases.

  6. Software tester compares the actual outputs with the expected outputs.

  7. Defects if any are fixed and re-tested.


Black Box Test Case Techniques

  • Boundary Value Analysis (BVA) :- Boundary value testing is focused on the values at boundaries. This technique determines whether a certain range of values are acceptable by the system or not. It is very useful in reducing the number of test cases. It is most suitable for the systems where an input is within certain ranges.

  • Equivalence Partitioning (EP) :- It is used to minimize the number of possible test cases to an optimum level while maintains reasonable test coverage.


  • Decision Table Testing :- A decision table puts causes and their effects in a matrix. There is a unique combination in each column.


  • State Transition Diagrams :- State Transition Technique is used to capture the behavior of the software application when different input values are given to the same function.


  • Use Case Testing :- Use case Technique used to identify the test cases from the beginning to the end of the system as per the usage of the system. By using this technique, the test team creates a test scenario that can exercise the entire software based on the functionality of each function from start to end.


  • Error Guessing :- Error guessing is a technique in which there is no specific method for identifying the error. It is based on the experience of the test analyst, where the tester uses the experience to guess the problematic areas of the software.


Advantages of Black Box Testing
  1. Well suited and efficient for large code segments.

  2. Code access is not required.

  3. Clearly separates user's perspective from the developer's perspective through visibly defined roles.

  4. Large numbers of moderately skilled testers can test the application with no knowledge of implementation, programming language, or operating systems.


Disadvantages of Black Box Testing
  1. Limited coverage, since only a selected number of test scenarios is actually performed.

  2. Inefficient testing, due to the fact that the tester only has limited knowledge about an application.

  3. Blind coverage, since the tester cannot target specific code segments or error prone areas.

  4. The test cases are difficult to design.

 
Gray Box Testing

Gray box testing is a software testing method to test the software application with partial knowledge of the internal working structure. It is a combination of black box and white box testing because it involves access to internal coding to design test cases as white box testing and testing practices are done at functionality level as black box testing.



Generic Steps to perform Gray Box Testing
  1. select and identify inputs from Black Box and White Box testing inputs.

  2. Identify expected outputs from these selected inputs.

  3. Identify all the major paths to traverse through during the testing period.

  4. Identify sub-functions which are the part of main functions to perform deep level testing.

  5. Identify inputs for subfunctions.

  6. Identify expected outputs for subfunctions.

  7. Executing a test case for Subfunctions.

  8. Verification of the correctness of result.


Gray Box Test Case Techniques

  • Matrix Testing :- It defines all the used variables of a particular program. In any program, variable are the elements through which values can travel inside the program. It should be as per requirement otherwise, it will reduce the readability of the program and speed of the software. Matrix technique is a method to remove unused and uninitialized variables by identifying used variables from the program.


  • Regression Testing :- Regression Testing is a type of testing that is done to verify that a code change in the software does not impact the existing functionality of the product. This is to ensure that the product works fine with new functionality, bug fixes or any changes to the existing feature. Previously executed test cases are re-executed in order to verify the impact of the change.


  • Orthogonal Array Testing or OAT :- The purpose of this testing is to cover maximum code with minimum test cases. Test cases are designed in a way that can cover maximum code as well as GUI functions with a smaller number of test cases.


Advantages of Gray Box Testing
  1. Offers combined benefits of black-box and white-box testing wherever possible.

  2. Grey box testers don't rely on the source code; instead they rely on interface definition and functional specifications.

  3. The test is done from the point of view of the user and not the designer.


Disadvantages of Gray Box Testing
  1. Since the access to source code is not available, the ability to go over the code and test coverage is limited.

  2. The tests can be redundant if the software designer has already run a test case.

  3. Testing every possible input stream is unrealistic because it would take an unreasonable amount of time; therefore, many program paths will go untested.



 


41 views0 comments

Recent Posts

See All

Commentaires


Post: Blog2 Post
  • Facebook
  • Twitter
  • LinkedIn

©2022 by A to Z QA. Proudly created with Wix.com

bottom of page