Print Page | Close Window

Black box testing......

Printed From: One Stop Testing
Category: Types Of Software Testing @ OneStopTesting
Forum Name: Functional Testing @ OneStopTesting
Forum Discription: Discuss All that is need to be known about Functional Software Testing and its Tools.
URL: http://forum.onestoptesting.com/forum_posts.asp?TID=6556
Printed Date: 23Dec2024 at 4:13pm


Topic: Black box testing......
Posted By: Mithi25
Subject: Black box testing......
Date Posted: 06Jul2009 at 12:20am

TongueTongueBlack box testing takes an external perspective of the test object to derive test cases. These tests can be functional or non-functional, though usually functional. The test designer selects valid and invalid input and determines the correct output. There is no knowledge of the test object's internal structure.


This method of test design is applicable to all levels of software testing: unit, integration, functional testing, system and acceptance. The higher the level, and hence the bigger and more complex the box, the more one is forced to use black box testing to simplify. While this method can uncover unimplemented parts of the specification, one cannot be sure that all existent paths are tested.


  • black box testing should make use of randomly generated inputs (only a test range should be specified by the tester), to eliminate any guess work by the tester as to the methods of the function 
  • data outside of the specified input range should be tested to check the robustness of  the program 

  • boundary cases should be tested (top and bottom of specified range) to make sure the highest and lowest allowable inputs produce proper output
  • the number zero should be tested when numerical data is to be input
  • http://www.onestoptesting.com/blackbox-testing/strategies-techniques.asp# - - stress testing should be performed (try to overload the program with inputs to see where it reaches its maximum capacity), especially with real time systems
  • http://www.onestoptesting.com/blackbox-testing/strategies-techniques.asp# - - crash testing should be performed to see what it takes to bring the system down
  • test monitoring tools should be used whenever possible to track which tests have already been performed and the outputs of these tests to avoid repetition and to aid in the software maintenance
  • other functional testing techniques include: transaction testing, syntax testing, domain testing, logic testing, and state testing.
  • finite state machine models can be used as a guide to design functional tests
  • According to Beizer the following is a general order by which tests should be designed:
  1. Clean tests against requirements.

  2. Additional structural tests for branch coverage, as needed.
  3. Additional tests for data-flow coverage as needed.
  4. Domain tests not covered by the above.
  5. Special techniques as appropriate--syntax, loop, state, etc.
  6. Any dirty tests not covered by the above.

Functional Testing:

In this type of testing, the software is tested for the functional requirements. The tests are written in order to check if the application behaves as expected.


Stress Testing:

The application is tested against heavy load such as complex numerical values, large number of inputs, large number of queries etc. which checks for the stress/load the applications can withstand.

Load Testing:

The application is tested against heavy loads or inputs such as testing of web sites in order to find out at what point the web-site/application fails or at what point its performance degrades.

Ad-hoc Testing:

This type of testing is done without any formal Test Plan or Test Case creation. Ad-hoc testing helps in deciding the scope and duration of the various other testing and it also helps testers in learning the application prior starting with any other testing.

Exploratory Testing:

This testing is similar to the ad-hoc testing and is done in order to learn/explore the application.

Usability Testing:

This testing is also called as ‘Testing for User-Friendliness’. This testing is done if User Interface of the application stands an important consideration and needs to be specific for the specific type of user.

Smoke Testing:

This type of testing is also called sanity testing and is done in order to check if the application is ready for further major testing and is working properly without failing up to least expected level.

Recovery Testing:

Recovery testing is basically done in order to check how fast and better the application can recover against any type of crash or hardware failure etc. Type or extent of recovery is specified in the requirement specifications.

Volume Testing:

Volume testing is done against the efficiency of the application. Huge amount of data is processed through the application (which is being tested) in order to check the extreme limitations of the system.

User Acceptance Testing:

In this type of testing, the software is handed over to the user in order to find out if the software meets the user expectations and works as it is expected to.


Alpha Testing:

In this type of testing, the users are invited at the development center where they use the http://www.onestoptesting.com/blackbox-testing/strategy-two.asp# - - application and the developers note every particular input or action carried out by the user. Any type of abnormal behavior of the system is noted and rectified by the developers.

Beta Testing:

In this type of testing, the software is distributed as a http://www.onestoptesting.com/blackbox-testing/strategy-two.asp# - - beta version to the users and users test the application at their sites. As the users explore the software, in case if any exception/defect occurs that is reported to the developers.

Tongue
TongueTongue




-------------
http://www.quick2sms.com - Send Unlimited FREE SMS to Any Mobile Anywhere in INDIA,
Click Here



Print Page | Close Window