Test bench
From Wikipedia, the free encyclopedia
A test bench is a virtual environment used to verify the correctness or soundness of a design or model. e.g. Software product.
The term has its roots in the testing of electronic devices, where an engineer would sit at a lab bench —furnished with tools of measurement and manipulation, such as oscilloscopes, millimeters (to measure voltage, amperage, and resistance), soldering irons, wire cutters, and so on— and the engineer use to verify the correctness of a model (say an electronic component) with the help of these tools.
In context of software engineering the test bench refers to an environment in which the testing of the product under development is carried out with the help of various testing tools which are well arranged and connected over the testbench and the results are documented.
A test bench or testing workbench has four components.
1.INPUT: The entrance criteria or deliverables needed to perform work
2.PROCEDURES TO DO:The tasks or processes that will transform the input into the output
3.PROCEDURES TO CHECK:The processes that determine that the output meets the standards.
4.OUTPUT:The exit criteria or deliverables produced from the workbench
[edit] An example of the software testbench
The tools used to automate the testing process in the above testbench perform the following functions
Test manager : It manages the running of program tests. The test manager keeps track of test data, expected results and program facilities tested.
Test data generator : It generates test data for the program to be tested.
Oracle :It generates predictions of the expected test results. Oracle may be either previous program versions or prototype systems.
File comparator : It compares the results of the program tests with the previous test results and reports the differences between them in a document.
Report generator : It provide report definition and generation facilities for the test results.
Dynamic analyzer : It adds code to a program to count the no of times each statement has been executed. Generates execution profile for the statements to show the no of times they get executed in the program run.
Simulator : It simulates the testing environment where the software product is to be used.