The complete guide to Black box testing

TestingThe complete guide to Black box testing

Sometimes it’s asked whether we can find all bugs and errors of a software? Unfortunately, the answer is no, even for simple apps. In general, it is impractical and impossible to find all the errors of a software. This fundamental testing rule, affects cost of testing and based on it the tester should make proper assumptions about the software under test, and it will affect the way test cases created and designed.

Due to the mentioned issues, tester should establish some strategies before beginning the work. One of the most common testing strategies is Black Box Testing.

In this article we will check out together:

What is Black Box Testing?

One of the important testing strategies is Black Box Testing also known as data driven, input/output driven testing. To use this strategy, tester is viewing the software as a black box. Her goal is completely unconcerned about internal behaviour of the software and structure of the app. Instead, tester will focus on the circumstances the software will behave incorrectly regarding the software specification.

Therefore test data is gathered from the software specification, without taking into consideration how the application has been developed.

In Black box testing approach, the criterion for finding all the errors in the app is to present exhaustive input values, making use of every possible input as a test case. You may wonder why this should happen. As the software is a black box and tester have no idea how the app is developed, there is no guarantee if the app works correctly with input: 3 to also work fine with input: 4. If the tester try to do it, it will come to an indefinite number of test cases which is impossible.

An exhaustive input testing is impossible as

  • You can’t guarantee a software is bug free
  • It will cost a lot to test exhaustively

For this reason, one approach is to use only lower than, equal to minimum valid value, between min and max valid value, and higher than and equal to maximum valid values. In that way tester will decrease the number of test cases in each component significantly.

Tips in black box testing

  • Tester will provide input values based on software specifications, and it is recommended to test the software in the beginning phases of development
  • Test cases should include both Positive and Negative test cases
  • Tester can use different testing techniques such as: equivalent division, cause-effect graph, error estimation and etc
  • If the bugs are more than the expected (usually when over 50% of test cases failed), testing will terminate and software will be returned back to dev team and testing process will start again after software major bugs repaired and is ready for testing.

Black Box test case design

In black box testing test cases are getting created based on software specification, requirements, design arguments and any other related documentation. Test cases can cover both functional and non functional testing. Testing is run by testing team and bugs should resolved by dev team.

Techniques in black box testing

Here’s a list of techniques which can be used in black box testing:

  • Boundary value technique
  • State transition technique
  • Cause effect technique
  • Decision table technique
  • Equivalence partitioning technique
  • Use case technique
  • Error guessing technique

Pros and Cons of Black Box Testing

As every testing method black box testing also has pros and cons and it’s up to test manager to decide which method and technique is suitable for a project based on the resources and situations.

Here’s a couple of pros and cons of black box testing:

Pros

  • Programming, technical knowledge and IT skills are not necessary
  • Testing can be outsourced
  • Less complex testing process
  • Internal knowledge of the software is not needed

Cons

  • Root cause of the issue can be detected only by developers
  • Prioritization is so important and hard to prioritize

LEAVE A REPLY

Please enter your comment!
Please enter your name here