Thursday 4 April 2013

Black box testing and its advantages and disadvantages

What is black box testing ?

Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/design/implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional.

Definition by ISTQB :
Black box testing: Testing, either functional or non-functional, without reference to the internal structure of the component or system. Black box test design technique: Procedure to derive and/or select test cases based on an analysis of the specification, either functional or non-functional, of a component or system without reference to its internal structure.

 Black-Box-Testing

This method is named so because the software program, in the eyes of the tester, is like a black box; inside which one cannot see.

This method of attempts to find errors in the following categories:

  • Incorrect or missing functions
  • Interface errors
  • Errors in data structures or external database access
  • Behavior or performance errors
  • Initialization and termination errors


Example :
A tester, without knowledge of the internal structures of a website, tests the web pages by using a browser; providing inputs (clicks, keystrokes) and verifying the outputs against the expected outcome.

black-box-testing

Black Box Testing Techniques :

Following are some techniques that can be used for designing black box tests.

  • Equivalence partitioning
  • Boundary Value Analysis
  • Cause Effect Graphing

Equivalence partitioning

Equivalence Partitioning is a software test design technique that involves dividing input values into valid and invalid partitions and selecting representative values from each partition as test data.

Boundary Value Analysis

Boundary Value Analysis is a software test design technique that involves determination of boundaries for input values and selecting values that are at the boundaries and just inside/outside of the boundaries as test data.

Cause Effect Graphing

Cause Effect Graphing is a software test design technique that involves identifying the cases (input conditions) and effects (output conditions), producing a Cause-Effect Graph, and generating test cases accordingly.

Advantages of Black Box Testing :

Tests are done from a user’s point of view and will help in exposing discrepancies in the specifications
Tester need not know programming languages or how the software has been implemented
Tests can be conducted by a body independent from the developers, allowing for an objective perspective and the avoidance of developer-bias
Test cases can be designed as soon as the specifications are complete

Disadvantages of Black Box Testing :

Only a small number of possible inputs can be tested and many program paths will be left untested
Without clear specifications, which is the situation in many projects, test cases will be difficult to design
Tests can be redundant if the software designer/ developer has already run a test case.
Ever wondered why a soothsayer closes the eyes when foretelling events? So is almost the case in Black Box Testing.

Click to know about White box testing and Gray box testing and Differences between Black Box and White Box Testing and Compare Quality-Assurance, Quality-Control, Testing

20 comments:

  1. That's really a nice post. According to me an experienced tester often uses this approach. You can see more about this here- http://blog.testing-whiz.com/2011/11/understanding-white-box-testing-and.html

    ReplyDelete
  2. Selenium WebDriver fits in the same role as RC did, and has incorporated the original 1.x bindings. It refers to both the language bindings and the implementations of the individual browser controlling code. This is commonly referred to as just "WebDriver" or sometimes as Selenium 2.
    Selenium Training Institute in Chennai |
    Selenium Training Center in Chennai

    ReplyDelete
  3. Hi,
    Thanks for sharing such an informative blog. I have read your blog and I gathered some needful information from your blog. Keep update your blog. Awaiting for your next update.

    software testing training

    ReplyDelete
  4. I really enjoy the blog.Much thanks again. Really Great. selenium Online Training Bangalore

    ReplyDelete
  5. Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.

    java training in chennai | java training in bangalore

    java online training | java training in pune

    java training in chennai | java training in bangalore

    ReplyDelete
  6. Thanks for the good words! Really appreciated. Great post. I’ve been commenting a lot on a few blogs recently, but I hadn’t thought about my approach until you brought it up. 

    python training in chennai | python training in bangalore

    python online training | python training in pune

    python training in chennai | python training in bangalore

    ReplyDelete
  7. Wonderful article, very useful and well explanation. Your post is extremely incredible. I will refer this to my candidates...
    python online training
    python training in OMR
    python training course in chennai

    ReplyDelete
  8. This is an awesome post.Really very informative and creative contents. These concept is a good way to enhance the knowledge.I like it and help me to development very well.Thank you for this brief explanation and very nice information.Well, got a good knowledge.
    devops online training

    aws online training

    data science with python online training

    data science online training

    rpa online training

    ReplyDelete
  9. A universal message I suppose, not giving up is the formula for success I think. Some things take longer than others to accomplish, so people must understand that they should have their eyes on the goal, and that should keep them motivated to see it out til the end.
    Microsoft Azure online training
    Selenium online training
    Java online training
    uipath online training
    Python online training

    ReplyDelete
  10. Great post i must say and thanks for the information. Education is definitely a sticky subject. However, is still among the leading topics of our time. I appreciate your post and look forward to more.
    online course

    ReplyDelete
  11. This blog will help to get more ideas. This is very helpful for Software Testing learners. Thank you for sharing this wonderful site. If someone wants to know about Software QA services this is the right place for you Software QA Companies.

    ReplyDelete
  12. Title:
    Big Data Training in Chennai | Infycle Technologies

    Description:
    Are you looking for Big Data training in Chennai with placement opportunities? Then we, Infycle Technologies are with you to make your dream into reality. Infycle Technologies is one of the best Big Data Training Institute in Chennai, which offers various programs along with Big Data such as Oracle, Java, AWS, Hadoop, etc., in complete hands-on practical training with trainers, those are specialists in the field. In addition to the training, the mock interviews will be arranged for the candidates, so that they can face the interviews with the best knowledge. Of all that, 100% placement assurance will be given here. To have the words above in the real world, call 7502633633 to Infycle Technologies and grab a free demo to know more.

    Best softare trainig inChennai

    ReplyDelete
  13. Some may stag in Interviews!!! OOPS!! More than 50% of students do this in their career. Instead, do Hadoop Training in Chennai at Infycle. Those students can easily clear this Interview session because more than 5 times at INFYCLE practicing mock-interview sessions, Hence students are Getting out of their interview fear.

    ReplyDelete

Share your feedback and queries here. Your feedback are more valuable to us!