Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
A desk check is an informal non-computerized or manual process for verifying the programming and logic of an algorithm before the program is launched. A desk check helps programmers to find bugs and errors which would prevent the application from functioning properly. Although a useful technique for spotting errors, modern debugging applications and tools have made desk checks less relevant and not as essential as they previously were.
A desk check focuses on the logic and value of the variables. This is quite different from a test plan, which does not focus on the internal workings and logic, and rather mostly focuses on inputs and outputs required by the application. A desk check is performed with the help of a table with columns for pseudo-code line number column, condition column, input/output column and a column for variables. The pseudo-code line number column helps in specifying the line or lines being executed. The condition column helps in the showing the working when evaluating the conditions. The input/output column helps in showing the inputs and outputs, and helps in evaluating the input received by the user and the output displayed by the logic. The column for variables helps in evaluating the calculations using variables. The programmer/designer/tester starts with some possible inputs and walks through the algorithm line by line. The lines are assigned line numbers and proceed with each one taking into account the change in values for variables. All information is captured in table columns. The evaluation is usually done with the help of pen/pencil and paper, and is similar to proofreading.
There are many benefits associated with desk checking. It can find and expose issues and errors with the algorithm. It also helps in verifying that the algorithm performs as intended to the designer or programmer. It is a fast and inexpensive technique. It can help in identifying errors in logic at early stages of evaluation.
A desk check is not foolproof. It is the duty of the designer/programmer to make sure to have traversed through all possible paths of the logic and make use of every data set that is required. Desk checking is subject to human error, as the evaluator needs to understand requirements before evaluating the logic.