
related topics 
{math, number, function} 
{system, computer, user} 
{theory, work, human} 
{ship, engine, design} 
{rate, high, increase} 
{work, book, publish} 
{company, market, business} 

A sanity test or sanity check is a basic test to quickly evaluate whether a claim or the result of a calculation can possibly be true. The point of a sanity test is to rule out certain classes of obviously false results, not to catch every possible error. In arithmetic, for example, when multiplying by 9, using the divisibility rule for 9 to verify that the sum of digits of the result is divisible by 9 is a sanity test  it will not catch every multiplication error, however it's a quick and simple method to discover many possible errors.
In computer science, a sanity test is a very brief runthrough of the functionality of a computer program, system, calculation, or other analysis, to assure that the system or methodology works as expected, often prior to a more exhaustive round of testing.
Contents
Mathematical
A sanity test can refer to various orderofmagnitude and other simple ruleofthumb devices applied to crosscheck mathematical calculations. For example:
 If one were to attempt to square 738 and calculated 53,874, a quick sanity check could show that this result cannot be true. Consider that 700 < 738, yet 700^{2} = 7^{2}100^{2} = 490000 > 53874. Since squaring positive numbers preserves their inequality, the result cannot be true, and so the calculation was bad. The correct answer, 738^{2} = 544,644, is more than 10 times higher than 53,874, and so the result had been off by an order of magnitude.
 In multiplication, 918 × 155 is not 142135 since 918 is divisible by three but 142135 is not (digits add up to 16, not a multiple of three). Also, the product must end in the same digit as the product of enddigits 8×5=40, but 142135 does not end in "0" like "40", while the correct answer does: 918×155=142290. An even quicker check is that the product of even and odd numbers is even, whereas 142135 is odd.
 When talking about quantities in physics, the power output of a car cannot be 700 kJ since that is a unit of energy, not power (energy per unit time). See dimensional analysis.
Software development
In software development, the sanity test (a form of software testing which offers "quick, broad, and shallow testing"^{[1]}) determines whether it is reasonable to proceed with further testing.
Software sanity tests are commonly conflated with smoke tests. ^{[2]} A smoke test determines whether it is possible to continue testing, as opposed to whether it is reasonable^{[citation needed]}. A software smoke test determines whether the program launches and whether its interfaces are accessible and responsive (for example, the responsiveness of a web page or an input button). If the smoke test fails, it is impossible to conduct a sanity test. In contrast, the ideal sanity test exercises the smallest subset of application functions needed to determine whether the application logic is generally functional and correct (for example, an interest rate calculation for a financial application). If the sanity test fails, it is not reasonable to attempt more rigorous testing. Both sanity tests and smoke tests are ways to avoid wasting time and effort by quickly determining whether an application is too flawed to merit any rigorous testing. Many companies run sanity tests and unit tests on an automated build as part of their development process.^{[3]}
Full article ▸


related documents 
Computation 
Bit error ratio 
Abbreviated Test Language for All Systems 
Escape character 
Common Language Infrastructure 
Random access 
Dining cryptographers protocol 
Metcalfe's law 
Filter (Unix) 
Name server 
Entropy encoding 
XPointer 
SAX 
Poem code 
ABC (programming language) 
KLONE 
Common Language Runtime 
Binary symmetric channel 
Randomization 
Data element 
Pair programming 
SmallC 
Disassembler 
Cfront 
Relational database management system 
GNUstep 
Design of experiments 
XBasic 
Alaw algorithm 
Longitudinal redundancy check 
