Black Box Testing

BLACK BOX TESTING is  as defined as a testing technique in which functionality of Application  is tested without looking at the internal code and details of the software. This type of testing is based entirely on software requirements and specifications.

In BlackBox Testing we just focus on inputs and output of the software system without bothering about internal knowledge of the software.


This can be both Functional or Non-Functional


FUNCTIONAL TESTING:

In functional testing actions or functions of the system are being tested by providing the input and comparing the actual output with the expected output.

Few major types of Functional Testing are:

  • Smoke Testing
  • Sanity Testing
  • Integration Testing
  • System Testing
  • Regression Testing
  • User Acceptance Testing

NON- FUNCTIONAL TESTING:

There are several non-functional aspects as well that are required to be tested to improve the quality and performance of the application.

Few major types of Non-Functional Testing include:

  • Usability Testing
  • Load Testing
  • Performance Testing
  • Compatibility Testing
  • Stress Testing
  • Scalability Testing

How to do BlackBox Testing

  • Initially, the requirements and specifications of the system are examined.
  • Tester chooses valid inputs (positive test scenario) to check if softwhere or application processes them correctly. Also, some invalid inputs (negative test scenario) are chosen to verify that the application or Software  is able to detect them.
  • Tester make a note of expected outputs for all those inputs.
  • Software tester constructs test cases with the selected inputs.
  • The test cases are executed.
  • Software tester compares the actual outputs with the expected outputs.
  • Defects/ Bug if any are reported  and fixed and finally re-tested.

Tools used for Black Box Testing:

Tools used for Black box testing largely depends on the type of black box testing you are doing.

Black Box Testing Techniques-

  • Equivalence Partitioning
  • Boundary Value Analysis
  • Decision Table Testing
  • State Transition Testing
  • Error Guessing
  • Graph-Based Testing Methods
  • Comparison Testing

Advantages and Disadvantages

Advantages

  • The tester need not have a technical background. It is important to test by being in the user's shoes and think from the user’s point of view.
  • Testing can be started once the development of the project/application is done. Both the testers and developers work independently without interfering in each other’s space.
  • It is more effective for large and complex applications.
  • Defects and inconsistencies can be identified at the early stage of testing.

Disadvantages

  • Without any technical or programming knowledge, there are chances of ignoring possible conditions of the scenario to be tested.
  • In a stipulated time there are possibilities of testing less and skipping all possible inputs and their output testing.
  • A Complete Test Coverage is not possible for large and complex projects.



Comments

Popular posts from this blog

SOFTWARE DEVELOPMENT LIFE CYCLE MODELS (SDLC MODEL)

DIFFERENCE BETWEEN DEFECT , BUG, ERROR AND FAILURE

Software Testing Life Cycle (STLC)?