Data that test all the pathways through the algorithm,
Data that test boundary conditions ‘at’, ‘above’ and ‘below’ values upon which decisions are based,
Data where the required answer is known and
Data which is outside the expected values
To find out bugs to debug the program
Desk checking an algorithm
Stepping through a coded solution line by line
Desk checking is the manual/ non-computer way of verifying the programming of algorithms/ logic prior to when they are launched. It helps programmers find bugs and errors which cause the program to run properly. This method is actually used to test pseudo-code before implementing into actual code. However, desk checking can also be used to test & evaluate written code, allowing us to refine or simply the code.
Desk checking involves taking a sample input to a function you are testing and expressing the outputs of the processes involved. This is done in direct relation to the algorithm code as each variable in it is placed into a table; where the inputs are the first few title columns (these variables can be put into any order but must ensure the output column is after them), then the rest of the variable in alphabetical order (or in order of use) follow, then finally the output variables.
The far left column is always called "Line #", implying that each consecutive row of data corresponds to that line number of the algorithm.
The table is then filled out and is then used to see if the outcome is met with the required output.
• peer checking
• structured walkthrough
There are several ways of testing algorithms with data in a algorithm such as
Flowcharts
To avoid errors in coding, developers plan using flowcharts. The developer will check the method by desk checking with a variety of data. This helps the software to be checked in every case. It makes use of symbols which are interconnected to represent the flow of information and processing.
Automated Testing
Automatic software is, indeed, automatic research. This differs from manual testing where a human being is responsible for testing the functionality of the software.
Desk checking is the method of manually proofreading a program’s source code. The advantage of desk checking is to pinpoint hidden bugs that automated applications cannot find on their own.
Peer checking is the interaction between two individuals working together to prevent errors in the code and also develop a more efficient
code.
Boundary testing is the process of testing between extreme ends or boundaries between partitions of the input values.
Integration testing is where modules are combined and tested if they are functional, system testing which validates the fully integrated software product, and acceptance testing which determines if the requirements of a specification are met.
Data Testing:
Start by making flowcharts, then code
When checking, check smallest available dataset
Testing on a large data set
Check sequential patterns, might cause an error
comparing different solutions to the same problem
different interpretations of the design specifications
the advantages and disadvantages of different approaches to a solution
checking the solution to see if it meets the original design specifications
the importance and use of user feedback
the importance of checking that social and ethical perspectives have been appropriately addressed