Black Box testing


Black box testing

Black box testing is a testing technique in which functionality of the application is tested, without looking at the internal code structure, implementation details and knowledge of internal paths of the software.

                                            


In black box testing, we just focus on the inputs and output of the software system without bothering about the internal knowledge of the software program.

How to do black box testing
  • Initially, the requirements and specifications of the system are examined.
    Software tester constructs test cases with the selected inputs.
    The test cases are execute.
    Tester determines expected outputs for all those inputs.
    Software tester compares the actual outputs with the expected outputs.
    Defects if any are fixed and re-tested.

Types of black box testing
·         Functional testing: This black box testing type is related to the functional requirements of a system; it is done by software testers.
·         Non-functional testing: This type of black box testing is not related to testing of specific functionality, but non-functional requirements such as performance, scalability, usability.
·         Regression testing: Regression testing is done after codes fixes, to check the new code has not affected the existing code.

Black box testing and software development life cycle

Black box testing has its own life cycle called software testing life cycle and it is relative to every stage of Software development life cycle of software engineering.

·         Requirement: This is the initial stage of SDLC. And in this stage, a requirement is gathered.

·         Testing planning and Analysis: Testing types applicable to project are determined. A test plan is created which determines possible project risks and their mitigation.

·         Design: In this stage, Test cases are created on the basis of software requirement documents.

·         Test execution: In this stage, test cases prepared are executed. Bugs if any are retested and fixed.

Test design Techniques

·         Decision table testing: A decision table is a tabular representation of inputs versus rules/cases/test conditions.
     Decision table testing is important when it is required to test different combinations.

·         All pairs testing: All pairs testing is used to test all possible discrete combination of values. This combinational is used for testing the application that uses checkbox input, radio button input, list box, text box etc.

·         Equivalence partitioning testing: It is a software testing technique that divides the input test data of the application under test into each partition at least once of equivalent data from which test cases can be derived. An advantage of this approach is it reduces the time required for performing testing of a software due to less number of test cases.
·     Boundary value analysis: This technique is used to reduce an infinite number of test cases to a finite number, while ensuring that the selected test cases are still effective test cases which will cover all possible scenarios.
·         Error guessing: It is basically an experience-based testing technique where the test analyst uses his / her experience to guess the problematic areas of the application. It is a type of black-box testing technique and can be viewed as an unstructured approach to software testing.
 
Use case testing: Use case testing is defined as software testing technique, that helps identify test cases that cover the entire system, on a transaction by transaction basis from start to the finished point.


Comments