Black Box Software Testing Puts Software Through Its PacesSoftware testing is the process of running different tests to determine how, if specific software operates, and if it functions as it should. It involves checking on the security, functionality, correctness and quality to assure the software is ready to go on the market. There are different manual and automated software tests that are done on the software, sometimes with the use of software test tools. One very important method is black box software testing. When a testing engineer does software testing, they are looking at different point of views in the software. The views are either the interior or the exterior of the software. Black box testing is a term used to describe the external view of the software. Testing of software is more than just running the program to see if it works. Many different areas need to be tested to assure that the program not only works, but also that it will continue to run efficiently under different scenarios. Black box testing gives the engineer the ability to test different phases of the software. Black box testing consists of many different kinds of testing such as functional, stress testing, load testing, smoke testing, and regression testing to name just a few. Functional testing is just as it name applies and tests to determine if the software functions as it's expected. Stress testing is to determine the quality of the software application under extreme pressure. In other words, additional functions are put on the software to see where its breaking point is. If there is a memory leak or race condition, it will show up during the stress test. A race condition is if there are two tests running and a conflict occurs, but runs fine if each test is performed separately. Load testing involves seeing how heavy of a load (many users logged on, mail servers, etc) the software can carry before it starts running slowing. They want to make sure that the software will load correctly regardless of if there are many users on at the same time. Smoke testing, also called sanity testing, is another way of determining how many different applications can function correctly before it smokes. Regression testing is when they are testing the product for the second time to see if a problem was fixed. One aspect of the regression testing is to determine if a bug was fixed, and if so, did a new bug develop. Another form of black box software testing is ad-hoc testing, which is similar to exploratory testing. Ad-hoc testing is almost a method of testing the other tests to determine what needs to be tested. Often when the software is almost complete, the ad-hoc test is used to determine if any other tests need to be performed. |